本帖最后由 liuhao_hm 于 2015-9-16 21:47 编辑
- // 虽然是个很简单的小游戏,但是自己做出还是挺不错的
- #include <stdio.h>
- void printMap(char map[11][12], int row, int col);
- int main()
- {
- // 定义地图数组
- char map[11][12] = {
- {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
- {'#', ' ', ' ', ' ', '#', '#', '#', ' ', '#', ' ', ' ', '#'},
- {'#', 'R', '#', ' ', '#', '#', '#', '#', ' ', ' ', '#', '#'},
- {'#', ' ', '#', '#', ' ', ' ', '#', '#', ' ', '#', '#', '#'},
- {'#', ' ', '#', '#', '#', '#', '#', '#', ' ', ' ', ' ', '#'},
- {'#', ' ', ' ', '#', ' ', '#', ' ', ' ', ' ', '#', ' ', '#'},
- {'#', '#', ' ', '#', ' ', ' ', ' ', '#', '#', '#', ' ', '#'},
- {'#', '#', ' ', '#', ' ', '#', ' ', '#', '#', '#', ' ', '#'},
- {'#', '#', ' ', ' ', ' ', '#', ' ', '#', '#', '#', ' ', ' '},
- {'#', '#', ' ', '#', '#', '#', ' ', ' ', '#', '#', '#', '#'},
- {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}
- };
-
- int row = sizeof(map) / sizeof(map[0]);
- int col = sizeof(map) / row;
-
- // 打印地图
- printMap(map, row, col);
-
- // 定义人所在的位置
- int rRow = 2;
- int rCol = 1;
-
- // 定义终出口位置
- int endRow = 8;
- int endCol = 11;
-
- // 定义计数器
- int num = 0;
-
- // 循环判断玩家是否走出地图
- while ('R' != map[endRow][endCol]) {
- // 提示用户操作
- printf("亲,请输入相应的操作\n");
- printf("w(向上移动) s(向下移动) a(向左移动) d(向右移动) \n");
- printf("以操作次数%i\n", num++);
-
- // 接收玩家输入的操作
- char run = getchar();
- getchar();
-
- // 根据玩家输入选择对应操作
- switch (run) {
- case 'w':
- if ('#' != map[rRow-1][rCol]) {
- map[rRow][rCol] = ' ';
- rRow--;
- map[rRow][rCol] = 'R';
- }
- break;
- case 's':
- if ('#' != map[rRow+1][rCol]) {
- map[rRow][rCol] = ' ';
- rRow++;
- map[rRow][rCol] = 'R';
- }
- break;
- case 'a':
- if ('#' != map[rRow][rCol-1]) {
- map[rRow][rCol] = ' ';
- rCol--;
- map[rRow][rCol] = 'R';
- }
- break;
- case 'd':
- if ('#' != map[rRow][rCol+1]) {
- map[rRow][rCol] = ' ';
- rCol++;
- map[rRow][rCol] = 'R';
- }
- break;
- }
- // 打印地图
- printMap(map, row, col);
- }
- printf("你太牛逼了\n");
- printf("请购买正版,解锁跟多模式哦\n");
- return 0;
- }
- void printMap(char map[11][12], int row, int col)
- {
- for (int x = 0; x < row; x++) {
- for (int y = 0; y < col; y++) {
- printf("%c",map[x][y]);
- }
- printf("\n");
- }
- }
复制代码
|
|