HSP3 ゲームのプログラミング | |
ラケット・ゲーム制作 |
(4) 処理の追加(課題)
一応、ラケット・ゲームは完成したが、ゲームとして工夫が必要である。これから、いろいろなアイデアを課題として追加していく。
○ スタート表示
(racket93.hsp)
プログラムを実行したり、失敗後の再スタートで、ボールがいきなり出てくる。ゲーム領域に「START」などと表示してからボールが出てくるようにする。
処理としては、ラベル*startの直後に表示と時間待ちを追加するだけである。
color 0, 128, 0 ;緑色
boxf 0, 0, winx * mm - 1, winy * mm ;ゲーム領域消去
color 255, 255, 255
pos 26 * mm, 30 * mm
mes "START"
wait 100
(racket94.hsp)
ボールの出てくる位置は乱数で変わるようになっているが、いつも右下に向かって移動する。ボールの移動量dx0, dy0が正数であるためである。dx0の値が+1または-1に変わるように変更する。
また、y0の値も2〜20(偶数のみ)の範囲で変わるようにする。
if rnd(10) < 5 : dx0 = 1 : else : dx0 = -1
y0 = (rnd(10) + 1) * 2
(racket95.hsp)
得点が1000点になったら、残りボールを1個増やす。
if tokuten = 1000 : ball = ball + 1 ;ボール加算
(racket96.hsp)
一定回数打ち返すごとに、ボールのスピードが速くなるようにせよ。失敗後は、また1からカウントする。打ち返した回数は変数hitでカウントする。スピードはawaitのパラメータで調整する。
初期値 … await 100、 10回 … await 80、 30回 … await 65、 50回 … await 50
wt = 100 ;await時間
hit = 0 ;打ち返した回数
hit++ ;打ち返しカウント
if hit = 10 : wt = 80
if hit = 30 : wt = 65
if hit = 50 : wt = 50
await wt ;無限ループの時のお約束
ラケット・ゲーム制作 | |
2007 © Hiroshi Masuda |