版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*ByReason*/#include#include#include#include#include#include/为了读取方向键#includeusingnamespacestd;/srand(unsigned)time(NULL);/随机数种子不能用在这里intpane44;/棋盘intN=1;/2的n次方voidshowpane()/显示棋盘coutsetw(46)X2048byReasonendl;coutsetw(50)|endl;for(inti=0;i=3;i+)coutsetw(24);for(intj=0;j=3;j+)/SetConsoleTextAttribute(
2、GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);coutsetw(2)|setw(4)paneij;if(j=3)coutsetw(2)|endl;coutsetw(50)|endl;voidnewgame()/开始游戏N=1;for(inti=0;i=3;i+)/初始化棋盘for(intj=0;j=3;j+)paneij=0;srand(unsigned)time(NULL);intm=rand()%4;intn=rand()%4;intp=rand()%4;intq=rand()%4;panemn=panepq=2;showpane();in
3、tif2n(intx)/判断x是否是2的n次方intflag=0;for(intn=1;nN)N=n;returnflag;returnflag;intupmove()/上移intflag=0;for(intj=0;j=3;j+)for(inti=0;i3;i+)if(if2n(paneij+panei+1j)=1)paneij=paneij+panei+1j;panei+1j=0;flag=1;returnflag;intdownmove()/下移intflag=0;for(intj=0;j0;i-)if(if2n(paneij+panei-1j)=1)paneij=paneij+panei
4、-1j;panei-1j=0;flag=1;returnflag;intleftmove()/左移intflag=0;for(inti=0;i=3;i+)for(intj=0;j3;j+)if(if2n(paneij+paneij+1)=1)paneij=paneij+paneij+1;paneij+1=0;flag=1;returnflag;intrightmove()/右移intflag=0;for(inti=0;i0;j-)if(if2n(paneij+paneij-1)=1)paneij=paneij+paneij-1;paneij-1=0;flag=1;returnflag;intt
5、estup()/能否上移测试intflag=0;for(intj=0;j=3;j+)for(inti=0;i3;i+)if(if2n(paneij+panei+1j)=1)flag=1;returnflag;inttestdown()/测试能否下移intflag=0;for(intj=0;j0;i-)if(if2n(paneij+panei-1j)=1)flag=1;returnflag;inttestleft()/测试能否左移intflag=0;for(inti=0;i=3;i+)for(intj=0;j3;j+)if(if2n(paneij+paneij+1)=1)flag=1;retur
6、nflag;inttestright()/测试能否右移intflag=0;for(inti=0;i0;j-)if(if2n(paneij+paneij-1)=1)flag=1;returnflag;intpanemax()/棋盘最大数intmax=pane00;for(inti=0;i=3;i+)for(intj=0;jmax)max=paneij;returnmax;intifwin()/判断是否胜利intflag=0;if(panemax()=2048)coutsetw(45)YouWin!endl;flag=1;returnflag;intifGameOver()/判断是否游戏结束int
7、flag=0;if(testup()+testdown()+testleft()+testright()=0)coutsetw(43)GameOver!=0;i-)for(intj=0;j=3;j+)if(paneij=0)paneij=newnumber;return;voidaddnewnumberdown()/下移后添加新数srand(unsigned)time(NULL);intn;if(N=1)n=1;elsen=(rand()%(N)+1);intnewnumber=pow(2,n);for(inti=0;i=3;i+)for(intj=0;j=0;j-)for(inti=0;i=3;i+)if(paneij=0)paneij=newnumber;return;voidaddnewnumberright()/右移后添加新数srand(unsigned)time(NULL);intn;if(N=1)n=1;elsen=(rand()%(N)+1);intnewnumber=pow(2,n);for(intj=0;j=3;j+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高速电气化铁路接触网》课件2.2.4腕臂
- 《职业规划能力提升与就业指导》第一章
- 甲基硅氧烷生产工工作标准化能力考核试卷含答案
- 絮锦加工工岗位安全意识考核试卷含答案
- 景区运营管理师交接知识考核试卷含答案
- 2025年执业医师考试综合考试真题卷附答案完整版
- 2025年职业健康考试答题试卷及解析答案
- 2025年中储粮储运有限公司公开招聘笔试参考题库附带答案详解
- 2025年中级审计师《审计理论与实务》真题还原模拟考试题库(含解析)
- 2025年重庆市公开遴选公务员笔试题及答案解析
- 【苏泊尔电器营运资金管理问题及完善分析13000字 (论文)】
- 非遗文化格萨尔文学
- 2022年浙江省宁波市慈溪实验中学高一数学文联考试卷含解析
- 电缆配电线路的运行与维护-电缆敷设
- 武汉市初中学生综合素质评价内容及标准
- 天然气监理规划
- 病理学课件:肿瘤-实验课
- 食品安全管理师理论考试题库及答案
- IS-LM模型-教学讲解课件
- GB/T 8152.2-2006铅精矿化学分析方法铅量的测定硫酸铅沉淀-EDTA返滴定法
- GB/T 20720.3-2022企业控制系统集成第3部分:制造运行管理的活动模型
评论
0/150
提交评论