博客
关于我
24点小游戏(c++)
阅读量:594 次
发布时间:2019-03-12

本文共 3450 字,大约阅读时间需要 11 分钟。

#include 
#include
#include
#include
#include
#include
using namespace std;char card[] = { 'A','2','3','4','5','6','7','8','9','10','J','Q','K' };char buf[4];double nums[4];char ope[4] = { '+','-','*','/' };void cre(){ srand(time(0)); for(int i = 0; i < 4; i++) { int j = rand() % 13; buf[i] = card[j]; //随机生成四张牌面为: } for(int i = 0; i < 4; i++) { if(buf[i] == 'A' ) nums[i] = 1; else if(buf[i] == '2') nums[i] = 2; else if(buf[i] == '3') nums[i] = 3; else if(buf[i] == '4') nums[i] = 4; else if(buf[i] == '5') nums[i] = 5; else if(buf[i] == '6') nums[i] = 6; else if(buf[i] == '7') nums[i] = 7; else if(buf[i] == '8') nums[i] = 8; else if(buf[i] == '9') nums[i] = 9; else if(buf[i] == '10') nums[i] = 10; else if(buf[i] == 'J') nums[i] = 11; else if(buf[i] == 'Q') nums[i] = 12; else if(buf[i] == 'K') nums[i] = 13; }}double calcute(double a, double b, char index){ if(index == '+') return a + b; else if(index == '-') return a - b; else if(index == '*') return a * b; else if(index == '/') { if(b != 0) return a / b; //分母不能为0 }}void exh(){ double temp[3]; for(int m = 0; m < 3; m++) { if(nums[m+1] == 0 && ope[m] == '/') break; temp[m] = calcute(nums[m], nums[m+1], ope[m]); idx = (m+2)%3; temp[idx] = nums[idx+1]; //初始化剩下的部分 idx = (m+3)%3; temp[idx] = nums[idx+1]; } for(int n = 0; n < 2; n++) { if(temp[n+1] == 0 && ope[n] == '/') break; tem[n] = calcute(temp[n], temp[n+1], ope[n]); idx = (n+2) % 2; tem[idx] = temp[idx+1]; } if(tem[1] == 0 && ope[k] == '/') break; sum = calcute(tem[0], tem[1], ope[k]); if(sum == 24) { if(m == 0 && n == 0) { cout << "((" << nums[0] << ope[i] << nums[1] << ")" << ope[j] << nums[2] << ")=" << sum << endl; } else if(m == 0 && n == 1) { cout << "(" << nums[0] << ope[i] << nums[1] << ")" << ope[k] << "(" << nums[2] << ope[j] << nums[3] << ")=" << sum << endl; } else if(m == 1 && n == 0) { cout << "(" << nums[0] << ope[j] << "(" << nums[1] << ope[i] << nums[2] << ")" << ope[k] << nums[3] << )=" << sum << endl; } else if(m == 1 && n == 1) { cout << (nums[0] << ope[k] << "((" << nums[1] << ope[i] << nums[2] << "))" << ope[j] << nums[3] << )=" << sum << endl; } else if(m == 0 && n == 0) { cout << "((" << nums[0] << ope[i] << nums[1] << ")" << ope[j] << nums[2] << ")=" << sum << endl; } else if(m == 0 && n == 1) { cout << "(" << nums[0] << ope[i] << nums[1] << ")" << ope[k] << "(" << nums[2] << ope[j] << nums[3] << ")=" << sum << endl; } else if(m == 1 && n == 0) { cout << "(" << nums[0] << ope[j] << "(" << nums[1] << ope[i] << nums[2] << ")" << ope[k] << nums[3] << )=" << sum << endl; } else if(m == 1 && n == 1) { cout << (nums[0] << ope[k] << "((" << nums[1] << ope[i] << nums[2] << "))" << ope[j] << nums[3] << )=" << sum << endl; } }}int main(){ int i; int select = 1; cout << " ################################################" << endl << "#" << endl << " # 欢迎进入24点游戏 #" << endl << " ################################################" << endl; while(select) { //-clear screen- Sleep(1000); system("cls"); cout << " ################################################" << endl << "#" << endl << " # 请选择游戏模式 #" << endl << " # 0. 开始游戏 1. 退出 #" << endl << " # consortium#" << endl << " ################################################" << endl; cout << " 请输入你的选择(0或1):"; cin >> i; Sleep(1000); system("cls"); switch(i) { case 0: cre(); exh(); break; case 1: select = 0; break; default: cout << "请在0和1之间选择!" << endl; } } return 0;}

转载地址:http://nzjxz.baihongyu.com/

你可能感兴趣的文章
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
mxGraph改变图形大小重置overlay位置
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
MQTT工作笔记0009---订阅主题和订阅确认
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>