iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >利用c++编写简易版2048小游戏
  • 803
分享到

利用c++编写简易版2048小游戏

2024-04-02 19:04:59 803人浏览 泡泡鱼
摘要

目录1、程序初始化2、画图操作3、字符控制4、判断游戏结束和游戏胜利别的不多说,先上效果图 我们都知道2048是个4 4的方格,为了方便数组下表我们生成5 5的数组,只用到1~4的

别的不多说,先上效果图

我们都知道2048是个4 4的方格,为了方便数组下表我们生成5 5的数组,只用到1~4的下标。

初始化时候先随便生成两个目标

1、程序初始化


// 程序初始化
void init()
{
 score = 0;
 memset(a, 0, sizeof(a));
 int x1 = rand() % 4 + 1, y1 = rand() % 4 + 1, x2 = rand() % 4 + 1, y2 = rand() % 4 + 1; // 随机生成两个初始点
 a[x1][y1] = a[x2][y2] = 2;    // 初始点初始化为 2
}

2、画图操作

画图操作,就是把有数组都打印出来,数字为0的就打印空字符,数字不为0的,就打印数字。


void drawmap()
{
 system("cls");
 
 for (int i = 1; i <= 4; i++)
 {
  for (int j = 1; j <= 4; j++)
  {
   if (a[i][j])   // 如果该位置没有数字,则不绘制
   {
    if(a[i][j]>1000)
     cout<<a[i][j]<<" ";
    else if(a[i][j]>100)
     cout<<a[i][j]<<"  ";
    else if(a[i][j]>10)
     cout<<" "<<a[i][j]<<"  ";
    else
     cout<<"  "<<a[i][j]<<"  ";
   }
   else
   {
    cout<<"     ";
   }
  }
  cout<<"\n";
   
 }
   
 
}

3、字符控制

然后就是移动了,我这里用输入字符控制,用wsad,控制上下左右。


// 玩家操作
void move()
{
 memcpy(b, a, sizeof(a));   // 将 a 备份至 b
 memset(mov, false, sizeof(mov)); // 初始化 mov 为 false(所有点均未移动)
 char c;
 cin>>c;

 if(c=='w') //向上
 {
  for (j = 1; j <= 4; j++)
   for (i = 2; i <= 4; i++)
   {
    if (!a[i][j])continue;
    int k = i;
    while (!a[k - 1][j] && k >= 2)
    {
     a[k - 1][j] = a[k][j];
     a[k][j] = 0;
     k--;
    }
    if (a[k][j] == a[k - 1][j] && !mov[k - 1][j])
    {
     a[k - 1][j] = 2 * a[k][j];
     a[k][j] = 0;
     mov[k - 1][j] = true;
     score += a[k - 1][j];
    }
   }
 }
 else if(c=='s') //向下 
 {
  //。。。
 } 
 else if(c=='a') //向左
 {
  //。。。
 } 
 else if(c=='d')
 {
 }
}

4、判断游戏结束和游戏胜利

// 判断游戏结束,对于任意一个位置,该位置为空 或 四周有位置上的数字与该位置上数字相等,说明可继续移动(游戏可继续),否则游戏结束

// 判断胜利,有任意一个位置达到 2048,则胜利


bool gameover()
{

 for (i = 1; i <= 4; i++)
  for ( j = 1; j <= 4; j++)
   if (!a[i][j] || a[i][j] == a[i + 1][j] || a[i][j] == a[i - 1][j] || a[i][j] == a[i][j + 1] || a[i][j] == a[i][j - 1])return false;
 
 return true;
}


bool win()
{
 for ( i = 1; i <= 4; i++)
  for ( j = 1; j <= 4; j++)
   if (a[i][j] == 256)return true;
 return false;
}

到此这篇关于利用c++编写简易版2048小游戏的文章就介绍到这了,更多相关c++编写简易版2048小游戏内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用c++编写简易版2048小游戏

本文链接: https://www.lsjlt.com/news/135015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用c++编写简易版2048小游戏
    目录1、程序初始化2、画图操作3、字符控制4、判断游戏结束和游戏胜利别的不多说,先上效果图 我们都知道2048是个4 4的方格,为了方便数组下表我们生成5 5的数组,只用到1~4的...
    99+
    2022-11-12
  • Python制作简易版2048小游戏
    目录目标效果设计开始步骤一步骤二步骤三步骤四步骤五今天我们来动手实现一款2048小游戏。这款游戏的精髓就玩家能够在于通过滑动屏幕合并相同数字,直到不能再合并为止。玩法可以说是非常的简...
    99+
    2022-11-11
  • Python+Pygame制作简易版2048小游戏
    目录导语正文主要代码效果图导语 哈喽!大家好,我是栗子,感谢大家的支持! 新的一天,新气象,程序猿们的日常开始敲敲敲,改改改——今天给大家来一款简单的小游戏...
    99+
    2022-11-13
  • 利用Matlab编写简易版连连看小游戏
    这是一款MATLAB连连看小游戏,基本实现了连连看的功能,不过目前没有写出死局判定的模块,日后可能会对其进行改进。 游戏截图 游戏组装说明 我们的变量path输入的是图像包的相...
    99+
    2022-11-13
  • 利用Python编写简易版德州扑克小游戏
    目录德州扑克简要介绍什么是德州扑克游戏规则简要介绍德州扑克游戏的python实现过程游戏初始化评选赢家游戏主题函数游戏体验与展示模块不足与后续改进德州扑克简要介绍 什么是德州扑克 德...
    99+
    2022-11-13
  • 利用C++编写简易宝可梦对战小游戏
    最近想到了用C++写个小时候课间嘴上玩的那种宝可梦游戏,先试写了个demo,只有早期的三个宝可梦和基础招式,感兴趣的朋友可以再自己添加,也没有各种物防特攻数值啥的,等以后会搞图形化界...
    99+
    2022-11-13
  • 怎么用Python+Pygame制作简易版2048小游戏
    这篇文章主要介绍了怎么用Python+Pygame制作简易版2048小游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python+Pygame制作简易版2048小游戏文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • 怎么利用Python编写简易版德州扑克小游戏
    小编给大家分享一下怎么利用Python编写简易版德州扑克小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!德州扑克简要介绍什么是德州扑克德州扑克不知道大家是否玩过,它是起源于美国的得克萨斯州的一种博弈类卡牌游戏,英文名叫...
    99+
    2023-06-29
  • 怎么用Matlab编写简易版连连看小游戏
    这篇文章主要介绍“怎么用Matlab编写简易版连连看小游戏”,在日常操作中,相信很多人在怎么用Matlab编写简易版连连看小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Matlab编写简易版连连看...
    99+
    2023-06-29
  • 使用JavaScript编写一个2048小游戏
    今天就跟大家聊聊有关使用JavaScript编写一个2048小游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点...
    99+
    2023-06-07
  • 使用Java编写一个2048小游戏
    本文章向大家介绍使用Java编写一个2048小游戏的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页...
    99+
    2023-06-06
  • 利用Matlab制作一款3D版2048小游戏
    其实逻辑和2维版本完全一样,就不进行详细解说了,直接看效果: 效果: 目前界面还不咋好看,期待大家的优化 还是键盘↑↓←→操作嗷 完整代...
    99+
    2022-11-13
  • 利用Python写个简易版星空大战游戏
    目录前言一.游戏画面二.游戏结束画面三.游戏素材四.游戏代码五、核心代码1.导入模块2.动态星空背景函数3.不定时产生敌机函数4.飞碟的移动5.子弹的移动6.玩家射击函数7.播放背景...
    99+
    2022-11-13
  • 用Python写一个简易版弹球游戏
    目录1.创建游戏的主界面2.创建一个Ball球的类3.我们让球向上动起来4.让球能回弹5.增加球的运行方向6.增加小木板7.让木板可以移动8.增加球和木板的碰撞9.判断当球运动到底部...
    99+
    2022-11-12
  • 利用java开发简易版扫雷游戏
    目录1.简介2.编写过程3.游戏运行逻辑4.游戏相关数据存储与读取5.游戏代码5.1 第一版5.2 第二版5.3 第三版6.部分代码思路6.1 生成随机的地雷坐标6.2 测试地雷生成...
    99+
    2022-11-12
  • 怎么使用c语言编写简单小游戏
    编写一个简单的猜数字小游戏的例子:```#include #include #include int main() {int ran...
    99+
    2023-08-31
    c语言
  • 利用c++写一个简单的推箱子小游戏
    效果图 相信各位都肯定完整这种推箱子的小游戏。游戏玩法很简单,那就是一个人把所有的箱子推动到对应的位置那就可以赢了。 那么我们接下来看看这个推箱子的游戏改怎么写 char ma...
    99+
    2022-11-12
  • 利用C++实现简易的狼人杀游戏
    狼人杀游戏是一款非常有趣的角色扮演游戏,它需要玩家之间互相猜测身份并进行投票,通过推理来找出真正的狼人。 以下是一个基本的狼人杀游戏的C++实现,其中包含游戏角色、游戏流程和基本的逻...
    99+
    2023-05-14
    C++实现狼人杀游戏 C++狼人杀游戏 C++狼人杀 C++ 游戏
  • Python编写简易猜数字小游戏(附完整代码)
    Python编写简易猜数字小游戏(附完整代码) 猜数字游戏是一款非常经典的小游戏,本文将介绍如何使用Python编写一个简易的猜数字游戏,并提供完整的源代码。 首先,让我们了解一下游戏规则。游戏开始时...
    99+
    2023-09-23
    python java 开发语言
  • 如何使用Python写一个简易版弹球游戏
    这篇文章主要介绍如何使用Python写一个简易版弹球游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看一下我们的最终效果图我们分9步来讲解如何写这个小游戏1.创建游戏的主界面我们用Python的内置模块Tkint...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作