• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++ 实现2048游戏示例

C++ 实现2048游戏示例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++实现二叉树,rsa加密算法c++实现,rsa算法c++实现源码,bp神经网络c++实现,c++实现快速排序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这游戏前一段时间传的很火,前几天早上实在太无聊了,就决定把这游戏自己也写一个。

前后写了一个多小时吧,大概300行左右,没什么复杂算法,不过实在懒得去优化了,但估计优化完能控制在200行以下,有兴趣的朋友可以自己优化一下。

说明:我一开始玩的是IOS APP版的TRHEES,后来才玩的2048,两者在滑动的规则上有些区别,本人这个版本是这两者的结合。

最后,祝试玩愉快!

界面丑陋,求不笑。

以下是源代码:

int panemax() //棋盘最大数
{
 int max=pane[0][0];
 for(int i=0;i<=3;i++)
  for(int j=0;j<=3;j++)
   if(pane[i][j]>max)
    max=pane[i][j];
 return max;
}
int ifwin() //判断是否胜利
{
 int flag=0;
 if(panemax()==2048)
 {
  cout<<setw(45)<<"You Win!"<<endl;
  flag=1;
 }
 return flag;
}
int ifGameOver()  //判断是否游戏结束
{
 int flag=0;
 if(testup()+ testdown() + testleft() + testright() == 0)
 {
  cout<<setw(43)<<"Game Over!"<<endl;
  flag=1;
 }
 return flag;
}
void addnewnumberup() //上移后添加新数
{
 srand( (unsigned)time( NULL ) );
 int n;
 if(N==1)
  n=1;
 else
  n=(rand()%(N)+1); 
 int newnumber=pow(2,n);
 for(int i=3;i>=0;i--)
  for(int j=0;j<=3;j++)
   if(pane[i][j]==0)
   {
    pane[i][j]=newnumber;
    return;
   }
}
void addnewnumberdown() //下移后添加新数
{
 srand( (unsigned)time( NULL ) );
 int n;
 if(N==1)
  n=1;
 else
  n=(rand()%(N)+1);
 int newnumber=pow(2,n);
 for(int i=0;i<=3;i++)
  for(int j=0;j<=3;j++)
   if(pane[i][j]==0)
   {
    pane[i][j]=newnumber;
    return;
   }
}
void addnewnumberleft() //左移后添加新数
{
 srand( (unsigned)time( NULL ) );
 int n;
 if(N==1)
  n=1;
 else
  n=(rand()%(N)+1); 
 int newnumber=pow(2,n);
 f

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法
  • C++基于递归和非递归算法求二叉树镜像的方法
  • C++实现顺序表的常用操作(插入删出查找输出)
  • C++实现将简单密码译回原文的方法
  • C++将二叉树转为双向链表及判断两个链表是否相交
  • C++实现查找二叉树中和为某一值的所有路径的示例
  • C++实现将输入复制到输出的方法
  • C++实现优酷土豆去视频广告的方法
  • C++非递归建立二叉树实例
  • C++实现类似延时停顿的打字效果

相关文章

  • 2017-05-28C++入门之基础语法学习教程
  • 2017-05-28C语言for语句用法详解
  • 2017-05-28浅谈c语言中转义字符的用法及注意事项
  • 2017-05-28C语言 函数指针(指向函数的指针)详解
  • 2017-05-28VC动态生成菜单项的实现方法
  • 2017-05-28深入分析C++派生类中的保护成员继承
  • 2017-05-28C++的静态联编和动态联编详解
  • 2017-05-28C++中字符串以及数组和指针的互相使用讲解
  • 2017-05-28详解C++编程中类的成员变量和成员函数的相关知识
  • 2017-05-28C语言中全局数组和局部数组的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 解析VC中创建DLL,导出全局变量,函数和类的深入分析
    • C++求Fib数列
    • C++中的RAII机制详解
    • VC小技巧汇总之5则实用小技巧
    • c实现linux下的数据库备份
    • 关于统计数字问题的算法
    • C语言数据结构实现链表逆序并输出
    • C++使struct对象拥有可变大小的数组(详解)
    • c++类的隐式转换与强制转换重载详解
    • 基于C++中常见内存错误的总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有