2048游戏下载(滚球2048游戏下载)
时间:2022-03-27 05:33:53
小编:一只程序媛呀
阅读:
导语
- Sep,29,2021 -
哈喽!大家好,我是木木子,感谢大家的支持!
新的一天,新气象,程序猿们的日常开始敲敲敲,改改改——今天给大家来一款简单的小游戏!
2048小游戏——准确地来说确实是一个简单版本的——下一篇就是有界面版本的2048啦!
呐呐呐 ,主要是担心很多小伙伴儿直接上界面版本的看不懂,所以做了两款2048,先看这篇简单版本的吧!
正文
为了搞懂这个游戏的规则,小编去直接下载了一款2048的小游戏,上手玩了一波!
然后.........完全停不下来!23333~
玩法: 用手指或键盘上下左右滑动,将两个相同的数字合并,例如:2 + 2 = 4, 4 + 4 = 8... 直到 1024 + 1024 = 2048!
正式开始:
# 练习1:定义函数,将列表中0元素,移动到末尾。# [2,0,2,0] --> [2,2,0,0]# [0,4,2,4] --> [4,2,4,0]# 适合零基础同学def zero_to_end(list_target): # 选出非零元素 形成新列表 # [2, 0, 2, 0] --> [2, 2] new_list = [] for item in list_target: if item != 0: new_list.append(item) # 追加零元素 [2, 2] --> [2,2,0,0] # 判断原列表零元素数量: list_target.count(0) for i in range(list_target.count(0)): new_list.append(0) # 返回新列表 return new_list# def zero_to_end(list_target):# # 选出非零元素 形成新列表# # [2, 0, 2, 0] --> [2, 2]# new_list = [item for item in list_target if item != 0]# # 重复生成零元素 [0] * list_target.count(0)# new_list += [0] * list_target.count(0)# # 返回新列表# return new_list# 同学方法# def zero_to_end(list_target):# # 删除零元素 在后面追加# for item in list_target:# if item == 0:# list_target.remove(0)# list_target.append(item)# # 返回新列表# return list_target# 测试# print(zero_to_end([1, 0, 0, 2]))# print(zero_to_end([0, 4, 2, 4]))# 练习2:定义合并相同(不相邻也可以)列表元素的函数# [2,2,0,0] --> [4,0,0,0]# [2,0,2,0] --> [4,0,0,0]# [2,2,2,0] --> [4,2,0,0]# [4,2,0,4] --> [4,2,4,0]# [0,0,2,4] --> [2,4,0,0]# 提示:# 0元素移动到末尾# 相邻相同合并# list[0] == list[1]def merge(list_target): # 1.将零元素移动到末尾 [2,0,2,0] --> [2,2,0,0] list_target = zero_to_end(list_target) # 2. 合并 for i in range(len(list_target) - 1): # 如果非零元素 相邻且相同 if list_target[i] != 0 and list_target[i] == list_target[i + 1]: # 将后一个元素累加到前一个元素上 list_target[i] += list_target[i + 1] # 讲后一个元素清零 list_target[i + 1] = 0 # 3. 将零元素移动到末尾 [2,2,2,0] --> [4,0,2,0] -->[4,2,0,0] list_target = zero_to_end(list_target) return list_target# print(merge([2,2,2,0]))# 练习3:定义在控制台中绘制2048地图的函数 11:33def print_atlas(list_atlas): # 00 01 02 03 for r in range(len(list_atlas)): for c in range(len(list_atlas[r])): print(list_atlas[r][c], end=" ") print()atlas01 = [ [2, 0, 0, 2], [8, 0, 4, 4], [2, 2, 0, 4], [0, 2, 4, 0],]print_atlas(atlas01)# 练习4:在控制台中打印第二行,与第四行元素。# 第一列,与第三列元素。# 第二行# for c in range(4):# print(atlas01[1][c], end=" ")# print()# # 第四行# for c in range(4):# print(atlas01[3][c], end=" ")# print()# # 第一列# for r in range(4):# print(atlas01[r][0])# # 第三列# for r in range(4):# print(atlas01[r][2])# 练习5,定义向上移动的函数# 提示:将二维列表每列元素形成一维列表,交给合并merge函数,再还给二维列表def move_up(atlas): # 15:30 # 将二维列表第一列元素形成一维列表, # 00 10 20 30 for c in range(4): list_merge = [] for r in range(4): list_merge.append(atlas[r][c]) # 交给合并merge函数 list_merge = merge(list_merge) # 再还给二维列表 for r in range(4): atlas[r][c] = list_merge[r] return atlas# resutl = move_up(atlas01)# print_atlas(resutl)# 扩展作业1:定义向左移动的函数def move_left(atlas): for r in range(4): # 从左到右依次获取行 list_merge = [] for c in range(4): # 00 01 02 03 list_merge.append(atlas[r][c]) list_merge = merge(list_merge) for c in range(4): atlas[r][c] = list_merge[c] return atlas# resutl = move_left(atlas01)# print_atlas(resutl)# 扩展作业2:定义向下移动的函数# 30 20 10 00def move_down(atlas): for c in range(4): list_merge = [] # 从下至上获取二维列表列元素 for r in range(3,-1,-1): list_merge.append(atlas[r][c]) list_merge = merge(list_merge) # 从左至右获取一维列表元素 # 从下至上还给二维列表 for r in range(3, -1, -1): atlas[r][c] = list_merge[3 -r] # 0 1 2 3 return atlasdef move_right(atlas): for r in range(4): list_merge = [] for c in range(3, -1, -1): list_merge.append(atlas[r][c]) list_merge=merge(list_merge) for c in range(3, -1, -1): atlas[r][c] = list_merge[3 - c] return atlas# resutl = move_down(atlas01)# print_atlas(resutl)# 扩展作业3:定义向右移动的函数while True: shell = input("请输入玩家指令wsad:") if shell=="w": move_up(atlas01) print_atlas(atlas01) elif shell=="s": move_down(atlas01) print_atlas(atlas01) elif shell=="a": move_left(atlas01) print_atlas(atlas01) elif shell=="d": move_right(atlas01) print_atlas(atlas01) else: print("输入错误")
效果如下:
总结
好啦好啦!不慌不慌,这款简单的2048其实没什么趣味性滴,下一篇的话给大家上2048小游戏的界面化版本呢~
好玩界面还很还原~无限接近原版,嘿嘿,如果你喜欢玩游戏的话可以关注小编哦~往期还有很多游戏源码啦!
免费源码领取处:
如需完整的项目源码+素材源码基地见:#私信小编06#即可获取免费的福利!
你们的支持是我最大的动力!!记得三连哦~mua 欢迎大家阅读往期的文章哦~
本文标签:
-
魔兽世界斩魂垂饰获得方法魔兽世界斩魂垂饰如何得到好多玩家不认识,wlk多了好多的强力新设备,好多玩家都想认识这些设备如何得到,大部分是经过议定强力boss。下面就来看看wow怀旧服斩魂时间:2022-10-10
-
LOLS12选手排行英雄联盟S12环球总决赛的参赛步队和名单都已肯定,有各色各样的气力微弱的任务选手,迩来LOL闻名讲授米勒聘请了Doinb、管泽元、957对S12的选手排名,下面时间:2022-10-10
-
魔兽世界半影坠饰获得方法魔兽世界半影坠饰怎样取得好多玩家不清楚,wlk多了好多的强力新设备,好多玩家都想清楚这些设备怎样取得,大部分是经由过程强力boss。下面就来看看wow怀旧服半影时间:2022-10-10
-
永劫无间段位等级表都有哪些在永劫无间这款游玩中,极少小伙伴们还不懂得段位等第外都有哪些?下面就为公共带没有了长时不绝段位等第引见,有必要的小伙伴能够没有明了明了哦。段位等级介绍永劫无间段时间:2022-10-10
-
支付宝蚂蚁新村10月8日答案是什么 蚂蚁新村10月8日答案介绍支付宝蚂蚁新村10月8日答案是什么?朋友们,今天我们依旧为大家带来了最新的蚂蚁新村的相关内容介绍。是的,最新的问题已经更新了,想必大家都十分的好奇,那咱们就一起时间:2022-10-10
2048游戏下载
- 类型:休闲益智
- 语言:中文
- 大小: 36.71MB
- 版本: v1.0.5
- 星级:
热门阅读
- 天下第一社区视频www免费看内容丰富可以随意选择,网友:还不限次数!
阅读:1283557
- 老阿姨哔哩哔哩B站肉片入口进出无限制!网友:没骗人,随便进
阅读:810673
- 迈开腿让学长尝尝你的草莓突然上热搜,网友:这水果难道有这么好吃吗
阅读:395775
- 能看美女隐私部位的软件(不收费的隐私软件有哪些)
阅读:231995
- 麻豆精产国品一二三产区区别哇,我从来没见过这样的表演!
阅读:225015