博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2048 (控制台版)
阅读量:4312 次
发布时间:2019-06-06

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

#include 
#include
#include
#include
using namespace std;class ErLingSiBa{private: int Map[4][4], tmp[4][4]; int k[4],result[4];public: void init() { for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { Map[i][j]=0; } } int pos=rand()%16; Map[pos/4][pos%4]=2; } void Rand() { int b[16], x=0; for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { if(Map[i][j]==0) { b[x]=i*4+j; x++; } } } if(x>0) { int pos=rand()%x; Map[b[pos]/4][b[pos]%4]=2; } } void Merge() { for(int i=0;i<4;i++) result[i]=0; int x=0, last=0; for(int i=0;i<4;i++) { if(k[i]==0) continue; if(x==0) { result[x]=k[i]; x++; } else { if(last==0&&k[i]==result[x-1]) { result[x-1]=2*result[x-1]; last=1; } else { result[x]=k[i]; x++; last=0; } } } } void check() { bool flag=0; for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { if(tmp[i][j]!=Map[i][j]) flag=1; } } if(flag==1) { for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { Map[i][j]=tmp[i][j]; } } Rand(); } else { // cout<<"wu xiao"<
>op; if(op=='U') _2048.Up(); else if(op=='D') _2048.Down(); else if(op=='L') _2048.Left(); else if(op=='R') _2048.Right(); else continue; _2048.check(); _2048.Show(); if(_2048.die()) { cout<<"die"<
View Code

详解明天更啦 今天有 1.. 困啦 晚安!!

FH

转载于:https://www.cnblogs.com/zlrrrr/p/10409808.html

你可能感兴趣的文章
程序的基础知识
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
python爬虫---从零开始(五)pyQuery库
查看>>
POJ2236(KB5-A)
查看>>
Centos MySQL数据库迁移详细步骤
查看>>
2初出茅庐--初级篇2.1
查看>>
新建 WinCE7.0 下的 Silverlight 工程
查看>>
腾讯的张小龙是一个怎样的人?
查看>>
jxl写入excel实现数据导出功能
查看>>
linux文件目录类命令|--cp指令
查看>>
.net MVC 404错误解决方法
查看>>
linux系统目录结构
查看>>
git
查看>>
btn按钮之间事件相互调用
查看>>
Entity Framework 4.3.1 级联删除
查看>>
codevs 1163:访问艺术馆
查看>>
冲刺Noip2017模拟赛3 解题报告——五十岚芒果酱
查看>>
并查集
查看>>
sessionStorage
查看>>
代码示例_进程
查看>>