前言
姥姥说:
炎炎夏日热浪来袭。
有点让人无法忍受。。。
一动就是一身汗。。。。。
想玩点小游戏都没地方玩了。。。
所有文章完整的素材+源码都在👇👇👇👇
文末公众hao自取即可免费哒
《见缝插针》游戏小程序好玩吗?《见缝插针》小游戏怎么玩?
只有你想不到,没有我不会敲代码的好游戏!「良心好游戏推荐」——栗子同学强势来袭!👇
每天都会推荐好玩的小游戏。小编今天推荐这款游戏叫《见缝插针》,这是一个考验玩家首脑
协调、反应力的小游戏,这种游戏很常见,居然还没有推荐过!今天赶紧来补上这个类型叭。
(在那种超市或者彩妆店铺门口经常看见,话说我从来没有闯关过呢!!)
正文
PS:小编有话说
据说见缝插针游戏全世界只有六个人能玩到20关,其实不然,小编10分钟之内就能玩到19关,
哈哈哈,不吹牛了,具体是什么情况就让小编来给大家先用代码制作一款见缝插针的Python小
游戏叭!看看你能玩儿到第几关吖?👇
《见缝插针》游戏简介——
关键词:休闲、反应力、协调性、闯关、操作、技巧。
游戏平台:Python版本—栗子同学哦
氪金指数:0氪金。
推荐星数:3.5星(满星5星)
难度星数:4星(满星5星)
小编简评:《见缝插针》是一款考验玩家协调反应力的闯关小游戏。
?一、运行环境
?1)环境安装👇
Python3、 Pycharm 、Pygame、pgzero、numpy。部分自带模块就不展示
啦。 (如需安装包、激活码等直接 私信我即可安装问题解答都可以的哈~)?
第三方库的安装:pip install pygame 或者 带镜像源
pip install -i https://pypi.douban.com/simple/ +模块名
?2)素材(图片、音乐等)?
可自行选择喜欢的图片,背景音乐等等。图片需要放在images文件夹中,音频放在music文件
夹中。images和music文件夹需要和新建的py文件放在同一级 。
二、代码展示
import pgzrun
import random
TITLE = "Python见缝插针" # 窗口标题
background = Actor('background') # 导入背景图片
needles = [] # 存放发射针的列表
startNeedle = Actor('needle',anchor=(170 + 50,1.5)) # 导入针的图片,并设置锚点(旋转轴心)
startNeedle.x = 220
startNeedle.y = 300
difficulty_Needles = [] # 存放干扰的针
rotateSpeed= 1 # 针旋转的速度,默认设置为1
score = 8 # 针的数量,默认设置为8
radius = 80 # 圆盘的半径
record_score = 8 # 记录针的数量,方便切换关卡
level = 1 # 关卡
record_speed = 1 # 记录速度
flag = 0 # 设置标志位,来画干扰的针
r,g,b = random.randint(0,255),random.randint(0,255),random.randint(0,255) # 随机圆盘的颜色
def draw(): # 绘制模块,每帧重复执行
global flag #全局变量
if not flag: #将干扰的针添加进列表
for i in range(int(rotateSpeed)+3):
difficulty_Needle2 = Actor('needle', anchor=(170 + 50, 1.5))
difficulty_Needle2.angle = (360 / (int(rotateSpeed) + 2)) * i
difficulty_Needle2.x = 400
difficulty_Needle2.y = 300
needles.append(difficulty_Needle2)
if rotateSpeed != 0:
flag = 1
screen.fill('white') # 白色背景
screen.draw.filled_circle((400,300),radius,(r,g,b)) # 画圆盘
screen.draw.text("第{}关".format(level),(320,10),fontsize=60,fontname="simhei",color='black') # 显示关卡
if score < 10: # 显示分数,这里用判断语句来区分一位数和两位数,位置稍有不同
screen.draw.text(str(score), (385, 275), fontsize=80, color='white')
else:
screen.draw.text(str(score), (370, 275), fontsize=80, color='white')
screen.draw.text("Speed : {}".format(rotateSpeed), (20, 270), fontsize=35, color='red') # 显示速度
startNeedle.draw() # 画初始的针
for difficulty_Needle in difficulty_Needles: # 循环遍历画出干扰的针
difficulty_Needle.draw()
for needle in needles: # 循环遍历画出发射出去的针
needle.draw()
else: # 失败后的场景
screen.clear() # 清屏
background.draw() # 画背景
screen.draw.text('Game Over!', (200, 200), fontsize=100, color='red') # 画文本
screen.draw.text('再试一次', (230, 400), fontsize=25, fontname="simhei", color='green')
screen.draw.text('退出游戏', (450, 400), fontsize=25, fontname="simhei", color='green')
def update(): # 更新模块,每帧重复执行
# 让针旋转
for needle in needles:
needle.angle += rotateSpeed
for difficulty_Needle in difficulty_Needles:
difficulty_Needle.angle += rotateSpeed
def on_key_down(): # 按键检测
global rotateSpeed,score,level,record_score,record_speed,flag # 全局变量
newNeedle = Actor('needle', anchor=(170 + 50, 1.5)) # 新建一根针
newNeedle.x = 400 # 新建针的x坐标
newNeedle.y = 300 # 新建针的y坐标
for needle in needles: # 判断发射针是否碰到其他针,如果碰到就停止转动
if newNeedle.colliderect(needle):
rotateSpeed = 0
music.play_once("失败") # 失败音效
needles.append(newNeedle) # 将新创建的针加入列表
if rotateSpeed > 0:
score -= 1 # 每发射一根针的数量就减1
if score == 0: # 当针的数量减到零时,要切换关卡,增加难度
needles.clear() # 清除发射针列表
record_score += 2 # 针的数量变多
score = record_score
level += 1 # 关卡变更
rotateSpeed += 0.5 # 速度加快
record_speed = rotateSpeed
flag = 0 # 将标志位置零,重新绘制干扰针
music.play_once('发射') # 发射音效
def on_mouse_down(pos, button): # 鼠标检测
global rotateSpeed,record_speed,score,flag # 全局变量
if button == mouse.LEFT and pos[0] > 445 and pos[0] < 555 and pos[1] > 395 and pos[1] < 435: # 如果鼠标左键按下退出游戏
exit() # 退出游戏
if button == mouse.LEFT and pos[0] > 225 and pos[0] < 335 and pos[1] > 395 and pos[1] < 435: # 如果鼠标左键按下再试一次
rotateSpeed = record_speed # 重置速度
needles.clear() # 清空发射针的列表
score = record_score # 重置针的数量
flag = 0 # 将标志位置零,用于重新绘制干扰针
pgzrun.go() # 开始执行游戏
三、效果展示
?
?总结
玩家需要在合适的时机,在关卡内插完针,大多数关卡都很简单,9、10、11关、、、等级越
高会比越难一点,稍微操作不慎就凉凉了!感兴趣的小伙伴可以试试。老规矩源码素材等免费
拿的哈!👇👇👇👇👇👇
?完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~
😘往期推荐阅读——
项目1.6?【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~
项目3.1?【Pygame实战】如果你是赛车爱好者:这款新赛车游戏分分钟让你上瘾(超跑又是谁的梦想?)
项目3.2?【Pygame小游戏】炸裂全场、超级炸弹人“爆炸”登场,这是你的童年嘛?
项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)
项目2.3?战疫互动|宅家防疫,“消灭新冠病毒”小游戏火爆上线啦~(附完整源码)
🎁文章汇总——
Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)
?
|