;---------------------------------------------------
;	必要なDLL、モジュールのASファイルのインクルード
;---------------------------------------------------
#include "hspext.as"


;---------------------------------------------------
;	定数になるものを定義しておく
;	大文字で書くとよい。コメントもあった方がよい
;	変更する可能性のあるもの、作成段階で調整の必要なものを書くとよい
;---------------------------------------------------
#define WIN_W 640	;ウィンドウの幅
#define WIN_H 480	;ウィンドウの高さ
#define MAX_MENBER 4	;仲間の最大人数
#define MAX_HP 9999	;増やせる体力の最大値(これ以上は切り捨て)


;---------------------------------------------------
;	ゲーム中に必要な変数を初期化し
;	どの変数が何の役割を果たすか、コメントをつける
;	実際には省略しても問題はないが、後で見直すとき便利である
;---------------------------------------------------
*start
	sdim name,21,4		;キャラの名前4人分(全角10文字まで)
	dim hp.4		;4人分の体力
	x=winx/2:y=winy/2	;画面上でのキャラの位置


;---------------------------------------------------
;	ゲーム画面の初期化
;---------------------------------------------------
	screen 0,WIN_W,WIN_H,0,dispx-WIN_W/2,dispy-WIN_H/2
	picload "haikei.bmp",1
	buffer 2,40,40,0
	picload "char01.bmp"
	gsel 0
	pos x,y : gcopy 2,0,0,40,40


;---------------------------------------------------
;	メインループ
;	できれば、gosubだけで書く方がよい
;---------------------------------------------------
*main_loop
	gosub *move
	if sentou_check=1 : gosub *sentou
	if mati_check=1 : gosub *mati_hyouji
	if end_check=1 : gosub *end_syori : end
	wait 1
	goto *main_loop


;---------------------------------------------------
;	作成した、サブルーチンASファイルのインクルード
;---------------------------------------------------
#include "move.as"
#include "sentou.as"
#include "mati.as"
#include "end.as"
大まかな、プログラムの書き方を書いてみました。

必ずこうしなければいけないというものでもないし、これが最善の書き方というわけではありません。
しかし、このようにある決まりを持ってプログラムを書くと、後で見直すとき(バージョンアップなど) に非常に便利ですし、また、他人に聞くときも、非常に便利です。

特にやってほしいのは、メインループの中身はgosubを中心に書いてほしいということです。 これは、C言語の影響なのですが、プログラム全体の流れをつかむときに非常に便利なのです。 上のサンプルでは、「移動した後に、判定ですね」とすぐわかりますが。これを、gosubを使用しないと 全部のプログラムをみて、「あ、移動してから、判定してるんですね・・・」さらに、判定は・・・ と非常に、見にくいプログラムですし、エラーがでたとき、手直しするときに、どこをなおしていいか さ探すだけで、時間がかかってしまいます。

手直しという点で、#defineも重要です。たとえば、上のプログラムでキャラクターを5人 に変更しよう。と思ったら、はじめの一カ所を換えればいいのですが、これを使用しないと あちらこちらに散らばっている4という数字を5に書き直さなくてはいけません。 想像するだけでいやになります(−−; また、実際には100回繰り返すんだけど、時間がかかるから10回にしたい・・・ というときにも#defineは役に立ちます。

これらを頭に入れておいて、プログラム作成がんばってください(^^)
■ 目次へ戻る ■

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!