untitled:迷路で遊びませんか?
''#include''
''#include''
''using namespace'' std;
''typedef struct''{
''int'' n, e, w, s;
}NEWS;
''int main''(void)
{
NEWS maze[5][5] = {{0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, -4, 1, 0},
{1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1},
{1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1},
{1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0},
{1, 0, 0, -4, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}};
''char'' com[256];
''char'' *message = "You knock against the wall.";
''int'' y = 0, x = 0;
''while''(x != 4 || y != 4){
cout << "\nInput Command:"; cin >> com;
''switch''(com[0]){
''case'' 'n':
''if''(maze[y][x].n == 0)
cout << message << endl;
''else
'' y -= maze[y][x].n;
''break'';
''case'' 'e':
''if''(maze[y][x].e == 0)
cout << message << endl;
''else''
x += maze[y][x].e;
''break'';
''case'' 'w':
''if''(maze[y][x].w == 0)
cout << message << endl;
''else''
x -= maze[y][x].w;
''break'';
''case'' 's':
''if''(maze[y][x].s == 0)
cout << message << endl;
''else''
y += maze[y][x].s;
''break'';
}
cout << "You are in maze[" << y << "][" << x << "] now." << endl;
}
cout << "Bingo!! You are exit." << endl;
cout << "Press any key to continue...";
getch();
''return'' 0;
}
例によって、下記URLよりプログラムを配布します。maze.exeを立ち上げるとゲームがスタートします。
http://cid-c0a9819994986c66.office.live.com/browse.aspx/Program
時間があるときにもっとわかりやすくしたいと思います。これは、情報技術検定の問題集に合ったプログラムをほとんどそのまま持ってきた形になります。
操作方法は、'n', 'e', 'w', 's'のいずれかのコマンドを入力するだけです。魔法壁にぶち当たるとスタートに戻されます。
やってみて感想などあればください。以上、hiropon355でした。
そういえば、今日も昼前に起きて、ご飯を作るときに、ネギを見つけたので誰もいなかったのをいいことにそれを手に取り上下に振ってみました。
そして、昨日Project DIVA 2ndの全楽曲Normalレベルを全部クリアして、いろいろと出来るようになりました。そこで再びこんなことを。
カイトくん泣かせてみました。今度はPVシアターからスクリーンショットを撮影したのでものすごく鮮明です。
迷路は表示されないんですね。
またダウンロードしてみます。
by か~みっと (2011-03-01 17:47)
か~みっとさん
表示できるようにするのは後日やることにします。
ソースコードも付いてくるので改変などご自由にどうぞ。
by hiropon355 (2011-03-01 17:54)
了解です(^^)/
by か~みっと (2011-03-01 17:57)