C语言:游戏代码分享

小游戏分享

目录

小游戏分享

1.井字棋游戏

2.简单计算器游戏

3.猜单词

4.石头剪刀布游戏

5.猜数字游戏


1.井字棋游戏

     「3×3 棋盘上的思维博弈!与好友轮流落子,抢占先机,连成一线即可获胜。简单规则蕴含无限策略,展现你的战术智慧!」

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>char board[3][3] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}};
int currentPlayer = 1;  // 1=玩家X,2=玩家Ovoid printBoard() {printf("\n");printf(" %c | %c | %c \n", board[0][0], board[0][1], board[0][2]);printf("---+---+---\n");printf(" %c | %c | %c \n", board[1][0], board[1][1], board[1][2]);printf("---+---+---\n");printf(" %c | %c | %c \n", board[2][0], board[2][1], board[2][2]);printf("\n");
}bool checkWin() {// 检查行for (int i = 0; i < 3; i++)if (board[i][0] == board[i][1] && board[i][1] == board[i][2])return true;// 检查列for (int i = 0; i < 3; i++)if (board[0][i] == board[1][i] && board[1][i] == board[2][i])return true;// 检查对角线if (board[0][0] == board[1][1] && board[1][1] == board[2][2])return true;if (board[0][2] == board[1][1] && board[1][1] == board[2][0])return true;return false;
}bool checkDraw() {for (int i = 0; i < 3; i++)for (int j = 0; j < 3; j++)if (board[i][j] != 'X' && board[i][j] != 'O')return false;return true;
}void makeMove() {int position;char mark = (currentPlayer == 1) ? 'X' : 'O';printf("玩家 %d (%c) 的回合,请选择位置 (1-9): ", currentPlayer, mark);scanf("%d", &position);int row = (position - 1) / 3;int col = (position - 1) % 3;if (position >= 1 && position <= 9 && board[row][col] != 'X' && board[row][col] != 'O') {board[row][col] = mark;currentPlayer = (currentPlayer == 1) ? 2 : 1;} else {printf("无效的位置,请重试!\n");}
}int main() {printf("井字棋游戏!\n");while (1) {printBoard();makeMove();if (checkWin()) {printBoard();printf("玩家 %d 获胜!\n", (currentPlayer == 1) ? 2 : 1);break;}if (checkDraw()) {printBoard();printf("平局!\n");break;}}return 0;
}

2.简单计算器游戏

     「数学天才的试炼场!输入数字与运算符,挑战心算极限。快速验证计算能力,在数字世界中突破自我,成为计算大师!」

#include <stdio.h>int main() {char operation;double num1, num2, result;printf("简单计算器游戏!\n");printf("请输入操作 (+, -, *, /): ");scanf(" %c", &operation);printf("请输入两个数字: ");scanf("%lf %lf", &num1, &num2);switch (operation) {case '+':result = num1 + num2;printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);break;case '-':result = num1 - num2;printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);break;case '*':result = num1 * num2;printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);break;case '/':if (num2 != 0) {result = num1 / num2;printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);} else {printf("错误:除数不能为零!\n");}break;default:printf("错误:无效的操作符!\n");}return 0;
}

3.猜单词

     「词汇探险,智破谜题!根据提示字母,逐步揭开隐藏单词的神秘面纱。考验英语词汇量,每猜对一个单词都将解锁新的挑战!」

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>int main() {char *words[] = {"apple", "banana", "cherry", "grape", "orange"};int numWords = sizeof(words) / sizeof(words[0]);char guess[50];int attempts = 5;int i, len, correct = 0;char letter;bool found;srand(time(0));int randomIndex = rand() % numWords;char *word = words[randomIndex];len = strlen(word);char hidden[len + 1];for (i = 0; i < len; i++) {hidden[i] = '_';}hidden[len] = '\0';printf("猜单词游戏!你有%d次机会猜出这个单词。\n", attempts);while (attempts > 0 && strcmp(hidden, word) != 0) {printf("当前猜测: %s\n", hidden);printf("剩余尝试次数: %d\n", attempts);printf("请输入一个字母: ");scanf(" %c", &letter);letter = tolower(letter);found = false;for (i = 0; i < len; i++) {if (word[i] == letter) {hidden[i] = letter;found = true;}}if (!found) {attempts--;printf("错误!这个字母不在单词中。\n");} else {printf("正确!这个字母在单词中。\n");}}if (strcmp(hidden, word) == 0) {printf("恭喜你,猜对了!单词是: %s\n", word);} else {printf("游戏结束!正确的单词是: %s\n", word);}return 0;
}

4.石头剪刀布游戏

     「指尖对决,策略至上!石头、布、剪刀,三选一的永恒谜题。击败 AI 对手,成为不败王者,体验经典游戏的全新魅力!」

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {int player, computer;srand(time(0));computer = rand() % 3 + 1;  // 1=石头,2=布,3=剪刀printf("石头剪刀布游戏!\n");printf("请选择: 1=石头, 2=布, 3=剪刀: ");scanf("%d", &player);printf("你选择了: ");switch (player) {case 1: printf("石头\n"); break;case 2: printf("布\n"); break;case 3: printf("剪刀\n"); break;default: printf("无效选择\n"); return 1;}printf("电脑选择了: ");switch (computer) {case 1: printf("石头\n"); break;case 2: printf("布\n"); break;case 3: printf("剪刀\n"); break;}// 判断胜负if (player == computer)printf("平局!\n");else if ((player == 1 && computer == 3) || (player == 2 && computer == 1) || (player == 3 && computer == 2))printf("你赢了!\n");elseprintf("你输了!\n");return 0;
}

5.猜数字游戏

      「数字迷踪,智胜挑战!我已锁定 1-100 之间的神秘数字,每轮猜测都将获得精准提示。用最少的尝试揭开谜底,展现你的逻辑推理天赋!」

#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");elseprintf("恭喜你,猜对了!你用了%d次尝试。\n", attempts);} while (guess != number);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89390.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习入门-卷积神经网络(CNN)(下)

1-4、 深度学习入门-卷积神经网络&#xff08;CNN&#xff09;&#xff08;上&#xff09;-CSDN博客 5、 卷积神经网络&#xff08;CNN&#xff09;的实现 简单网络的构成是“Convolution - ReLU - Pooling - Affine - ReLU - Affine - Softmax”&#xff1a; 相关代码&#…

Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用(349)

Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用&#xff08;349&#xff09;引言&#xff1a;正文&#xff1a;一、Java 全场景韧性调度系统&#xff08;新增极端天气 车型适配&#xff09;1.1 极端天气&#xff1a;暴雪 / 台风的分钟级响应…

数论内容主要包括哪些

数论&#xff08;Number Theory&#xff09;是数学中研究整数的性质及其相互关系的一个分支&#xff0c;被誉为“数学中的皇后”。它历史悠久&#xff0c;内容丰富&#xff0c;既包含许多初等、直观的问题&#xff0c;也涉及高深、抽象的理论。数论的主要内容包括以下几个方面&…

springboot打包二次压缩Excel导致损坏

springboot打包二次压缩Excel导致损坏开发时&#xff0c;将Excel文件放到resources下&#xff0c;通过类加载器流读取&#xff0c;返回api用于下载该Excel文件。我发现这样下载的Excel被损坏了&#xff0c;无法打开&#xff0c;推测是springboot打包插件默认对resources下的所有…

huggingface笔记

1. huggingface的下载目录 ~/.cache/huggingface 2. 如何修改hugging face的模型默认下载地址 huggingface的默认下载路径在~/.cache/huggingface/hub/&#xff0c;但模型数据占用空间往往很大&#xff0c;可以用以下方法修改默认下载路径。 方法一&#xff1a;在linux中指定环…

Redis3:Redis数据结构与命令全解析

目录 1、redis数据结构介绍 1.1命令学习方式 1.1.1命令行查询 2、redis的通用命令 2.1查找常见的通用命令 2.2常见的通用命令&#xff1a; 3、String类型 3.1String类型的常见命令 3.2Key的层级格式 3.2.1Key的结构 4、Hash类型 4.1Hash类型 4.2Hash类型常见命令 …

WebSocket 重连与心跳机制:打造坚如磐石的实时连接

在现代 Web 应用中&#xff0c;WebSocket 是实现实时通信的核心技术。但网络环境复杂多变&#xff0c;如何确保连接稳定成为关键挑战。本文将深入剖析 WebSocket 的重连与心跳机制&#xff0c;提供一套经过生产环境验证的解决方案。 一、WebSocket 基础封装 首先我们实现一个具…

【代码】Matlab鸟瞰图函数

用matlab把图像转化为鸟瞰图 代码 clc clear close all I imread(road.png); figure(1) imshow(I) bevSensor load(birdsEyeConfig); birdsEyeImage transformImage(bevSensor.birdsEyeConfig,I); figure(2) imshow(birdsEyeImage)效果

网络编程-java

Socket 套接字 Socket套接字&#xff0c;是由系统提供用于网络通信的技术&#xff0c;是基于 TCP/IP 协议的网络通信的基本单元。基于 Socket 套接字的网络程序开发就是网络编程。 应用层会调用操作系统提供的一组 api &#xff0c;这组 api 就是 socket api&#xff08;传输层…

CPU架构、三级缓存以及内存优化屏障

目录 一、三级缓存和内存布局 二、CPU架构 &#xff08;1&#xff09;SMP对称对处理器架构 &#xff08;2&#xff09;NUMA非统一内存架构 三、RCU机制在内核中的体现 四、内存优化屏障 &#xff08;1&#xff09;编译器、CPU优化 &#xff08;2&#xff09;优化的问题…

HarmonyOS从入门到精通:动画设计与实现之九 - 实用动画案例详解(下)

HarmonyOS动画开发实战&#xff08;九&#xff09;&#xff1a;实用动画案例详解&#xff08;下&#xff09; 在上篇中&#xff0c;我们围绕加载动画、点赞反馈、下拉刷新等核心交互场景&#xff0c;探讨了如何通过动画提升用户体验。本篇将聚焦界面元素动效与特殊场景动画&…

Node.js 聊天内容加密解密实战教程(含缓存密钥优化)

一、技术方案说明 本方案采用以下技术组合&#xff1a; 加密算法&#xff1a;AES-256-GCM&#xff08;认证加密&#xff0c;防止篡改&#xff09;密钥派生&#xff1a;PBKDF2&#xff08;10万次迭代&#xff09;缓存机制&#xff1a;内存缓存 定期轮换安全特性&#xff1a;随机…

信息安全基础专业面试知识点(上:密码学与软件安全)

密码学DES加密流程56比特长度的密钥K, 分组长度64比特&#xff0c;密文64比特初始置换 (IP)&#xff1a;将输入的64位明文块进行置换&#xff0c;打乱其顺序。分成左右两半: 将置换后的64位数据分成左右两部分&#xff0c;每部分32位。16轮迭代加密: 这是DES的核心&#xff0c…

Windows Server 2025 黄金dMSA攻击漏洞:跨域攻击与持久化访问风险分析

网络安全研究人员近日披露了Windows Server 2025中委托管理服务账户&#xff08;dMSA&#xff0c;Delegated Managed Service Accounts&#xff09;存在的"关键设计缺陷"。据Semperis公司向The Hacker News提供的报告显示&#xff1a;"该漏洞可能导致高危害攻击…

解锁数据分析:从基础概念到核心指标的全面指南

在数字化时代&#xff0c;数据已成为驱动业务决策的核心力量。无论是运营一款 APP、管理一家便利店&#xff0c;还是优化在线教育课程&#xff0c;理解数据的本质与关键指标都至关重要。本文将从数据的基本概念出发&#xff0c;拆解运营全流程中的核心指标&#xff0c;并分享数…

DiffPy-CMI详细安装教程

本章教程,主要记录安装DiffPy-CMI的具体安装步骤。 DiffPy-CMI 是一个复杂建模框架,是高度灵活的 Python 模块库,专为晶体、纳米材料及非晶态材料的纳米结构建模而设计。 注意:DiffPy-CMI只支持在Linux和Mac上安装,Windows上是不支持的。 一、准备工作 需要准备一台Linux或…

中国各省市县坡度数据(Tif/Excel)

数据简介 昨天我们分享了中国120m精度的DEM数据(见前文)&#xff0c;今天我们根据该数据计算中国的坡度数据&#xff0c;并根据中国省市县行政区划数据将其统计各省市县坡度的最大、最小以及平均值&#xff0c;方便大家研究使用。 基于中国120米精度DEM生成的坡度数据&#xff…

09-three.js Materials

Three.js Journey — Learn WebGL with Three.jsThe ultimate Three.js course whether you are a beginner or a more advanced developerhttps://threejs-journey.com/?cp3 MeshBasicMaterial 添加3个网格体&#xff1a; /*** Object*/ // MashBasicMaterial const mater…

Netty介绍和基本代码演示

什么是Netty&#xff1f;Netty是一个基于Java NIO的异步事件驱动的网络应用框架&#xff0c;主要用于快速开发高性能、高可靠性的网络服务器和客户端程序。它简化了网络编程的复杂性&#xff0c;提供了丰富的协议支持&#xff0c;被广泛应用于各种高性能网络应用中。为什么选择…

[BrowserOS] Nxtscape浏览器核心 | 浏览器状态管理 | 浏览器交互层

第三章&#xff1a;Nxtscape浏览器核心 欢迎回来&#xff01; 在前两章中&#xff0c;我们了解了名为专用AI代理的专家团队及其管理者AI代理协调器&#xff0c;它们协同解析需求并规划执行步骤。 但这些代理与协调器实际运行的平台是什么&#xff1f;答案正是本章的核心——…