【Prominence3D】もよろしく!!
あのRPGツクールの開発部もおすすめする
2Dゲーム用の3Dエフェクト作成ソフト!!
無料体験版を是非触ってみてください!!
トップページ > HSPのひきだし > あとがき
2013年04月07日

あとがき

Pocket

ということで完成です。お疲れまでした。

完成したプログラムをここに載せておきます。

    ;乱数の初期化
    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は本当にすばらしい!!

Pocket


あとがき” への2件のコメント

  1. 昨日HSPを導入したばかりの初心者です。
    phpなどを多少かじった程度のプログラム初心者の自分でもとても分かりやすく製作することができました。
    途中でさぼってコピペをしたために-(マイナス)が上手くコピーできておらず、予想外の挙動に四苦八苦したりもしましたが… oyz
    ここを最初の1歩として、あれこれ学んでいきたいと思います。ありがとうございました。

    • お役に立てて良かったです。
      これからも頑張ってください♪

コメントを残す

メールアドレスが公開されることはありません。

 ■ツール・ゲーム  ■講座  ■素材  ■その他  ■管理人へ
  Prominece3D   エフェクト画像の描き方   戦闘エフェクト素材   CG作品   お問い合わせ
  ウディタミネンス   ロゴの描き方   投稿エフェクト   書籍   管理人を応援
  Relocater   HSP講座      
  Prominece        

Copyright © 2011-2015 藤宮翔流 All Rights Reserved.