Nanashi-soft○ソフトメニュー○REVOKEworld2009○
ゲームルールがわかったところで,次に基本的なルールを決める
○キャラクターの移動方法
まずはフィールドの見方から決めます
・向き
フィールド上に1体のキャラクターが配置されているとすると
ゲーム画面の上方向を北と表現する事にします
北
西♀東
南
↑こんな感じです
・座標
フィールド位置の表し方は,地球の経度,緯度に方向を合わせます
左下隅を0として北をy軸,東をx軸として表す事にします
2
1
0♀
012
↑こんな感じです
高さの概念はz軸として一応ありますが,あまり重要では無いので省略します
・移動コマンド
この座標概念を元に,キャラクターを移動させるSQLコマンドを作成
1マス北に移動するSQLは
UPDATE player1 SET y=y+1 WHERE id=1
さぁ,いよいよ始まりましたよ(*'-')
このゲームは,1マス移動するにもこういうSQLを書く必要があるという謎ゲーです(ぉ
基本的なUPDATE文の構文は以下です
UPDATE テーブル名 SET 代入文 WHERE 条件文
上のSQL文は,player1テーブルのidが1のキャラクターのy座標を+1する。と言うものです
細かな説明は順に書いていきます
北に移動
UPDATE player1 SET y=y+1 WHERE id=1
南に移動
UPDATE player1 SET y=y-1 WHERE id=1
東に移動
UPDATE player1 SET x=x+1 WHERE id=1
西に移動
UPDATE player1 SET x=x-1 WHERE id=1
簡単ですね('-'*)
・おまけ
上での方法は,現在位置からの相対座標を指定した例です
絶対座標で指定する事も可能です
キャラの現在位置を確認
SELECT x FROM player1 WHERE id=1
SELECT y FROM player1 WHERE id=1
この値を見て,絶対座標で移動する事もできます
現在位置がx:0,y:0だとして,北に移動する
UPDATE player1 SET x=0,y=1 WHERE id=1
ある特定の場所まで移動させたい場合,絶対座標で命令だけ与えて放置しておく事もできます
UPDATE player1 SET x=10,y=10 WHERE id=1
但し,途中で障害物にぶつかると,そこで止まってコストのみが消費されてしまいます