主页 > 游戏 > 正文

程序员用12小时复刻《羊了个羊》,代码已开源(3)

2022-09-20 12:12来源:未知编辑:admin

扫一扫

分享文章到微信

扫一扫

关注99科技网微信公众号

# S形遮罩[ [0,0,0,0,0], [0,0,0,0,0], [1,1,1,0,1], [1,0,1,0,1], [1,0,1,1,1],]

03 如何检测和更新可拾取的牌

三种牌堆模式分别派生自MContainerBase,并对应着如下三种检测方式:

牌堆模式A:仅检测自己正上方是否有牌

#1 Cover 1extends MContainerBasefunc check_is_on_top(x,y,z): if has_tile(x,y,z): if not has_tile(x,y,z + 1) : (box[x][y][z] as MTile).set_is_on_top(true)

牌堆模式B:检测自己上方两方位是否有牌

#1 Cover 2extends MContainerBasefunc check_is_on_top(x,y,z): if has_tile(x,y,z): if z%2 == 0: if not has_tile(x,y,z + 1) and not has_tile(x - 1 ,y,z + 1): (box[x][y][z] as MTile).set_is_on_top(true) else: if not has_tile(x,y,z + 1) and not has_tile(x + 1 ,y,z + 1): (box[x][y][z] as MTile).set_is_on_top(true)

牌堆模式C:检测自己上方四方位是否有牌

#1 Cover 4extends MContainerBasefunc check_is_on_top(x,y,z): if has_tile(x,y,z): if z%2 == 0: if not has_tile(x,y,z + 1) and not has_tile(x - 1 ,y,z + 1) and not has_tile(x,y - 1 ,z + 1) and not has_tile(x - 1,y - 1,z + 1): (box[x][y][z] as MTile).set_is_on_top(true) else: if not has_tile(x,y,z + 1) and not has_tile(x + 1 ,y,z + 1) and not has_tile(x,y + 1 ,z + 1) and not has_tile(x + 1,y + 1,z + 1): (box[x][y][z] as MTile).set_is_on_top(true) 在Godot中,这三种牌堆模式还可以通过场景节点制作成预制体,这样关卡设计师就可以轻松地制作出美观的关卡了。

03

如何生成新关卡 简单了解游戏规则后,我们就不难推导出,每个关卡能被通过的一个必要条件就是每一种图案的总数,必须能被3整除。实现方法如下:

var tiles = []export var initial_tiles = { 0:10, 1:10, 2:10, 3:10, 4:10, 5:10, 6:10, 7:10, 8:10, 9:10, 10:10, 11:10, 12:10, 13:10, 14:10, 15:10}func _init(): for key in initial_tiles: var num = initial_tiles[key]*3 for i in range(0,num): tiles.append(key) tiles.shuffle() 其中字典initial_tiles 的key对应着每一种图案,后面的value对应着这一关该图案出现的“对数”(此处1对等于3个)。按照value乘以3的数量存入数组tiles(下文称之为:待发牌池),然后把待发牌池中的元素打乱顺序,等待“发牌”。

99科技网:http://www.99it.com.cn

相关推荐
《倩女幽魂》手游主文案萧婷:研究女性游戏用户15年得出的几条经验 《倩女幽魂》手游主文案萧婷:研究女性游戏用户15年得出的几条经验

一些游戏正在逐渐被外界归拢在“泛女性向游戏”的范畴。

游戏2022-09-19

灵游坊CEO梁其伟:不用AI绘图,可能是老板太傲慢(附效果图) 灵游坊CEO梁其伟:不用AI绘图,可能是老板太傲慢(附效果图)

近期AI绘图引热话题后,灵游坊CEO梁其伟在其微博 公布了一组由AI辅助绘图的原

游戏2022-09-19

超750家厂商在用,接入4000+游戏,他们的下一个目标是“全球化” 超750家厂商在用,接入4000+游戏,他们的下一个目标是“全球化”

随着游戏行业对数据的认知、分析以及应用开始进入深水区,出现了很多深度、

游戏2022-09-15

Roguelike一词,正在被滥用? | 葡萄视点 Roguelike一词,正在被滥用? | 葡萄视点

可能没有哪一种游戏要素是像Roguelike这样,短短几年,在国内玩家群体里就迅速

游戏2022-09-13

《刺客信条》将推出两款手游,其中一款采用中国背景 《刺客信条》将推出两款手游,其中一款采用中国背景

育碧旗舰品牌、今年迎来15周年的“刺客信条”系列的未来,显然更引人关注。

游戏2022-09-13

我找到一个3000家游戏公司都在用的出海平台 我找到一个3000家游戏公司都在用的出海平台

最近,一家服务了腾讯、网易、米哈游、莉莉丝等80%以上出海大厂的老牌团队飞

游戏2022-09-06

《曲中剑》:用古曲与水墨,讲一个与命运和解的故事 《曲中剑》:用古曲与水墨,讲一个与命运和解的故事

近日,腾讯旗下天美工作室一款水墨武侠音游在TapTap 上开启了测试,并在各玩

游戏2022-09-03

游戏日报:占用“热血江湖”关键词推广,龙图游戏起诉侵权方一审获赔12.2万​ 游戏日报:占用“热血江湖”关键词推广,龙图游戏起诉侵权方一审获赔12.2万​

近日北京市海淀区人民法院公布了一起商标侵权的一审民事判决书。

游戏2022-09-02

7年坐拥6亿用户,这款游戏通过一场「狂欢」找到了增长新方向 7年坐拥6亿用户,这款游戏通过一场「狂欢」找到了增长新方向

恰逢《球球大作战》游戏七周年,官方请到了知名歌手演唱游戏历年的年度主题

游戏2022-09-01

老IP如何平衡新老用户,EVEOnline或许给出了一个答案 老IP如何平衡新老用户,EVEOnline或许给出了一个答案

8月25日,《星战前夜:晨曦》(EVE Online)全新服务器“曙光”正式开启了不删

游戏2022-08-30