Twitter icon  Tumblr icon  facebook icon  rss icon  feedly icon
naglly.com > 雑記  > 昔話:N88BASICスキーゲームの続き

昔話:N88BASICスキーゲームの続き

 ネネにPC占有しすぎとなじられても、子供に乗っかられまくりながらも、あっちへ行けという勢いで、今N88BASICに熱中している。

 ブログの記事書くよりもそっちが忙しいので、今まで出来てるソースを書き込みして今日は終わる。

10 ' スキーゲームだよ スキーに見えなくてもとにかくスキーなのである
20 ' Edit by Naagle 2007-12-02 Ver0.01(永遠にver1.0にならない予定)
25 ' 2007-12-04 Ver0.02
30 ' -- 初期化 --
40 DIM SCRN(80,25) ' 画面上の文字が取得出来そうにないので配列作っちゃう
50 CONSOLE 24,10,1:WIDTH 80,25 ' スクリーンサイズ指定 80*25
60 CLS ' 画面の消去
70 RANDOMIZE(VAL(RIGHT$(TIME$,2))) ' 乱数発生を時間のファクタで調整
80 PRINT "キー操作 z:左 x:右です。"
90 PRINT "HIT [S] KEY"
100 W$=INPUT$(1) ' キー操作を受け付ける
110 IF W$="S" OR W$="s" THEN GOTO 130 ELSE GOTO 100 ' Sだったら先へ
120 ' -- メインルーチン --
130 XX=10:I=0:MX=20 'XX:ゲレンデ発生位置 I:ゲレンデの変化係数 MX:自分の位置
140 STL=29:L=0:COUNT=0 ' STL:開始難易度 L:難易度 COUNT:スコア
150 I=INT(RND*3)-1 ' 乱数発生 -1,0,1
160 XX=XX+I 'ゲレンデを動かす
170 L=STL-INT(COUNT/10) ' ほーらーほらほらぁ、どんどん難しくなるよー。うぃー。
171 IF L<2 THEN L=2
180 IF XX<1 THEN XX=1
190 IF XX>50 THEN XX=50
200 LOCATE XX,23:PRINT "*";SPC(L);"*" ' ゲレンデ表示。*だけだと、斜めにすり抜けられちゃう。これではダメだ
210 FOR I=0 TO 80:SCRN(I,23)=0:NEXT ' FORループ変数を初期化
220 SCRN(XX,23)=1:SCRN(XX+L+1,23)=1
230 A$=INKEY$ ' 操作受付
240 IF A$="Z" OR A$="z" THEN MX=MX-1 ' Zが押されたら左
250 IF MX>79 THEN MX=79 ' はみ出し判定
260 IF A$="X" OR A$="x" THEN MX=MX+1 ' Xが押されたら右
270 IF SCRN(MX,11)=1 THEN GOTO 380 ' ぶつかったら終わり
280 LOCATE MX,10:PRINT "@" ' 自分を表示。@って一番人間ぽくない?なんとなくだけど
290 FOR I=1 TO 23 ' 2次元的なループ
300 FOR J=0 TO 80
310 SCRN(J,I-1)=SCRN(J,I) ' 配列もスクロール ここが速度低下の原因?そんなに負荷掛けてるかなー。
320 NEXT J
330 NEXT I
340 COUNT=COUNT+1
350 LOCATE 70,1:PRINT COUNT ' SCORE表示 なんか、小数点出るんだけど。何が足りない?
360 GOTO 150 ' お得意の永久ループ
370 ' --- 終了処理 ---
380 PRINT "死にました"
390 PRINT "HIT ANY KEY"
400 A$=INPUT$(1)
410 END

 SCAN$だけど、散々検索を掛けたが、どこにも載ってない、、、。これだけで数時間食ったよ。どうやら、SCAN$という、画面上の1文字を拾うという関数が使えないようなので、スクリーン通りの配列を作り、0,1を挿入してそっちで当たり判定します。どうもN99系にはあるけど、N88系には無い模様。F-BASICにはあったと思うのだが、、、。

 配列作ったら速度が異常に遅くなり、FORループタイマーを入れなくてもよくなった。80*25の配列なんてそんなにでかくないのになぁ。

 これで一応、ゲームの体は出来上がってきました。ゲレンデが適度に動いて、自分が右左に動いて、ゲレンデにぶつかると死にます。

 あとは、コブ作って、ゲレンデのキャラが1文字だと、「ゲレンデ斜め抜け」ってテクニックが使えちゃうからそこもちょっと考えてー。

 など、直す点はまだ色々ある。

 こんなに頑張って、一体、どこへ向かおうとしているのだろう。<自分

 この記事のカテゴリは、雑記 です。
このエントリーをはてなブックマークに追加

関連する記事と広告

最新ブログ記事一覧

 2018年12月09日
「双眼鏡越しに写真を撮ったら惑星っぽい」の画像をきっかけに類似の画像が集まる
「双眼鏡のレンズ越しに写真を撮影したら、惑星のようだった」と言うタイトルで投稿されたこの画像。確…
 2018年12月08日
枕の山の中からネコを探せ!(動画)
ベッドの上にたくさんのまくらが並べられていますが、この中にネコが潜んでいます。さて、どこにいるで…
 2018年12月08日
ロシアの子供たちは、ブランコを雪の中から掘り出して遊ぶ(動画)
ロシアの子供たちは、どんなに大雪が降っても公園にある遊具は本来の機能のまま遊びたいみたいで、雪を…
 2018年12月08日
Mercator Projection - 「メルカトル図法の真実」の間違った利用法
Mercator Projection(メルカトル図法) 男: Did you know Canada is actually a smallish island in…
 2018年12月07日
「今年も来たツリーの破壊者」「ワープする路面電車」他 51ネタ目
【小ネタまとめ】の記事は、日々の小ネタツイートの中から反応が良かったものをまとめて掲載します。これ…
 2018年12月06日
「だるまさんが転んだ」を遵守しつつ、飼い主を狩りに来るネコ(動画)
「だるまさんが転んだ」のルールに従い、撮影者が覗いた時はピクリとも動かず、見ていない隙に着実に迫…
 2018年12月06日
Middle Latitudes - 中緯度は最悪
xkcd: Middle Latitudeshttps://xkcd.com/2081/ Middle Latitudes(中緯度) 男: It would be nice …
 2018年12月05日
よっ、脱獄名人!部屋を仕切る柵を軽々と飛び越えるフレンチブルドッグ(動画)
フレンチブルドッグのピクルスさんは、飼い主がリビングルームへ入って来ないように仕切っている2~3フ…
 2018年12月04日
「昨日飛行機に乗ったら、雲が島の上だけにあった」の画像にトリビアが集まる
『昨日、飛行機に乗ったんだけど、雲が島の上にしかないことに気づいた。』と言うタイトルで投稿された…
 2018年12月04日
Cohort and Age Effects - イラっとくるコホート効果と年齢効果の混同
xkcd: Cohort and Age Effectshttps://xkcd.com/2080/ Cohort and Age Effects(コホート効果と年齢…
 2018年12月03日
犬とネコによる、透明フィルムの障害物対処方法の違い(動画)
ペット達がいつも通るドアに透明なフィルムを貼り付け、その障害に対してネコと犬がどのような反応を示…
 2018年12月02日
18歳~22歳のアジア男性における国別(一部地域)の平均身長マップ
アジア地域の男性(18歳から22歳まで)の平均身長を色別に表した地図です。それぞれの国の中で、特に日…