【C++】24点游戏

 

       提前bb:采用的ide是vc++ 6.0 ,并且是通过24点游戏.cpp包含Judge.h、compute.h、menu.h3个文件


一、题目分析

       24点游戏是经典的纸牌益智游戏。

       游戏规则:

       从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。

       要求(全部实现)

       1.随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式。

       2.程序风格良好(使用自定义注释模板)。

       3.列出表达式无重复。

       4.用户初始生命值为一给定值(比如3),初始分数44 CC为0。随机生成4个代表扑克牌牌面的数字或字母,由用户输入包含这4 个数字或字母的运算表达式(可包含括号),如果表达式计算结果为24则代表用户赢了此局。 

       5.使用计时器要求用户在规定时间内输入表达式,如果规定时间内运算正确则加分,超时或运算错误则进入下一题并减少生命值(不扣分)。

       6.所有成绩均可记录在TopList.txt文件中。

二、算法分析

       难难点在于表达式的计算,其实就是后缀表达式的计算~具体过程可见代码或者其他教程。

       计时可以用time_t类型的变量,设定一个time_begin,然后用当前已运行的时间减去起始时间,超过规定的时间则执行其他操作(此处我设定的是3s,觉得时间短了的可以改)。

三、流程图

四、代码实现

【24点游戏.cpp】

//版本:1.1
//主要功能:系统随机生成四个数字,游戏玩家输入由四个数字组成的四则运算表达式,使计算结果得24
//系统会检查玩家输入的四则运算表达式是否正确。并给出提示。同时系统会给出所有的表达式使得这四个
//数字的运算结果为24
#include<iostream>
#include"menu.h"
#include"compute.h"
#include"Judge.h"
#include<math.h>
using namespace std;
int main()
{
	int option;
	int flag;
	char a;
	Menu();
	do
	{
		cout<<"请输入你的选项:";
		cin>>option; 
		if(option>=1&&option<=3)
		{
			flag=1;
			break;
		}
		else
		{
			flag=0;
			cout<<"你的输入有误,请重新输入!"<<endl;
		}
	}while(flag==0);
	while(flag==1)
	{
		switch(option)
		{
	
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值