HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0730
なぞモジュールって意味不明3未解決


なぞ

リンク

2006/7/30(Sun) 14:55:08|NO.1634

モジュールってセーブとかロードってできますか?
下のプログラムでエラーになります。
モジュールが勉強できるHPとかもあったら教えてください。



gosub *save
gosub *load
stop

#module a x,y,z,s
#modinit int p1,int p2,int p3,str s1
x=p1:y=p2:z=p3:s=s1
return
#modfunc showval
mes ""+x+" "+s
return
#global


*load
bload "test1.txt",z

foreach z
showval z(cnt)
loop
return
*save
repeat 10
newmod v,a,cnt,2,3,"あいうえお"
loop

foreach v
showval v(cnt)
loop
bsave "test1.txt",v
return



この記事に返信する


kz3

リンク

2006/7/30(Sun) 15:14:31|NO.1636

>モジュールってセーブとかロードってできますか?
質問を読み返してください。
やりたいのは「モジュール」のセーブ/ロードですか?

モジュールにはセーブとかロードといった概念はありません。

やりたいのはモジュール変数( モジュール名の横に並べた変数 )の値をファイルに書き込む
といったことではありませんか?

モジュール変数のファイル読み書き命令を #modfunc で定義すればいいと思います。



なぞ

リンク

2006/7/30(Sun) 15:49:18|NO.1638

やりたいことはその通りです。
モジュール変数って一括して読み書きできないんですか?
RPGとかでキャラの名前、能力、装備みたいなものを
まとめて管理するのに便利そうだと思ったんですが、
逆に面倒臭いものなんですね?



Drip

リンク

2006/7/30(Sun) 19:20:38|NO.1646

Dripです。

 なぞ さん、こんにちは。
> モジュール変数って一括して読み書きできないんですか?
> RPGとかでキャラの名前、能力、装備みたいなものを
> まとめて管理するのに便利そうだと思ったんですが、

 モジュールではなく、それはまさにC言語の構造体の事を示していると思います。
HSPには構造体の概念がないため、名前と体力値等、文字列と数値から構成されるデータを
ひとつの塊にして管理することはできません。
体力値と魔力値等、同じ数値同士であれば配列を増やすことで擬似的に可能ですが、
意味の異なる数値をひとつの変数で管理すると、後々見づらいプログラムになることは確かです。

> 逆に面倒臭いものなんですね?
残念ながらその通りです。

 しかしそれこそがHSPの強みでもあります。高機能化は上級者にとってはありがたい事ですが、
プログラム初心者にとっては混乱を招く無駄機能でしかありません。
そうした意味でHSP3のモジュール機能強化も果敢な挑戦だったと思います。
 HSPのシンプルな設計は、世にたくさんのプログラマを生み出しているのだと思います。
今後もプログラム初心者に親しい言語というコンセプトを忘れずに成長しつづけることを願ってやみません。
・・・余談でした。



ONION software Copyright 1997-2023(c) All rights reserved.