课程设计24点小游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称:面向对象程序设计C++
设计题目: 24点小游戏
专业:计算机科学与技术
姓名:
学号:
指导教师:李晓虹
2016 年 1 月 4 日
课程设计报告模块内容要求:
(1)系统需求分析:基本简单小游戏通过c++实现
(2)总体设计:
1. 系统自动给出4个数字(1-k,其中J,Q,K按一点算)
2. 由玩家自主计算,当给出数字不能算出24点时,按任意
键继续;
3. 由玩家自行决定是否继续游戏;
4. 在任何情况下都可以按Esc键结束游戏;
(3)系统调试:
程序实现代码:
1.主函数:
2.#include "stdio.h"
3.#include "conio.h"
4.#include "stdlib.h"
5.#include "time.h"
6.#include "math.h"
7.#include "string.h"
8./*
9.从一副扑克牌中,任取4张。
10.2-10 按其点数计算(为了表示方便10用T表示),J,Q,K,A 统一按
1 计算
11.要求通过加减乘除四则运算得到数字24。
12.本程序可以随机抽取纸牌,并用试探法求解。
13.*/
14.v oid GivePuzzle(char* buf)
15.{
16.int i;
17.char card[] = {'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
18.for(i=0;i<4;i++)
19.{
20.buf[i]=card[rand()%13];
21.}
22.}
23.v oid shuffle(char * buf)
24.{
25.int i,k;
26.char t;
27.for(i=0; i<5; i++)
28.{
29.k = rand() % 4;
30.t = buf[k];
31.buf[k] = buf[0];
32.buf[0] = t;
33.}
34.}
35.i nt GetCardValue(int c)
36.{
37.if(c=='T') return 10;
38.if(c>='0' && c<='9') return c - '0';
39.return 1;
40.}
41.c har GetOper(int n)
42.{
43.switch(n)
44.{
45.case 0:
46.return '+';