最近hspでもゲームのようなものが作ってみたくて配列変数を上手く使おうと学んでいるのですが
予想と違う動作をして原因がわからないので教えていただきたいです。
ゲームの画面をfieldという変数に入れるつもりです。
サイズは18*18です。
画面を描画する部分
のテストのために
repeat 18 rcnt=cnt mrcnt=cnt+1 repeat 18 mcnt=cnt+1 color 0,0,0//背景 1 if field.rcnt.cnt=1:boxf rcnt*10,cnt*10,mrcnt*10,mcnt*10 color 255,0,0//敵 2 if field.rcnt.cnt=2:boxf rcnt*10,cnt*10,mrcnt*10,mcnt*10 color 0,255,255//自機 3 if field.rcnt.cnt=3:boxf rcnt*10,cnt*10,mrcnt*10,mcnt*10 loop loop
というのをメインのループの前に入れて試してみました。
dim field,19,19 repeat 18 rcnt=cnt repeat 18 field.rcnt.cnt=1 loop loop field.3.3=2
fieldの中身が
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
となると思ったのですが実際に実行してみると背景の部分が左一列しか表示されなかったので
とするとfieldの中身が
pos rcnt*20,cnt*20 mes ""+field.rcnt.cnt
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
となっていました。
なぜでしょうか?
また、他のパソコンで試した(下記スクリプト)ところ正常に表示されたものもありました。
どれも同じスクリプトと同じhspバージョン(3.4)を使いました。
これはwindowsとかhspの仕様なのでしょうか?
正常:
Windows7(ノート)
Windows7(デスクトップ)
バグってるような状態:
Windows7(デスクトップ)←これで今作っています
Windows10(ノート)
Windows8.1(タブレット)
作る分には正常に動作するパソコンで作れば済みますがもし他の人に遊んで欲しいときに動作しないと
残念なので、解決方法や原因を教えていただきたいです。
※他のパソコンで試したスクリプト
dim field,19,19 repeat 18 rcnt=cnt repeat 18 field.rcnt.cnt=1 loop loop field.3.3=2 field.4.4=2 repeat 18 rcnt=cnt mrcnt=cnt-1 repeat 18 mcnt=cnt-1 color 0,0,0//背景 1 if field.rcnt.cnt=1:boxf mrcnt*10,mcnt*10,rcnt*10,cnt*10 color 255,0,0//敵 2 if field.rcnt.cnt=2:boxf mrcnt*10,mcnt*10,rcnt*10,cnt*10 color 0,255,255//自機 3 if field.rcnt.cnt=3:boxf mrcnt*10,mcnt*10,rcnt*10,cnt*10 loop loop