あとがき
ということで完成です。お疲れまでした。
完成したプログラムをここに載せておきます。
;乱数の初期化
randomize
;スクリーンを作成
screen 0, 800, 480
;自機の位置
player_x = 100
player_y = 200
;星の位置
dim star_x, 200
dim star_y, 200
repeat 200
star_x(cnt) = 800
star_y(cnt) = rnd(480-32)
loop
;星の速度
dim star_speed, 200
repeat 200
star_speed(cnt) = rnd(5) + 2
loop
;フォントの設定
font "MS ゴシック", 32
;表示される星の数
star_num = 3
*メインループ
redraw 0
;画面をクリア
color 0, 0, 255
boxf
;自機を表示
color 0, 255, 0
pos player_x, player_y
mes "●"
;自機移動
stick key, 15
if(key & 4){ ;→を押した
player_x = player_x + 5
}
if(key & 1){ ;←を押した
player_x = player_x – 5
}
if(key & 2){ ;↑を押した
player_y = player_y – 5
}
if(key & 8){ ;↓を押した
player_y = player_y + 5
}
;自機の移動制限
if(player_x < 0){ ;左端にはみ出た
player_x = 0
}
if(player_y < 0){ ;上にはみ出た
player_y = 0
}
if(player_x > 800 – 32){ ;右端にはみ出た
player_x = 800 – 32
}
if(player_y > 480 – 32){ ;下にはみ出た
player_y = 480 – 32
}
;星の移動
repeat star_num
star_x(cnt) -= star_speed(cnt)
loop
;星の表示
color 255, 255, 0
repeat star_num
pos star_x(cnt), star_y(cnt)
mes "★"
loop
;★が左端に出た
repeat star_num
if(star_x(cnt) < -32){
star_x(cnt) = 800 ;ふたたび右端へ
star_y(cnt) = rnd(480-32) ;高さはランダム
star_speed(cnt) = rnd(5) + 2 ;速度もランダム
star_num = star_num + 1 ;星を1個増やす
}
loop
;自機と★の衝突判定
repeat star_num
if((star_x(cnt) > player_x – 20) and (star_y(cnt) > player_y – 20) and (star_x(cnt) < player_x + 20) and (star_y(cnt) < player_y + 20)){
dialog "★の数=" + star_num, 0, "終了"
end ;プログラム終了
}
loop
redraw 1
await 16
goto *メインループ
ほぼ100行ですね。
長いと思うかもしれませんが、
この程度でゲームができてしまうというのはすごいことです。
Windowsプログラムを作る時に一般的に使われるVisualC++という環境の場合、
ただ真っ白なウィンドウを出して、×ボタンを押したら終了するだけのプログラムでも
100行近く必要になってしまいます。
HSPは本当にすばらしいですね。
最後に、もう一度プログラムを最初から眺めてみて、
どこで何をやっているか確認してください。
あと、「あとがき」とか書いてますが、
この講座はまだまだ続きますのでよろしくお願いします。
今回のポイント
-
HSPは本当にすばらしい!!
いきなり変な質問ですいません。
HSPTVAPPにハイスコアランキング機能があるそうですが
これがどういったものでどうやって使って
どこに表示されるものなのかよくわかりません。
よろしければサンプルプログラム付きで
ご教授よろしくお願いします。
要は自分のHSP作品のゲームにハイスコアランキングをつけたい
のだけどやりかたがわからないという話です。
もちろん個のゲーム内でのランキングという訳でなくて
ゲームを所持してるすべてのユーザーでのネットランキングを意味します。
説明が下手ですいません。
せっかくお問い合わせいただいたのですが、HSPを離れて数年経ってしまい、お力になれそうにありません…。
ごめんなさい。
こちらの命令リファレンスを参考にしてみはいかがでしょうか。
http://www.onionsoft.net/hsp/v34/doclib/hsptvapp.txt
昨日HSPを導入したばかりの初心者です。
phpなどを多少かじった程度のプログラム初心者の自分でもとても分かりやすく製作することができました。
途中でさぼってコピペをしたために-(マイナス)が上手くコピーできておらず、予想外の挙動に四苦八苦したりもしましたが… oyz
ここを最初の1歩として、あれこれ学んでいきたいと思います。ありがとうございました。
お役に立てて良かったです。
これからも頑張ってください♪