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

 

 

inserted by FC2 system