|
 |
|
2013/8/22(Thu) 21:50:37|NO.56580
;☆★☆★☆★☆★画像読み込み☆★☆★☆★☆★
buffer 1 :picload "heri.gif" ;自キャラ画像読み込み
buffer 2 :picload "tama.gif" ;弾画像読み込み
buffer 3 :picload "teki.jpg" ;敵1画像読み込み
buffer 4 :picload "teki2.jpg" ;敵2画像読み込み
buffer 5 :picload "haikei.jpg" ;背景画像読み込み
buffer 6 :picload "zitama.jpg" ;自弾読み込み
;☆★☆★☆★☆★その他初期設定☆★☆★☆★☆★
screen 0,1350,800 ;画面サイズを1350× 800に変更
MX=240:MY=160 ;自キャラの初期位置
randomize ;使うかどうかわからないけど乱数初期化
cls 4 ;画面の色を黒に設定
TAMA=0
stick KY,31
dim SX,10 :dim,SY,10 :dim TAMA,10
;☆★☆★☆★☆★メインループ☆★☆★☆★☆★
*hazime
redraw 0 ;書き換え停止
stick KY,31 ;キー入力判定の初期値
pos 271,0 :gcopy 5,10,10,1350,800 ;背景表示
pos 0,0 :gcopy 5,10,10,350,800 ;余白を背景の左端の部分で埋める
repeat 10
gosub *SHOT
;▲△▲自キャラの移動△▲△
if (KY&1)=1 :MX=MX-4 :if MX<O :MX=O ;自キャラの左移動判定
if (KY&4)=4 :MX=MX+4 :if MX>1280 :MX=1280 ;自キャラの右移動判定
if (KY&2)=2 :MY=MY-4 :if MY<0 :MY=0 ;自キャラの上移動判定
if (KY&8)=8 :MY=MY+4 :if MY>799 :MY=799 ;自キャラの下移動判定
pos MX,MY ;自キャラの位置決定
gmode 2 ;gmodeの位置修正
gcopy 1,0,0,80,50 ;自キャラコピー
pos MX,MY-20 ;1P文字位置決定
color 255,255,255 ;文字色を白に
mes "1P↓" ;1P文字表示
redraw 1 ;画面書き換え
await 30 ;待機
goto *hazime
;▲△▲弾発射▲△▲
*SHOT
if (KY&16)!=0 & TAMA(cnt)=0 { ;スペースキー判定
TAMA(cnt)=1
TX(cnt)=MX+24
TY(cnt)=MY+12
RENSYA=20
;弾の初期位置設定
}
if TAMA(cnt)=1 {
TX(cnt)=TX(cnt)+12
color 0,255,255 :boxf TX(cnt),TY(cnt),TX(cnt)+12,TY(cnt)+4
if TX(cnt)>1349 :TAMA(cnt)=0
}
if RENSYA>0 :RENSYA=RENSYA-1
return
でを実行すると
#HSP script preprocessor ver3.32 / onion software 1997-2013(c)
#Use file [hspdef.as]
#HSP code generator ver3.32 / onion software 1997-2013(c)
#未初期化の変数があります(ky)
#未初期化の変数があります(sy)
#未初期化の変数があります(o)
シューティング.hsp(55) : error 13 : repeatループが閉じられていません (55行目)
とでます原因はなんでしょうか?

| |
|
2013/8/22(Thu) 21:56:43|NO.56581
dim SX,10 :dim,SY,10 :dim TAMA,10
上の部分を下のように直してください.
dim SX,10 :dim SY,10 :dim TAMA,10
|
|
2013/8/22(Thu) 22:00:31|NO.56582
どこがかわっているのでしょうか?
|
|
2013/8/22(Thu) 22:00:39|NO.56583
if (KY&1)=1 :MX=MX-4 :if MX<O :MX=O
上のコードでは, 数字の0(ゼロ)ではなく半角の大文字, O(オー)になっています.
上の部分を下のように直してください.
if (KY&1)=1 :MX=MX-4 :if MX<0 :MX=0
|
|
2013/8/22(Thu) 22:03:36|NO.56584
dimと変数名の間には, [ , ]は要りませんね.
dim SX,10 :dim , SY, 10 :dim TAMA,10
↑
|
|
2013/8/22(Thu) 22:03:45|NO.56585
ありがとうございます
エラーは文字数は減ったのですがまだ
#HSP script preprocessor ver3.32 / onion software 1997-2013(c)
#Use file [hspdef.as]
#HSP code generator ver3.32 / onion software 1997-2013(c)
#未初期化の変数があります(ky)
シューティング.hsp(55) : error 13 : repeatループが閉じられていません (55行目)
というエラーがでますどうすればいいでしょうか?
|
|
2013/8/22(Thu) 22:05:26|NO.56586
プログラムの解析中...
しばらくお待ちください.
|
|
2013/8/22(Thu) 22:07:10|NO.56587
stick KY,31
上の行の直前に,
KY=0
という文を追加してください.
|
|
2013/8/22(Thu) 22:08:51|NO.56588
ありがとうございます
さらにエラーは減りましたが
#HSP script preprocessor ver3.32 / onion software 1997-2013(c)
#Use file [hspdef.as]
#HSP code generator ver3.32 / onion software 1997-2013(c)
シューティング.hsp(56) : error 13 : repeatループが閉じられていません (56行目)
というエラーがまだでます
どうすればいいですか?
|
|
2013/8/22(Thu) 22:13:03|NO.56589
とりあえず,
await 30
と
goto *hazime
との間に,
loop
という文を入れてみてください.
|
|
2013/8/22(Thu) 22:15:35|NO.56590
ありがとうございます
エラーがなくなりました
大変勝手ながらこのプログラムはシューティングの前の状態でして弾がでません
勝手なことばかり言ってすみません
もし解決策がわかるのならおしえてください
|
|
2013/8/22(Thu) 22:16:35|NO.56591
連射できるようにしたいのですか?
|
|
2013/8/22(Thu) 22:17:22|NO.56592
そのとおりです
|
|
2013/8/22(Thu) 22:19:15|NO.56593
画像が欲しいところですね.
|
|
2013/8/22(Thu) 22:25:10|NO.56594
screen 0,1350,800 ;画面サイズを1350× 800に変更
MX=240:MY=160 ;自キャラの初期位置
randomize ;使うかどうかわからないけど乱数初期化
cls 4 ;画面の色を黒に設定
TAMA=0
KY=0
stick KY,31
dim SX,10 :dim SY,10 :dim TAMA,10
;☆★☆★☆★☆★メインループ☆★☆★☆★☆★
*hazime
redraw 0 ;書き換え停止
stick KY,31 ;キー入力判定の初期値
repeat 10
gosub *SHOT
;▲△▲自キャラの移動△▲△
if (KY&1)=1 :MX=MX-4 :if MX<0 :MX=0 ;自キャラの左移動判定
if (KY&4)=4 :MX=MX+4 :if MX>1280 :MX=1280 ;自キャラの右移動判定
if (KY&2)=2 :MY=MY-4 :if MY<0 :MY=0 ;自キャラの上移動判定
if (KY&8)=8 :MY=MY+4 :if MY>799 :MY=799 ;自キャラの下移動判定
pos MX,MY ;自キャラの位置決定
mes "自キャラ"
;自キャラコピー
pos MX,MY-20 ;1P文字位置決定
color 255,255,255 ;文字色を白に
mes "1P↓" ;1P文字表示
redraw 1 ;画面書き換え
await 30 ;待機
loop
goto *hazime
;▲△▲弾発射▲△▲
*SHOT
if (KY&16)!=0 & TAMA(cnt)=0 { ;スペースキー判定
TAMA(cnt)=1
TX(cnt)=MX+24
TY(cnt)=MY+12
RENSYA=20
;弾の初期位置設定
}
if TAMA(cnt)=1 {
TX(cnt)=TX(cnt)+12
color 0,255,255 :boxf TX(cnt),TY(cnt),TX(cnt)+12,TY(cnt)+4
if TX(cnt)>1349 :TAMA(cnt)=0
}
if RENSYA>0 :RENSYA=RENSYA-1
return
でどうですか?
|
|
2013/8/22(Thu) 22:47:42|NO.56595
buffer 1 :color 255, 0, 0: boxf ;自キャラ画像読み込み
buffer 2 :color 0, 255, 0: boxf ;弾画像読み込み
buffer 3 :color 0, 0, 255: boxf ;敵1画像読み込み
buffer 4 :color 255, 255, 0: boxf ;敵2画像読み込み
buffer 5 :color 0, 0, 0: boxf ;背景画像読み込み
buffer 6 :color 0, 255, 255: boxf ;自弾読み込み
randomize
;☆★☆★☆★☆★その他初期設定☆★☆★☆★☆★
screen 0,1350,800 :cls 4
MX=240 :MY=160
// TAMA=0
dim TX, 6
dim TY, 6
KY=0
dim SX,10 :dim SY,10 :dim TAMA,6
;☆★☆★☆★☆★メインループ☆★☆★☆★☆★
*hazime
redraw 0 ;書き換え停止
color 0, 0, 0 :boxf
;▲△▲自キャラの移動△▲△
stick KY,31
if (KY&1)=1 :MX=MX-4 :if MX<0 :MX=0 ;自キャラの左移動判定
if (KY&4)=4 :MX=MX+4 :if MX>1280 :MX=1280 ;自キャラの右移動判定
if (KY&2)=2 :MY=MY-4 :if MY<0 :MY=0 ;自キャラの上移動判定
if (KY&8)=8 :MY=MY+4 :if MY>799 :MY=799 ;自キャラの下移動判定
repeat 6
gosub *SHOT
loop
pos MX,MY ;自キャラの位置決定
gmode 2 ;gmodeの位置修正
gcopy 1,0,0,80,50 ;自キャラコピー
pos MX,MY-20 ;1P文字位置決定
color 255,255,255 ;文字色を白に
mes "1P↓" ;1P文字表示
redraw 1 ;画面書き換え
await 30 ;待機
goto *hazime
;▲△▲弾発射▲△▲
*SHOT
if (KY&16)!=0 & TAMA(cnt)=0 and RENSYA=0{ ;スペースキー判定
TAMA(cnt)=1
TX(cnt)=MX+24
TY(cnt)=MY+12
RENSYA=20
}
if TAMA(cnt)=1 {
TX(cnt)=TX(cnt)+12
color 0,255,255 :boxf TX(cnt),TY(cnt),TX(cnt)+12,TY(cnt)+4
if TX(cnt)>1344 :TAMA(cnt)=0
}
if RENSYA>0 :RENSYA=RENSYA-1
return
どうでしょうか.
画像が手元にないので, 代わりに色を使って表現しています.
っていうか, 背景の画像は不要では?
(上のプログラムでは, 単に黒く塗りつぶしているだけ)

| |
|
2013/8/22(Thu) 22:49:52|NO.56596
あと, 画面が大きすぎますね.
私のパソコンでは画面がはみ出しています!
ちょっと小さくした方がいいのでは?
|
|
2013/8/22(Thu) 23:06:14|NO.56597
本日の教えて君スレ(ただしKeisuke氏がノッている場合を除く)
|
|
2013/8/22(Thu) 23:21:13|NO.56598
高校1年生なので, 夏休み限りだと思います.
|
|
2013/8/23(Fri) 15:12:01|NO.56606
loop で閉じろ。
|
|