您的位置:首页 > 科技 > IT业 > 郑州建设银行网点地址查询_广东东莞十大特产_网站优化外包费用_百度网站排名

郑州建设银行网点地址查询_广东东莞十大特产_网站优化外包费用_百度网站排名

2025/4/2 1:23:38 来源:https://blog.csdn.net/m0_52011717/article/details/146705761  浏览:    关键词:郑州建设银行网点地址查询_广东东莞十大特产_网站优化外包费用_百度网站排名
郑州建设银行网点地址查询_广东东莞十大特产_网站优化外包费用_百度网站排名

一些练习 C 语言的小游戏

在这里插入图片描述

1. 猜数字游戏

描述:程序随机生成一个数字,玩家需要猜测这个数字,并根据提示(太高或太低)调整猜测,直到猜中为止。

功能点

  • 随机数生成 (rand() 函数)。
  • 循环和条件判断。
  • 用户输入处理。

示例代码框架

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {int number, guess, attempts = 0;srand(time(0)); // 初始化随机数种子number = rand() % 100 + 1; // 生成 1 到 100 的随机数printf("猜数字游戏!我已经选好了一个 1 到 100 的数字。\n");do {printf("请输入你的猜测:");scanf("%d", &guess);attempts++;if (guess > number) {printf("太高了!\n");} else if (guess < number) {printf("太低了!\n");} else {printf("恭喜你,猜对了!你用了 %d 次。\n", attempts);}} while (guess != number);return 0;
}

2. 石头剪刀布

描述:玩家与计算机进行石头、剪刀、布的游戏,判断胜负。

功能点

  • 随机选择(计算机的选择)。
  • 条件判断(胜负逻辑)。
  • 用户输入处理。

示例代码框架

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {int player, computer;srand(time(0));printf("石头剪刀布游戏!\n");printf("请选择:1 - 石头, 2 - 剪刀, 3 - 布\n");scanf("%d", &player);computer = rand() % 3 + 1; // 计算机随机选择 1-3printf("你选择了:%d\n", player);printf("计算机选择了:%d\n", computer);if (player == computer) {printf("平局!\n");} else if ((player == 1 && computer == 2) || (player == 2 && computer == 3) || (player == 3 && computer == 1)) {printf("你赢了!\n");} else {printf("你输了!\n");}return 0;
}

3. 贪吃蛇(简化版)

描述:实现一个简单的贪吃蛇游戏,蛇在一个二维网格中移动,吃到食物后变长。

功能点

  • 二维数组表示游戏地图。
  • 键盘输入控制方向。
  • 游戏循环更新状态。

提示

  • 使用 # 表示墙壁,* 表示蛇,@ 表示食物。
  • 可以使用 ncurses 库(Linux)或 conio.h(Windows)处理键盘输入。

4. 井字棋(Tic-Tac-Toe)

描述:实现一个两人对战的井字棋游戏,玩家轮流在 3x3 的棋盘上放置标记(X 或 O),先连成一条线的玩家获胜。

功能点

  • 二维数组表示棋盘。
  • 判断胜负逻辑。
  • 用户输入验证。

示例代码框架

#include <stdio.h>char board[3][3];
void initBoard() {for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {board[i][j] = ' ';}}
}void printBoard() {for (int i = 0; i < 3; i++) {printf(" %c | %c | %c \n", board[i][0], board[i][1], board[i][2]);if (i < 2) printf("---+---+---\n");}
}int checkWin(char player) {// 检查行、列和对角线for (int i = 0; i < 3; i++) {if (board[i][0] == player && board[i][1] == player && board[i][2] == player) return 1;if (board[0][i] == player && board[1][i] == player && board[2][i] == player) return 1;}if (board[0][0] == player && board[1][1] == player && board[2][2] == player) return 1;if (board[0][2] == player && board[1][1] == player && board[2][0] == player) return 1;return 0;
}int main() {initBoard();char currentPlayer = 'X';int x, y, moves = 0;while (1) {printBoard();printf("玩家 %c,请输入坐标(x y):", currentPlayer);scanf("%d %d", &x, &y);if (board[x][y] != ' ') {printf("该位置已被占用,请重新输入。\n");continue;}board[x][y] = currentPlayer;moves++;if (checkWin(currentPlayer)) {printBoard();printf("玩家 %c 获胜!\n", currentPlayer);break;}if (moves == 9) {printBoard();printf("平局!\n");break;}currentPlayer = (currentPlayer == 'X') ? 'O' : 'X';}return 0;
}

5. 扫雷游戏

描述:实现一个简单的扫雷游戏,玩家需要揭开格子并避免触雷。

功能点

  • 二维数组表示地雷分布。
  • 地雷周围的数字计算。
  • 游戏逻辑(揭开格子、标记地雷等)。

6. 迷宫游戏

描述:生成一个迷宫,玩家需要通过键盘输入控制角色走出迷宫。

功能点

  • 迷宫生成算法(如深度优先搜索)。
  • 键盘输入控制角色移动。
  • 碰撞检测。

总结

这些小游戏涵盖了 C 语言的基本语法(如循环、条件判断、数组等)以及一些进阶技巧(如二维数组操作、随机数生成、用户输入处理等)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com