练练看游戏设计紫萱我是长卿

在找实习面试的时候,有一位面试官问过我一个非常有意思的面试题,如何设计一个连连看游戏。

作为一个学习计算机的学生,可能先要做的是去理解问题,在这个过程中可以尽情地去问面试官问题,沟通可能比写好代码更重要。

下面是我问面试官的几个问题:

1、连连看游戏的规则是什么?

面试官给我打开了一个手机应用,解释了一下。其中最重要的是如何判断两个图形能否相消。(两个同样的图用线相连,连线拐的弯不能超过两个)

2、最多有多少张图?

一般练练看游戏是20*20或者30*30,所以图片最多大概在1000张左右。

3、如果两个图能够消除,是直接把两个图消除?还是找到最短路径后,把路径画出来,然后再消除?

最短路径的问题可以之后考虑,先考虑简单的,直接消除两个图。

4、连连看游戏是否存在死锁状态?是否需要解除死锁状态?

在玩连连看游戏的时候,如果图片是随机摆放的,可能会碰到死锁状态。因为死锁状态很影响用户体验,所以需要解决。

搞清楚了问题之后,我们就可以分析和解决问题了。先写一个连连看游戏的程序伪代码。

initGame();//生成游戏初始化状态while(!isGameOver()){//如果游戏没有结束if(isDeadlock()){//如果出现死锁情况unlock();//解除死锁}waitClick();//等待用户点击游戏中的图curClick=getCurrentClick();//得到当前输入if(isLegalInput(curClick)&&preClick==null){//如果当前是合法输入,并且是第一次点击preClick=curClick;curClick=null;}if(preClick!=null&&curClick!=null){//如果已经点了两个图if(findPath(preClick,curClick)){//如果两个图之间存在一条连线remove(preClick,curClick);//消除这两个图preClick=null;curClick=null;//还原状态}else{preClick=curClick;curClick=null;//要被连得图变成最近一次点击的图}}}生成游戏初始状态。我们先假设有25张不同的图,连连看游戏的大小是20*20,那么我们在25张图中有放回的随机抽样200次即可,然后再把这200张图复制一遍,变成400张图。最后,我们需要把这400张图随机地放到一个20*20的二维空间中。

游戏结束的条件就是所有的图片都被连线并且消除了,我们可以通过加入一个变量existPictureNum,来记录当前网格中存在的图片数量,当existPictureNum为0时,所有图片都已经消除,游戏也就结束了。实现就是下面加粗的代码。

最直观的想法是遍历一下网格,碰到一个图时,看看该图是否能够和另一个图进行连线。找到一个可以连线的图,就不是死锁状态;否则,是死锁状态。

THE END
1.水果连连看游戏道具:草帽(也可其他代替)、新鲜水果、秒表 项目规则: 1、 每小队两人一组接力出发,接力出发时必须击掌。(未击掌则返回起点 重新出发); 2、 任务区内掀开覆盖物如果同一种水果则带走并复原覆盖物,如果不同则 直接复原覆盖物后返回起点(未复原一次覆盖物罚5秒); ...https://www.163.com/dy/article/I6PIMJ0R05561PVH.html
2.连连看5连连看5 游戏规则介绍,如图所示: 游戏规则 文字说明 选择相同图案的牌面进行连线。 连线不能达到或超过四条直线(三次转角)。 所有牌消完后会进入下一关,并有各种奖励。 如果盘面上没有牌可消,会自动进行洗牌(打乱并减少生命)。 找不到牌可消时,点击游戏下方状态栏上的提示按钮(F5)或打乱按钮(F7)。 游戏有生...http://www.llk.cn/LLK5/Rule.shtm
3.金鱼连连看,金鱼连连看小游戏,4399小游戏www.4399.com分类:益智小游戏| 大小:5.09M | 日期:2012-06-13 专题:连连看全集麻球游戏 介绍:一款金鱼风格的连连看游戏,消除的规则和普通的连连看规则一样。还能看到游动的鱼儿,一起来体验一下吧! 温馨提示:此游戏文件较大(5.09MB),加载时请耐心等待... 游戏玩法 ...https://www.4399.com/flash/91308.htm
4.连连看连连看安卓下载攻略连连看规则简单容易上手,游戏速度节奏快,画面清晰可爱,游戏主要有三种模式:传统模式、冒险模式和挑战模式: 一、传统模式:连连看经典的玩法,固定时间内消除完所有的小动物就算过关。 二、冒险模式:一个全新的分图闯关模式,分别有紫金森林、狂狼海滩、冰风溪谷和炼狱峡谷地图,每种地图中玩法各不相同。1、紫金森林,......http://g.mi.com/game/62244085
5.连连看游戏规则详解连连看游戏规则详解 导读好的,我会按照你的要求进行创作。首先我们要了解连连看的游戏背景和玩法,才能进行详细的解说。所以让我们从连结游戏的历史开始吧!连结游戏最早可以追溯到19世纪末的德国,后来逐渐传播到全球各地。在21世纪初... 好的,我会按照你的要求进行创作。首先我们要了解连连看的游戏背景和玩法,才能进行...https://www.9game.cn/news/10005375.html
6.“安全连连看”游戏规则“安全连连看”游戏规则 1.游戏准备 -准备若干关于网络信息文化图案的卡牌放置于桌上。 2.游戏目标 -玩家的目标是将这些牌在规定的时间内连线配对。 3.游戏过程 -单人参赛,参与者将桌上的关于网络信息文化图案的卡牌配对。 -工作人员计时。 4.游戏结束https://www.nsmc.edu.cn/cbwhj/70666.html
7.通过游戏连连看的规则,还可进行什么连连看的游戏练习。甲公司为增值税一般纳税人,采用先进先出法计量A原材料的成本。2011年年初,甲公司库存200件A原材料的账面余额为2000万元,未计提跌价准备。6月1日购入A原材料250件,成本2375万元,增值税308.75万元,运输环节取得增值税专用发票,运输费用80万元,增值税7.2万元,保险费用0.23万元。1月31日、6月6日、11...https://www.shuashuati.com/ti/8bc7a583dfa446c7935062f01bb56671.html?fm=bdc1de967c7a7e8934c2122ea5b2fc7bd9
1.连连看游戏的实现连连看的游戏规则和实现思路连连看是一种很经典的休闲类游戏,并且其实现并不复杂,非常适合练手。 本文旨在介绍连连看游戏中的核心算法并给出一个基于fancy2D的简单实现。 一、游戏规则 连连看游戏的规则想必大家都很清楚:通过逐步消除相同图案的格子来完成游戏。但是要求被消除的两个格子之间必须能够用一条不多于两个转折的、平行于XY轴的折线相...https://blog.csdn.net/xueruifan/article/details/47968157
2.数字连连看游戏规则数字连连看游戏规则 数字连连看是一款益智类的消除游戏,通过连连看的方式消除相同的数字,考验玩家的眼力和反应能力。游戏规则简单易懂,也极具挑战性,让玩家在娱乐的同时锻炼大脑,提升逻辑推理能力。 游戏目标 游戏规则 1. 只能连接同一数字的方块。即只有数字相同的方块才能被消除,不同数字的方块无法连接。https://www.97507.net/news/25061.html
3.拓展训练项目「水果连连看」新游戏规则及玩法心得体会图片游戏道具:草帽(也可其他代替)、新鲜水果、秒表 游戏规则: 1.真人版“水果连连看”属于团队协作型项目,参与个体为一个小队成员。小队成员再由两两结合,两人一组以接力的形式去掀开覆盖物,每次只能依次打开两个草帽;如果是同一种水果则双方带走,如不同水果则反扣,换下一组重新开始。 https://www.010tuozhan.com/m/view.php?aid=992
4.欢乐连连看游戏规则详解欢乐连连看游戏规则详解 欢乐连连看是一款经典的益智游戏,它的规则简单易懂,但需要玩家在有限的时间内迅速找出相同的图案并消除。下面将详细介绍欢乐连连看游戏规则。 首先,玩家需要在一个方形区域中放置一定数量的图案块。这些图案块通常是各种颜色和形状的图片或符号。接下来,玩家需要通过连接两个相同图案块之间没有障碍...https://jot.coffee.cn/post/49724.html
5.连连看的游戏规则汽车标志连连看游戏3. 连连看游戏规则是怎样的? 答:连连看游戏的规则很简单,只要将相同图案的两个方块用三根以内的直线连在一起,就可以消除这两个方块,消除所有方块即为胜利。 4. 汽车标志连连看游戏有哪些关卡设置? 答:汽车标志连连看游戏通常有不同的关卡设置,难度逐渐增加,每个关卡中,汽车标志的种类和数量都会有所不同,玩家需要...https://yongsee.cn/life/202409-1426.html
6.宠物连连看连线规则解析在游戏中,熟悉地图、优先消除障碍物、观察和预测、合理分配时间以及保持冷静是玩家需要遵循的重要策略。通过不断的尝试和练习,玩家可以提高自己的游戏水平,享受游戏带来的乐趣。 宠物连连看连线规则解析的介绍就聊到这里吧,感谢你花时间阅读本站内容,有关于其它相关信息别忘了在《搜搜游戏网》进行搜索哦!https://www.sousou.com/gl/136569.html
7.连连看游戏下载连连看v3.1原版下载不知道有谁还记得我们小时候玩的第一款游戏是什么嘛,小编相信很多人都是玩的连连看,但是随着版本越来越多,其他的游戏也越来越花哨,我们渐渐地也腻烦了,但是这款连连看原版游戏绝对是小朋友的益智小游戏,毕竟大家其实也都玩过,也都知道,这种游戏小孩子玩是不会上瘾的,反而会激发小孩子的一个思维能力。而且小编给大家...https://www.heu8.net/dnyx/1047.html
8.4399水果连连看原版游戏规则4399小游戏连连看这些都是可以横屏玩的游戏。 4399是中国领先的小游戏专业网站,免费为你提供小游戏大全,4399洛克王国小游戏,双人小游戏,连连看小游戏,赛尔号,奥拉星,奥奇传说小游戏,造梦西游3等最新小游戏。 你也可以去4399主页找自己喜欢的游戏,很多。 相关问答 1.《4399水果连连看原版游戏规则是什么?》 答:《4399水果连连看原版游...https://www.zyra.cn/zlan/202410-866.html
9.宠物连连看经典版ios下载(暂未上线)《宠物连连看经典版》本款老版宠物连连看的推出,只是为了满足部分不能适应新版宠物连连看的用户,还有就是应老用户要求放出,以答谢各位老用户对本游戏的热爱。 游戏特色 1、该游戏每天的活跃用户达8万人,共40万人下载过本游戏; 2、宠物连连看-经典回顾版,你还等什么; 3、分为十二关,难度递进。 游戏规则 ...https://shouyou.3dmgame.com/ios/16068.html
10.用Java实现连连看小游戏java很多人写游戏都是从连连看或者五子棋这类的简单小游戏入手的,最近我也尝试着写了一个连连看,想要再梳理一遍其中的思路。 连连看的规则 连连看要求在一定范围内找到两个特征一样并且能够通过空白的通道在两折(直角)以内相连的东西,连续点击两个东西之后消除。 https://www.jb51.net/article/247380.htm
11.经典职场互动游戏大全及游戏规则左左右右是一个测试反应力的晨会互动小游戏,虽然很简单,但是可以让人迅速的进入思考的状态,既可以活跃气氛增加同事间的感情,又可以让大家的大脑迅速思考起来。 游戏规则: http://www.officedoyen.com/a/zhichangyouxi/chenhuiyouxi/2014/1208/5758.html https://www.douban.com/note/656661260/