2048 游戏中添加游戏是否还能够继续的模块

2024-06-03 03:32

本文主要是介绍2048 游戏中添加游戏是否还能够继续的模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 声明该函数

我们在HelloWorldScene.h中声明该函数

?
1
2
//判断游戏是否还能继续
void doCheckGameOver();

2. 具体实现该函数

我们在HelloWorldScene.cpp中具体实现这个函数

?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
//判断游戏是否还能继续
void HelloWorld::doCheckGameOver(){
     bool isGameOver =  true ;
     
     for  (int y = 0; y < 4; y++) {
         for  (int x = 0; x < 4; x++) {
             if  (cardArr[x][y]->getNumber() == 0||
                 (x>0&&(cardArr[x][y]->getNumber() == cardArr[x-1][y]->getNumber()))||
                 (x<3&&(cardArr[x][y]->getNumber() == cardArr[x+1][y]->getNumber()))||
                 (y>0&&(cardArr[x][y]->getNumber() == cardArr[x][y-1]->getNumber()))||
                 (y<3&&(cardArr[x][y]->getNumber() == cardArr[x][y+1]->getNumber()))) {
                 isGameOver =  false ;
             }
         }
     }
     
     if  (isGameOver) {
         //游戏结束,重新开始游戏
         log( "游戏结束" );
         Director::getInstance()->replaceScene(TransitionFade::create(1, HelloWorld::createScene()));
     }
}

利用五个条件判断游戏是否还能够继续:(1)还有空卡片 (2)还可以向右滑 (3)还可以向左滑 (4)还可以向上滑 (5)还可以向下滑。

只要以上条件满足一个,游戏就可以再继续。否则,游戏就不能够再继续了,会重新回到开始的界面。

3. 在上下左右每一步滑动后,都添加该函数

在上下左右每一步滑动之后,我们都需要判断该游戏是否还能再继续,所以要在滑动之后添加该函数,例如:

?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
         if (endX+5>0)
         {
             //向左
             doLeft();
             //判断游戏是否还能继续
             doCheckGameOver();
         }
         else
         {
             //向右
             doRight();
             //判断游戏是否还能继续
             doCheckGameOver();
         }

这篇关于2048 游戏中添加游戏是否还能够继续的模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025898

相关文章

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Python如何判断字符串中是否包含特殊字符并替换

《Python如何判断字符串中是否包含特殊字符并替换》这篇文章主要为大家详细介绍了如何使用Python实现判断字符串中是否包含特殊字符并使用空字符串替换掉,文中的示例代码讲解详细,感兴趣的小伙伴可以了... 目录python判断字符串中是否包含特殊字符方法一:使用正则表达式方法二:手动检查特定字符Pytho

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3