ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE タイピングRPG /クジラ飛行机 (02/01/03(Thu) 00:54) [30]
......MESSAGE 感想:タイピングでゲーム性アップ /moka (02/01/07(Mon) 16:01) [78]
............MESSAGE なんとかクリア /初心者 (02/01/07(Mon) 16:31) [80]


親記事 / ▼[ 78 ]
NO.30  タイピングRPG
□投稿者/ クジラ飛行机 -(2002/01/03(Thu) 00:54:36)
□U R L/ http://www.text2music.com
タイピングソフトと、迷路RPGをミックスしてみました。
キーをタイピングすることにより、迷路の中を進みます。
なんだか、文字だけのグラフィック世界にはまっていきそうです。
'========================================================
'タイピングRPG

*母艦の設定
母艦の、サイズは、(0,0,400,400)
母艦を、中央へ移動。
母艦の、タイトルは、『タイピングRPG - 準備中です』

*変数の初期化

文字絵#0 = 『 』'通路
文字絵色#0 = 白色
文字絵#1 = 『■』'壁
文字絵色#1 = 茶色
文字絵#2 = 『金』'お金
文字絵色#2 = オレンジ色
文字絵#3 = 『爆』'爆弾
文字絵色#3 = 黒色

マップ=『1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3,1,0,0,0,0,0,3,1
1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,0,0,1,1,1,1,0,0,0,1
1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,1,0,0,0,3,2,1,2,0,0,1
1,1,1,3,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,3,3,0,3,1
1,0,0,1,0,1,0,3,0,0,0,0,0,2,0,0,1,1,1,1,0,1,1,1,1,1,0,1,1
1,3,0,1,0,1,2,3,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,1
1,0,0,3,1,1,1,1,1,1,0,0,0,0,0,0,1,0,3,1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,1,0,3,0,1,1,1,1,1,1,1,0,3,1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,1,0,0,0,1,0,0,2,0,0,0,0,2,1,1,1,1,0,1,1,1,1,1
1,1,1,1,0,1,1,1,1,0,1,3,3,0,0,0,3,3,0,1,0,0,0,0,0,0,0,2,1
1,0,0,1,0,2,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1
1,3,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,1,0,0,0,2,0,0,0,0,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1』

キーマップ#0=「ABCDEFG」
キーマップ#1=「HIJKLMN」
キーマップ#2=「OPQRSTU」
キーマップ#3=「VWXYZ38」

PX = 1
PY = 1
金貨の数=0
集めた金貨=0

*元イメージの作成
'迷路の描画
ペン色は、灰色。
塗り色は、白色。

文字サイズは、20
CH_W = 30 ; CH_H = 30
表示範囲は、4

元イメージを、イメージとして、作成。
mx = 31 * CH_W
my = 31 * CH_H
その、サイズは、(0,0,mx,my);
'画面初期化
元イメージの、(0,0)から、(mx,my)へ、四角形描画。

YYを、0から、14まで、繰り返す(
   XXを、0から、29まで、繰り返す(
      MXX = CH_H * XX
      MYY = CH_H * YY
      C = マップ#XX#YY
      もし、C=「」ならば、C=1
      もし、C=2ならば、金貨の数=金貨の数+1
      文字色は、文字絵色#C
      CH = 文字絵#C
      元イメージの、(MXX,MYY)へ、CHと、文字描画。
   )
   描画処理反映。
)
その、可視は、オフ。

'主人公の描画
キャライメージを、イメージとして、作成。
その、サイズは、(0,0,CH_W, CH_H)
文字色は、青色。
キャライメージの、(0,0)へ、「♀」を、文字描画。

母艦の、タイトルは、『タイピングRPG - 開始』
「ゲームの準備が出来ました。
このゲームの目的は、爆弾をよけつつ、
迷路に散らばる金貨を全て集めることです。
動きたい方向に書かれたキーを押すと、その方向に進みます。
それでは、はじめます。」と、言う。
マップの表示。

'動作キーの決定
文字サイズは、20
U=0
UD=50+表示範囲*CH_H
D =50+表示範囲*CH_H*2
L=0
LR=50+表示範囲*CH_W
R=50+表示範囲*CH_W*2
(LR,U)へ、移動。上ラベルを、ラベルとして、作成。
(L,UD)へ、移動。左ラベルを、ラベルとして、作成。
(LR,D)へ、移動。下ラベルを、ラベルとして、作成。
(R,UD)へ、移動。右ラベルを、ラベルとして、作成。
キーランダム。
待機。

*マップの表示
mx = CH_W * (PX - 表示範囲)
my = CH_H * (PY - 表示範囲)
mw = CH_W * 表示範囲 * 2
mh = CH_H * 表示範囲 * 2
(50,50)から、(50+mw,50+mh)へ、四角形。
元イメージの、(mx,my,mx+mw, my+mh)を、母艦の、(50,50,50+mw,50+mh)へ、
イメージ部分コピー。
'母艦の、タイトルは、"{mx},{my},{mw+mx},{mh+mh}"
母艦の、キー押した時を、キーイベントに、設定。
キャライメージの、Xは、50+表示範囲*CH_W
その、Yは、50+表示範囲*CH_H
戻る。

*キーイベント
'母艦の、タイトルは、「{押されたキー} = {左コード}」
母艦の、キー押した時は、「」
前のX = PX;前のY = PY;
もし、押されたキーが、左コードなら、PX = PX - 1。
もし、押されたキーが、右コードなら、PX = PX + 1。
もし、押されたキーが、上コードなら、PY = PY - 1。
もし、押されたキーが、下コードなら、PY = PY + 1。
{マップのイベント取得}
もし、(PX >= 0)かつ(PY >= 0)ならば、C = マップ#PX#PY。
違えば、C = 0。
もし、(C = 1)なら(
   PX = 前のX;PY = 前のY;
   ランタイムのパス&『tools\pi.wav』を、演奏。
)違えば(
   ランタイムのパス&『tools\pu.wav』を、演奏。
   マップイベント
)。
母艦の、タイトルは、「タイピングRPG - 金貨残り {金貨の数-集めいた金貨}個」
キーランダム
マップの表示へ、飛ぶ。
待機。

*マップイベント
もし、C=0ならば、戻る
もし、C=2ならば、(
   x1 = PX * CH_W
   y1 = PY * CH_H
   x2 = x1 + CH_W
   y2 = y1 + CH_H
   元イメージの、(x1,y1)から、(x2,y2)へ、四角形描画。
   マップ#PX#PY = 0
   ランタイムのパス&『tools\ki.wav』を、演奏。
   集めた金貨に、1を、足す。
   もし、集めた金貨=金貨の数ならば、(
      「全ての金貨を集めました!」と、言う。
      「おめでとうございます!!」と、言う。
      おわり。
   )。
)。
もし、C=3ならば、(
   「爆発!\nあなたは、死にました。\nゲームオーバー」と、言う。
   おわり。
)。
戻る。

*キーランダム
L = 文字数(キーマップ#0)

R=乱数(L)+1
キーマップ#0の中で、Rから、1つ、切り出す。
上キーは、それ。
キーマップ#1の中で、Rから、1つ、切り出す。
右キーは、それ。
キーマップ#2の中で、Rから、1つ、切り出す。
左キーは、それ。
キーマップ#3の中で、Rから、1つ、切り出す。
下キーは、それ。
上コードは、ASC(上キー)
右コードは、ASC(右キー)
左コードは、ASC(左キー)
下コードは、ASC(下キー)

上ラベルは、上キー
下ラベルは、下キー
右ラベルは、右キー
左ラベルは、左キー

キーマップ=キーマップ&キーマップ#0
キーマップの、0行目を、行削除。
キーマップは、それ。
戻る。




▲[ 30 ] / ▼[ 80 ]
NO.78  感想:タイピングでゲーム性アップ
□投稿者/ moka -(2002/01/07(Mon) 16:01:58)
□U R L/ http://www.geocities.jp/moka21/teatime/
お〜、すごい。タイプとRPG迷路とが見事に融合してますね。

実は、マップを簡略化して、ずるしてクリアしました。(^_^;)
だって、ついつい爆弾に突っ込んじゃうんだもーん。(爆)
簡単にマップ改造できるのは、よしくん作マップエディタのおかげです。

ところで、私は最近、落ち物タイピングゲーム作成で挫折しましたが、
思えば、タイピングシューティングとか格闘とか、いろいろ出来そうな気がしますね。
シューティング単体ではいまいちだけど、タイピング要素を組み合わせてごまかす、もとい(笑)、ゲーム性をアップさせるというような方法は、かなり使えそうです。



▲[ 78 ] / 返信無し
NO.80  なんとかクリア
□投稿者/ 初心者 -(2002/01/07(Mon) 16:31:37)
□U R L/
ぼくはなんとかクリアできましたよ。
たしかに「え?爆弾ふんじゃったの?まじ?ひでーよ。」
ってかんじのことが何回もありましたが根性でクリアしました。(*^_^*)

今度はむちゃくちゃなマップにしてみようかな?
金貨の数は30個、爆弾の数は今の倍(マップそのものの大きさは変わらない)とか・・・



- Child Tree -