148896

HSP CENTER BBS


[トップに戻る] [留意事項] [ワード検索] [過去ログ] [管理用]
お名前
Eメール
タイトル
メッセージ
参照先
イメージ   [イメージ参照]
暗証キー (英数字で8文字以内)
投稿キー (投稿時 を入力してください)
文字色

お知恵をお貸し下さい 投稿者:グルミット 投稿日:2008/04/30(Wed) 17:37 No.4324  
neko.gifHSP初心者のグルミットと申します

最近こちらのサイトを見つけまして、楽しく読ませて頂いてます♪

「セーブ・ロード」に関する質問です
ある方が作られたゲームソフフトをHSP2.61で再編集し、最近Vector様にて公開させて頂いております。内容はF1に関するシミュレーションゲームみたいなものです

↓こちらです
http://www.vector.co.jp/soft/win95/game/se453009.html

最近、ダウンロード頂いた方々から
「セーブ・ロード機能がほしい」
という要望をよく頂きます。・・・でこちらの掲示板等や他のサイトさんにてセーブ・ロードに関する説明を読ませて頂き、勉強してる「つもり」なのですが、正直チンプンカンプンです(涙)

上記のソフトはGAMEの最後に
○ 自分が所属したチーム名
○ 年ごとの成績
○ 契約した際の契約金を表示
等を年毎に成績表示できるようにしてます。
こちらの画像をご参照下さい
http://www2.spline.tv/bbs/d_life/?command=GRPVIEW&num=249

上記の履歴を残すために
sdim teamrk,36,25 ;所属チーム名称履歴
sdim engrk,36,25 ;搭載エンジン名履歴
dim rankrk,25 ;年間ランキング履歴
dim pointrk,25 ;獲得ポイントの履歴
dim consrk,25 ;所属チームの全体の獲得ポイント履歴
dim keiyakukinrk,25 ;契約金履歴
・・・こんな感じにしてます


本題に入ります
@これら「dim」や「sdim」の変数をセーブ・ロードする方法ってどうすればよいのでしょうか?
ご教授下さい

A保存したい履歴が多数存在してるのですが、一つのファイルにまとめて保存したりロードしたりできるでしょうか?
できるのでしたらその方法をお教え頂けると非常に助かります

皆様のお知恵をお貸し下さい
宜しくお願い致します


Re: お知恵をお貸し下さい うすあじ - 2008/05/01(Thu) 00:50 No.4325  

ushi.gifこんにちは、うすあじです。
複数の変数を保存するには、複数の変数をテキストに変換して保存すると便利です。

・参考ページ
ゲームの得点を保存しよう!
http://hspcenter.com/hspsc2/hspj5.html

HSP3なら、もっと簡単に保存できます。
最初は、現在のゲームとは別のファイルで、単純なスクリプトで実験してみてください。

では、がんばってください。


Re: お知恵をお貸し下さい グルミット - 2008/05/01(Thu) 11:27 No.4326  

neko.gifうすあじさんこんにちわ
返事頂きまして、ありがとうございます♪

HSP3は優れものそうですね・・・・
まだ2.61もまともにマスターしてないので
なかなかHSP3へは踏み込み難い感ありますが、
いつかはトライしてみます♪

ご案内頂いたアドの内容を読ませて頂いたのですが
すんごくヒントになりました♪
ありがとうございました!

恐らくまたお知恵をおかりすることがあるかと思います
懲りずにご教授頂けると嬉しいです


初めまして。 投稿者:LAGOUN 投稿日:2008/04/16(Wed) 07:01 No.4321  
hituji.gif初めまして、早速ですが質問があります。

   #include "hspda.as"

dim sc,10 ;スコアデータ
sdim nm,30,10 ;元の名前データ
sdim nm2,30,10 ;ソート後の名前データ
alloc sd,1000 ;データ読みこみ書きこみ用バッファ

datamax=5

;データファイルのチェック
;存在する場合は読みこむ
;ない場合はこのスクリプト内のデータを使う

chdir exedir
onerror 1
bload "tokuten.txt",sd
ernum=err
onerror 0

if ernum=12:goto *top1 ;12 is ファイルが無い

;読みこんだデータを配列に変換
notesel sd
repeat datamax
noteget a,cnt
strmid b,a,0,8 ;数字部分
strmid c,a,8,30 ;30の部分は文字の最大値、とりあえず30文字
int b:sc.cnt=b
nm.cnt=c
loop
goto *top2
*top1
sc.0=100:nm.0="薄味百"
sc.1=7000:nm.1="薄味7千"
sc.2=5000:nm.2="薄味五千"
sc.3=200:nm.3="薄味二百"
sc.4=9999:nm.4="薄味最大"
*top2
gosub *name_sort ;本当はソートされたものが入っているはずだけど一応ソート
gosub *name_put ;内容を表示

mes " "

testsc=300 ;試しに得点を300としてやってみます
mes "得点"+testsc

;最小値と比較
if sc.4>testsc:goto *name_end ;最小値より小さい場合は終了

mes "名前を入力してください"
nowname=""
input nowname,150,25
button "OK",*name_add
stop

*name_add

cls

sc.4=testsc
nm.4=nowname
gosub *name_sort ;最終的にソート
gosub *name_put ;表示

;ここから保存
sd=""
repeat datamax
s=sc.cnt
str s,8 ;数字の最大桁数
sd+=s+nm.cnt+"\n"
loop
;mes sd
strlen sdl,sd
bsave "tokuten.txt",sd,sdl
stop

*name_end
mes "ランキング5位以内に入りません。"
stop

*name_put
repeat datamax
p=" "+sc.cnt+":"+nm.cnt
mes p:loop
return
*name_sort
sortval sc,1 ;数値により大きい順に
repeat datamax
sortget n,cnt
nm2.cnt=nm.n
loop
repeat datamax
nm.cnt=nm2.cnt
loop
return

stop

HSP教室に書いてあるスクリプトなのですが、
このスクリプトではHSP2では動作するのですが、
HSP3では動作できません。
(パラメータが無効ですとなります)
(ちなみにskipper→onerrorに変えました)
大変恥ずかしい質問なのですが、よろしくお願いします。

PS いつもうすあじ様の本にはお世話になっております
   


Re: 初めまして。 うすあじ - 2008/04/18(Fri) 00:52 No.4322  

ushi.gif書き込みありがとうございます。
HSP3用にすぐに直せるかなぁと思って、ちょっと試したところ結構書き換えが必要なようです。
時間があればもっとキレイに書き直したいんですが、しばらくは個人的に忙しいので、もうしわけないですが、文章部分を参考にして、ご自分で作ってください。
では、お元気です。


Re: 初めまして。 LAGOUN - 2008/04/18(Fri) 06:05 No.4323  

hituji.gifご返信ありがとうございます!
分かりました。スクリプトを参考にさせてもらって
自分で直してみたいと思います。そしていろいろ
それを応用して自分のスクリプトで活用できるように
頑張りたいと思います


日頃気になっている事 投稿者:rrr 投稿日:2008/04/01(Tue) 18:45 No.4318  
hituji.gifすみません、HSPにて日頃から気になっている事について、
2点程質問をさせて頂きます。m(_ _)m

1.if (a):~の謎

よく他の方のスクリプトにて、

if a:mes "test"

や、
if (a):mes "test"

という書き方を見かけるのですが、これは、

if a!0:mes "test"

という意味と同じなのでしょうか?
そうだとすれば、なぜわざわざ読みにくい書き方をするのかが解らないのですが…
(簡単に書くためでしょうか?)

2.wait と await について

スクリプトエディタにてF1キーを押して出てくる、waitに関するヘルプによると、
>p1に0を指定した場合、 または省略をした場合は、前回と同じ時間だけ待ちま
す。
とあるのですが、


wait 100
repeat 10
mes "test"
wait
loop

と、

wait 100
repeat 10
mes "test"
wait 0
loop

では動作に違いがあるように感じます。
その理由を教えて頂きたいです。

またお手数でなければ、
wait
await
wait 0
await 0
の使い分け方についても詳しく教えて頂きたいのですが…

awaitとwaitのヘルプを読んでいたのですが、
頭が混乱してきて解らなくなってしまいました…


Re: 日頃気になっている事 うすあじ - 2008/04/04(Fri) 00:32 No.4319  

ushi.gifこんにちは、うすあじです。
最初に書いておきますが、HSPは私が作ったわけではないので、詳しい仕様に関してはわかりません。
メルマガなどで、おにたまに直接聞くといいかもしれません。

さて1から

1.if (a):~の謎

これは結局、HSPが式を解析して実行するプロセスに原因があります。

if (a=0)

この様な式は、式の結果はなんらかの数値になります。
では、表示してみましょう

a=0
mes (a=0)

True(真)の場合、結果は1でした。

a=1
mes (a=0)
False(偽)の場合は0でした。

今度は式のいちに値をいれちゃいます。

if (1):mes "hit 1"
if (0):mes "hit 0"
if (-1):mes "hit -1"

1と-1の場合、表示されます。
0(偽)でなければ、真として処理するようです。
つまり、カッコのなかが0以外なら、ifの中身が実行されるわけです。

この用な仕組みでプログラム言語が動いてるわけで、読みにくい書き方をするのは、各人の気分しだいなので、どちらが良いとも悪いともいえません。
その方がシンプルだったり便利だったり、省メモリだったりする場合もあるかもしれません。

2のwaitについてですが、
waitは単純な時間待ちで単位は10ミリ秒。
awaitは一定時間毎の待ち時間をつくる命令で1ミリ秒単位です。
0の指定についてはよくわかりませんが、ヘルプに書いてるとうりに完全に動いていない可能性もあります。
いろいろ調べてみてください。
では、お元気で。


Re: 日頃気になっている事 rrr - 2008/04/04(Fri) 02:58 No.4320  

hituji.gifうすあじ様、丁寧な解説を頂きましてありがとうございます。
いつもHPの講座や本でも大変お世話になっておりますm(_ _)m

> これは結局、HSPが式を解析して実行するプロセスに原因があります。
1については、最初ソースを見たときに意味が解らず、
実験結果から0以外は真の意味なのかな…と推測しておりましたが、
今まで何故そうなるのかが解りませんでした。

疑問が解けただけでなく、
プロセスに着目して考えるという、自分の視野が一歩広まった気がします。
ありがとうございました。

> 最初に書いておきますが、HSPは私が作ったわけではないので、詳しい仕様に関してはわかりません。
> メルマガなどで、おにたまに直接聞くといいかもしれません。

> ヘルプに書いてるとうりに完全に動いていない可能性もあります。
> いろいろ調べてみてください。
はい、色々実験してみます。
自分で調べてみてまだ気にかかる様であれば、
おにたま様のメルマガの方へも質問させて頂きたいと思います。


めちゃくちゃ初心者です。 投稿者:K.N 投稿日:2008/03/28(Fri) 20:17 No.4315  
risu.gifさっきまでこのサイトでHSP教室の説明を見ていたのですが
分からない事がありまして、質問させていただきます。
本当にめちゃくちゃ超初心者な質問に付き合ってくれると嬉しいです。
HSP教室の目次、そのプログラムを作ってみよう(2)について。
押すたびに表示される数が増えるということで、

*up_year
year+=1
print year
stop

の部分・・・year+=1になるのはなぜでしょうか?
    a=year+1
    print a
で・・・と思ったら、一回だけしか増えないということは分かります・・・が、
どうして押すたびに増えるという仕組みがyear+=1になるのか分かりません。
変な質問に答えて下さると飛び上がって嬉しがります(笑)
早いお返事をお待ちにしております。(^^)



Re: めちゃくちゃ初心者です。 うすあじ - 2008/03/28(Fri) 23:10 No.4316  

ushi.gifこんにちは、うすあじです。

year+=1

これは

year=year+1

と同じ意味です。
増えた値がyearにはいるので、最初に1なら次は2と増えていきます。
1回目は1997なら

year=1997+1

で、yearは1998になります。
次に動いたら

year=1998+1

というわけです。
算数などと違って、プログラムでは「=」は、式の右を左側にいれる、という意味があります。


Re: めちゃくちゃ初心者です。 K.N - 2008/03/30(Sun) 21:35 No.4317  

risu.gif質問に答えて下さってありがとうございました。
これからもHSPに慣れるように頑張っていきたいと思います。
では失礼しました(^^)


サーバーからクライアントにファイルを送りたい! 投稿者:ヨシオ 投稿日:2008/03/12(Wed) 00:18 No.4313  
hituji.gifhspsockのサンプルでサーバーからクライアントに文字列を送るのがありますが、ファイルをサーバーからクライアントにを送ることは可能でしょうか?

ファイルを一回テキストファイルにしてテキストエリアにコピペして送ったりしてみましたが、画像ファイルとかになるとどうも重くてうまくいきません。


Re: サーバーからクライアントにファイルを送りたい! とおりすがり - 2008/03/12(Wed) 13:53 No.4314  

kame.gifサーバーとの通信は十分可能ですよ。またAPIからIEの機能を使えば逆(FTP転送)も出来るみたいですね。
ただ、そういうことを好き勝手にやろうとすると、セキュリティソフトになんか言われるのであんまり面白くありませんけど。

| 1 | 2 | 3 | 4 | 5 | 6 |

NO: PASS:

- KENT & Dual Sana -