c言語マップ探査ゲーム プログラミング
学校の課題で、5×5のマス目を移動するマップ探査ゲームというものをプログラミングします。
プログラミングは超初心者なので簡単な命令で、できれば軽く解説してもらえると嬉しいです。
プレイヤーは移動方向を選択し、それぞれのマス目で通過か探査を選びます。
探査を選ぶとランダムで2~9のgoldを手に入れ獲得goldはメッセージで知らされます。
マップの表し方は
1 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
未探査のマスを0、プレイヤーを1、探査済のマスを獲得gold2~9で表します。
左上をスタートとし右下をゴールとします。
その他の条件として
1、スタート地点は探査は行えず、ゴール地点は必ず探査を行うようにします。
2、マス目から外れたところには、行けないようにします。(現在地を変化させない)
3、適当な位置に所持goldが半分もしくは、全額失うマス目を二ヶ所作ります。半額は少数切り上げ で、goldを失ったこととその数をメッセージで知らせ、マップには-1と表示します。
4、マップ上ではプレイヤーを優先して表示します。
5、マスは自由に移動可能だが、探査済のマスは再探査できない。
6、ゴール地点を探査した時点でゲーム終了となり、43~47gold入手してる場合は"You wins!"それ以外は、"You lost!"と表示しゲームを終了する。
例として
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int movex = 0, movey = 0, gold = 0, getm;
int direction, scanp;
srand(time(NULL));
while (1) {
printf("Input, where you going ? (Up:1, Down:2, Left:3, Right:4): ");
scanf("%d", &direction);
switch (direction) {
case 1:
movey--;
break;
case 2:
movey++;
break;
case 3:
movex--;
break;
case 4:
movex++;
break;
}
printf("Input, Check or Through ? (Check:1, Through:0) : ");
scanf("%d", &scanp);
if(scanp == 1 ) {
getm = rand() % 8 + 2;
printf("You get %d gold.\n", getm);
gold = gold + getm;
}
}
exit(0);
}
が与えられています。
これを参考に作ってもらえるとありがたいです。
お礼
>あめちゃん欲しいか? あはは~!いったいどんなパワーなんだか(笑) >なぁなぁ この間の話やけど・・・ 立ち話 人生のほとんどにこの時間を費やしてそう(-_-;) >アンタ!それ私のやで! バーゲンセール・・・ あはは~!大笑い!いやいや・・名前書いてませんから~(笑) >トイレが混んでるときは男子のほう入ったらええがな 時間短縮 混んでなくても入るんじゃないの??(^_^;) ご回答頂きありがとうございました。 2マス⇒元に戻る⇒3マス進む⇒3マス進む(1回休み・千円マイナス) ⇒もう1回サイコロを振った1マス進む