当前位置: 首页 > news >正文

C++比大小游戏

目录

  • 开头
  • 程序
  • 程序的流程图
  • 程序游玩的效果
  • 下一篇博客要说的东西

开头

大家好,我叫这是我58。

程序

#include <iostream>
#include <Windows.h>
using namespace std;
int main() {int ir = 1;char chparr[2] = { 0 };int ip1 = 0;int ip2 = 0;int i = 1;cout << "欢迎你们来玩这个比大小游戏,在这个游戏中,P1只能输入1~8以内的数和未知数X来跟P2的数比大小,P2也只能输入1~8以内的数和未知数X来跟P1的数比大小,这里面的未知数X的规则是:如果对面的数<5,那么未知数X=0,否则未知数X=9,而如果P1的数大于P2的数,那么P1记一分,如果P2的数大于P1的数,那么P2记一分,如果P1的数等于P2的数,那么谁都不记一分,这样的对局一共有三轮,如果P1的分大于P2的分,那么P1胜利,如果P2的分大于P1的分,那么P2胜利,但如果P1的分等于P1的分,那么P1和P2就平局了,你听明白了吗?" << endl << endl;for (; ir < 4; ir++) {system("pause");system("color 07");system("cls");cout << "第" << ir << "局\t" << ip1 << " : " << ip2 << endl;for (i = 1; i < 3; i++) {cout << "1 2 3 4 5 6 7 8 X" << endl << "请P" << i << "输入上面的其中一个数字 -> ";cin >> chparr[i - 1];rewind(stdin);while (!(chparr[i - 1] > '0' && chparr[i - 1] < '9' || 'X' == chparr[i - 1])) {cout << "\033[31;1m输入错误\033[0m,请P" << i << "重新输入上面的其中一个数字 -> ";cin >> chparr[i - 1];rewind(stdin);}chparr[i - 1] -= '0';cout << endl;}cout << endl;for (i = 0; i < 2 && chparr[0] != chparr[1]; i++) {40 == chparr[i] && (chparr[1 - i] < 5 && (chparr[i] = 0), chparr[1 - i] < 5 || (chparr[i] = 9));}if (chparr[0] > chparr[1]) {system("color 02");cout << "P1胜,记一分" << endl;ip1++;}else if (chparr[0] < chparr[1]) {system("color 02");cout << "P2胜,记一分" << endl;ip2++;}else {system("color 08");cout << "平局,无人记分" << endl;}}system("pause");system("color 07");system("cls");cout << ip1 << " : " << ip2 << endl << "最终获胜的人是:";Sleep(1500);if (ip1 > ip2) {system("color 0A");cout << "P1!" << endl;}else if (ip1 < ip2) {system("color 0A");cout << "P2!" << endl;}else {system("color 08");cout << "无人,请再接再厉!" << endl;}return 0;
}

程序的流程图

是(等待用户按下任意一个键,按下后就把背景色设为黑色,前景色设为白色,并清屏)
否(等待用户按下任意一个键,按下后就把背景色设为黑色,前景色设为白色,并清屏)
等待1.5秒
开始
导入io流
导入Windows.h
释放std命名空间的所有东西
定义整型ir为1
把有两个字符的字符数组chparr全都初始化为0
定义整型ip1为0
定义整型ip2为0
定义整型i为1
输出“欢迎你们来玩这个比大小游戏,在这个游戏中,P1只能输入1~8以内的数和未知数X来跟P2的数比大小,P2也只能输入1~8以内的数和未知数X来跟P1的数比大小,这里面的未知数X的规则是:如果对面的数<5,那么未知数X=0,否则未知数X=9,而如果P1的数大于P2的数,那么P1记一分,如果P2的数大于P1的数,那么P2记一分,如果P1的数等于P2的数,那么谁都不记一分,这样的对局一共有三轮,如果P1的分大于P2的分,那么P1胜利,如果P2的分大于P1的分,那么P2胜利,但如果P1的分等于P1的分,那么P1和P2就平局了,你听明白了吗?\​n\​n”
ir < 4?
输出“第”,ir,“局\​t”,ip1,“ : ”ip2,并换行
设i为1
i < 3?
输出“1 2 3 4 5 6 7 8 X\​n请P”,i和“输入上面的其中一个数字 -> ”
把字符数组chparr的第i减1项设为你输入的内容
清空缓存区
!(chparr[i - 1] > '0' && chparr[i - 1] < '9' || 'X' == chparr[i - 1])
输出“\​033[31;1m输入错误\​033[0m,请P”,i和“重新输入上面的其中一个数字 -> ”
把字符数组chparr的第i减1项设为你输入的内容
清空缓存区
把字符数组chparr的第i减1项自减去字符“0”的ASCII码值
输出“\​n”
i自增1
输出“\​n”
设i为0
i < 2 && chparr[0] != chparr[1]?
40 == chparr[i]?
chparr[1 - i] < 5?
把字符数组chparr的第i项设为0
chparr[1 - i] < 5?
i自增1
chparr[0] > chparr[1]?
把背景色设为黑色,前景色设为绿色
输出“P1胜,记一分\​n”
ip1自增1
ir自增1
输出ip1,“ : ”,ip2和“\​n最终获胜的人是:”
ip1 > ip2?
把背景色设为黑色,前景色设为淡绿色
输出“P1!\​n”
结束
ip1 < ip2?
背景色设为黑色,前景色设为淡绿色
输出“P2!\​n”
把背景色设为黑色,前景色设为灰色
输出“无人,请再接再厉!\​n”
chparr[0] < chparr[1]?
把背景色设为黑色,前景色设为绿色
输出“P2胜,记一分\​n”
ip2自增1
把背景色设为黑色,前景色设为灰色
输出“平局,无人记分\​n”
把字符数组chparr的第i项设为9

程序游玩的效果

比大小游戏

下一篇博客要说的东西

C++3D迷宫

相关文章:

C++比大小游戏

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <Windows.h> using namespace std; int main() {int ir 1;char chparr[2] { 0 };int ip1 0;int ip2 0;int i 1;c…...

PCIe进阶之TL:Memory, I/O, and Configuration Request Rules TPH Rules

1 Memory, I/O, and Configuration Request Rules 下述规则适用于 Memory 请求、IO 请求和配置请求。 除了公共的 header 字段外,所有 Memory 请求、IO 请求和配置请求还包括以下字段: (1)Requester ID[15:0] 和 Tag[9:0],组成了 Transaction ID 。 (2)Last DW BE[3:0]…...

【初阶数据结构】一文讲清楚 “堆” 和 “堆排序” -- 树和二叉树(二)(内含TOP-K问题)

文章目录 前言1. 堆1.1 堆的概念1.2 堆的分类 2. 堆的实现2.1 堆的结构体设置2.2 堆的初始化2.3 堆的销毁2.4 添加数据到堆2.4.1 "向上调整"算法 2.5 从堆中删除数据2.5.1 “向下调整”算法 2.6 堆的其它各种方法接口函数 3. 堆排序3.1 堆排序的代码实现 4. TOP-K问题…...

sqli-lab靶场学习(二)——Less8-10(盲注、时间盲注)

Less8 第八关依然是先看一般状态 http://localhost/sqli-labs/Less-8/?id1 然后用单引号闭合&#xff1a; http://localhost/sqli-labs/Less-8/?id1 这关的问题在于报错是不显示&#xff0c;那没办法通过上篇文章的updatexml大法处理。对于这种情况&#xff0c;需要用“盲…...

Dijkstra算法和BFS算法(单源最短路径)

基于你设计的带权有向图&#xff0c;从某一结点出发&#xff0c;执行Dijkstra算法求单源最短路径。用文字描述每一轮执行的过程 文字描述&#xff1a;用BFS算法求单源最短路径的过程 Dijkstra 算法 BFS算法 广度优先算法...

在WordPress中最佳Elementor主题推荐:专家级指南

对于已经在WordPress和Elementor上有丰富经验的用户来说&#xff0c;选择功能强大且高度灵活的主题&#xff0c;能大大提升网站的表现和定制能力。今天&#xff0c;我们来介绍六款适合用户的专家级Elementor主题&#xff1a;Sydney、Blocksy、Rife Free、Customify、Deep和Laye…...

关于RabbitMQ消息丢失的解决方案

RabbitMQ如何保证消息的可靠性传输 一、消息丢失的原因 1. 生产者端 网络问题&#xff1a; 原因&#xff1a;生产者与RabbitMQ服务器之间的网络连接不稳定或中断&#xff0c;导致消息在传输过程中丢失。解决方案&#xff1a;确保网络连接稳定&#xff0c;监控网络状态&#x…...

c语言动态内存分配

前言 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在申明的时候&#xff0c;必须指定数组的…...

零基础制作一个ST-LINK V2 附PCB文件原理图 AD格式

资料下载地址&#xff1a;零基础制作一个ST-LINK V2 附PCB文件原理图 AD格式 ST-LINK/V2是一款可以在线仿真以及下载STM8以及STM32的开发工具。支持所有带SWIM接口的STM8系列单片机;支持所有带JTAG / SWD接口的STM32系列单片机。 基本属性 ST-LINK/V2是ST意法半导体为评估、开…...

nginx基础篇(一)

文章目录 学习链接概图一、Nginx简介1.1 背景介绍名词解释 1.2 常见服务器对比IISTomcatApacheLighttpd其他的服务器 1.3 Nginx的优点(1)速度更快、并发更高(2)配置简单&#xff0c;扩展性强(3)高可靠性(4)热部署(5)成本低、BSD许可证 1.4 Nginx的功能特性及常用功能基本HTTP服…...

监控系列之-Grafana面板展示及制作

一 Grafana设置添加数据源 1、设置Grafana中文显示 最后保存退出&#xff0c;数据源添加完毕 2、导入node_exporter主机监控面板 此处 有外网的情况下&#xff0c;直接输入对应面板的ID号&#xff0c;然后点击加载即可&#xff1b;无无外网的话&#xff0c;则考虑使用上传仪表…...

值传递和地址传递

值传递 我们从下面这段代码开始&#xff1a; point(char*pt); void main(){char b[4]{m,n,o,p},*ptb;point(pt);printf("%c\n",*pt); } point(char *p){p3; }这段代码定义了一个函数 point 和一个主函数 main。 在 main 函数中&#xff0c;定义了一个字符数组 b 并…...

Docker vs. containerd 深度剖析容器运行时

随着容器技术的日益普及&#xff0c;Docker 和 containerd 这两个名词频繁出现在我们的视野中。它们都是容器化技术的重要组成部分&#xff0c;但各自扮演着不同的角色。本文将深入探讨 Docker 和 containerd 的区别与联系&#xff0c;帮助大家更好地理解容器技术的底层原理。 …...

ARM32 base instruction -- blx

BLX 带返回和状态切换的跳转指令&#xff0c;此指令只适用 ARMv5T*, ARMv6*, ARMv7。 BLX (immediate) Branch with Link calls a subroutine at a PC-relative address. Branch with Link and Exchange Instruction Sets (immediate) calls a subroutine at a PC-relativ…...

sql数据库

目录 一. 数据库的概念 二. 常用的数据库 三. SQL基础 四. SQL语句的使用 一. 数据库的概念 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是存放数据的仓库。它的存储空…...

2024/9/19 408大题专训之五段式指令流水线题型总结

结构冒险&#xff1a; 指令步骤&#xff1a;IF(取指令) ID(译码) EX&#xff08;执行、计算&#xff09;M&#xff08;访存&#xff09;WB&#xff08;写回&#xff09; 其中if和m都需要访问主存取指令和数据&#xff0c;如何解决呢&#xff1f;可以把cache分成数据cache指令…...

Android SPN/PLMN 显示逻辑简介

功能描述 当设备驻网后(运营商网络),会在状态栏、锁屏界面、下拉控制中心显示运营商的名称。 此名称来源有两种: 1、SPN(Service Provider Name) 2、PLMN (Public Land Mobile Name) 功能AOSP默认逻辑SPN提供SIM卡的运营商名称预置在SIM EF中,SIM卡发行运营商名称…...

1.使用 VSCode 过程中的英语积累 - File 菜单(每一次重点积累 5 个单词)

前言 学习可以不局限于传统的书籍和课堂&#xff0c;各种生活的元素也都可以做为我们的学习对象&#xff0c;本文将利用 VSCode 页面上的各种英文元素来做英语的积累&#xff0c;如此做有 3 大利 这些软件在我们工作中是时时刻刻接触的&#xff0c;借此做英语积累再合适不过&a…...

什么是数字化转型升级?

一、什么是数字化转型升级&#xff1f; 数字化转型升级是一个综合性概念&#xff0c;涵盖多个方面的深刻变革。比如说&#xff1a; 技术层面 1、数据化与信息化基础建设 首先是将企业或组织内部的各类业务信息转化为数据形式。例如&#xff0c;传统制造业将生产过程中的设备…...

JAVA开源项目 校园美食分享平台 计算机毕业设计

本文项目编号 T 033 &#xff0c;文末自助获取源码 \color{red}{T033&#xff0c;文末自助获取源码} T033&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...

MyBatis 增删改查【后端 17】

MyBatis 增删改查 引言 MyBatis 是一个优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射&#xff0c;将接口和 Java 的 POJOs (…...

计算机网络(运输层)

物理层、数据链路层以及网络层共同解决了将主机通过异构网络互联起来所面临的问题&#xff0c;实现了主机与主机之间的通信。 实际上在计算机网络中进行通信的真正实体事位于通信两端主机中的进程。 运输层的任务就会是提供运行在不同主机上的应用进程提供直接的通信服务&…...

Linux 线程控制

2. Linux 线程控制 首先&#xff0c;**内核中有没有很明确的线程的概念**&#xff0c;而有**轻量级进程的概念**。当我们想写多线程代码时&#xff0c;可以使用**POSIX线程库**&#xff0c;这是一个 处于应用层位置的库&#xff0c;几乎所有的Linux发行版都默认带这个库&#x…...

内网通3.4.3045广告码、积分码

内网通3.4.3045广告码、积分码 https://download.csdn.net/download/weixin_42120669/89772091...

MATLAB给一段数据加宽频噪声的方法(随机噪声+带通滤波器)

文章目录 引言方法概述完整代码:结果分析结论参考文献引言 在信号处理领域,添加噪声是模拟实际环境中信号传输时常见的操作。宽频噪声可以用于测试系统的鲁棒性和信号处理算法的有效性。本文将介绍如何使用 M A T L A B MATLAB MATLAB给一段数据添加宽频噪声,具体方法是结合…...

网安标委发布敏感个人信息识别指南

9月14日全国网络安全标准化技术委员会秘书处发布《网络安全标准实践指南——敏感个人信息识别指南》 敏感个人信息识别规则&#xff1a; 一旦遭到泄露或者非法使用&#xff0c;容易导致自然人的人格尊严受到侵害、自然人的人身安全受到危害、自然人财产安全受到危害。 注意&am…...

音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…...

几何 | 数学专项

日期内容2024.9.19创建 { d > 0 , 递增数列 d < 0 , 递减数列 d 0 &#xff0c;常数列 \begin{cases} d>0,递增数列\\ d<0,递减数列\\ d0&#xff0c;常数列 \end{cases} ⎩ ⎨ ⎧​d>0,递增数列d<0,递减数列d0&#xff0c;常数列​ 【2010.13】 【1.历年真…...

学习CubeIDE——定时器开发

在b站上学习洋桃电子关于HAL库开发&#xff0c;发现使用CubeIDE是真的简单又方便。 实验现象&#xff1a;使用定时器来产生中断&#xff0c;中断程序是LED灯翻转 在我看来&#xff0c;定时器&#xff0c;是一个从0开始增1&#xff08;常规&#xff09;&#xff0c;增加到一定…...

【Elasticsearch】-图片向量化存储

需要结合深度学习模型 1、pom依赖 注意结尾的webp-imageio 包&#xff0c;用于解决ImageIO.read读取部分图片返回为null的问题 <dependency><groupId>org.openpnp</groupId><artifactId>opencv</artifactId><version>4.7.0-0</versio…...