2017年12月2日土曜日

中学二年生の息子にプログラミングを教えています

;ともやゲーム作家への道

screen 0,640,480,0 ;スクリーンの大きさを決める

;自分の初期位置
yoko=320 ;自分の横軸
tate=240 ;自分の縦軸

MAXyoko=640 ;自分が画面外に出ないようにする横の範囲(スクリーンの大きさと同じ)
MAXtate=480 ;自分が画面外に出ないようにする縦の範囲(スクリーンの大きさと同じ)

;敵の初期位置
tekiyoko=100 ;敵の横軸
tekitate=100 ;敵の縦軸

font "MS ゴシック",20,0 ;文字の大きさを指定する命令

*mainloop ;メインループとなるラベル(ラベルとは「しおり」みたいな意味)

color 0,0,0 ;塗りつぶす背景の色
boxf 0,0,640,480 ;塗りつぶす背景の大きさ

stick key,15,1 ;キー情報を取得

;自分の動き
if key&1:yoko=yoko-5 ;←が押されているか?:押されているなら横をマイナス
if key&2:tate=tate-5 ;↑が押されているか?:押されているなら縦をマイナス
if key&4:yoko=yoko+5 ;→が押されているか?:押されているなら横をプラス
if key&8:tate=tate+5 ;↓が押されているか?:押されているなら縦をプラス

;自分が画面外へ出ないようにしている処理
if yoko<0:yoko=0 if yoko>(MAXyoko-30):yoko=MAXyoko-30 ;30は適当に決めた自分の大きさ(もっと微調整は必要)
if tate<0:tate=0 if tate>(MAXtate-20):tate=MAXtate-20 ;20は適当に決めた自分の大きさ(もっと微調整は必要)

;敵の動き

tekitate=tekitate+5 ;下に動いていく
;敵が画面外へ出ないようにしている処理
if tekiyoko<0:tekiyoko=0 if tekiyoko>(MAXyoko-30):tekiyoko=MAXyoko-30
if tekitate<0:tekitate=0 if tekitate>MAXtate:{ ;敵が画面の下に辿り着いた
tekitate=0 ;敵を上に戻す
tekiyoko=rnd(640-30) ;出現位置をランダムで決める(30は適当に決めた敵の大きさ)
}

;ここから線画(絵を描くということ)
;自分
color 250,250,250 ;自分の色 R G B(レッド、グリーン、ブルー)
pos yoko,tate ;自分の位置
mes "ともや" ;自分の姿

;敵
color 250,0,0 ;敵の色 R G B
pos tekiyoko,tekitate ;敵の位置
mes "敵" ;敵の姿

wait 3 ;待ち時間(入れないとパソコンが熱暴走で爆発する)
goto *mainloop ;メインループに戻る