Python小游戏,练手一定得试试,看似简单练习确实很实用(用python做小游戏)

网友投稿 277 2022-09-03


Python小游戏,练手一定得试试,看似简单练习确实很实用(用python做小游戏)

前言

大家好,我是辣条

记得很久之前有发布过这么一篇: 30个Python小游戏,上班摸鱼我能玩一天【内附源码】不能说是爆火,只能说是口口相传了。不过终究还是有不少刚开始接触Python的人还是一脸蒙圈,于是乎我就只能今天再来上一篇练手小游戏了

目录

​​前言​​

​​1.小猫运动​​

​​游戏源码​​​​游戏效果​​

​​2.弹球​​

​​游戏源码​​​​游戏效果​​

​​3.画正方形​​

​​游戏源码​​​​游戏效果​​

​​4.彩点实验​​

​​游戏源码​​​​游戏效果​​

​​5.彩点实验圆形​​

​​游戏源码​​​​游戏效果​​

​​6.彩点实验下三角​​

​​游戏源码​​​​游戏效果​​

​​7.彩点实验抛物线​​

​​游戏源码​​​​游戏效果​​

​​8.彩点实验椭圆形​​

​​游戏源码​​​​游戏效果​​

​​9.旋转文字​​

​​游戏源码​​​​游戏效果​​

​​10.迷宫游戏​​

​​游戏源码​​​​游戏效果​​

1.小猫运动

游戏源码

# @Author : 辣条'''多行注释本程序运行后会有一只小猫向前走安装模块 pip install sprites'''# 从精灵模块导入所有命令from sprites import *# 新建角色,造型序列为imagesimages = 'res/cat1.png','res/cat2.png'# 新建角色cat = Sprite(shape=images)# 播放喵声cat.play('喵.wav')# 当成立的时候(重复执行)while True: # 前进10 cat.fd(10) # 下一个造型 cat.nextcostume() # 等待0.3秒 cat.wait(0.3)

游戏效果

2.弹球

游戏源码

# @Author : 辣条""" 弹球,本程序主要演示碰到边缘就反弹这个命令"""# 从精灵模块导入所有命令from sprites import *# 1代表弹球ball = Sprite(1)while True: # 前进0.1 ball.fd(0.1) # 碰到边缘就反弹 ball.bounce_on_edge()

游戏效果

3.画正方形

游戏源码

# @Author : 大海from sprites import *# 新建虫子精灵bug=Sprite()# 绘画延时为10毫秒bug.screen.delay(10)# 画笔尺寸bug.pensize(4)# 画笔颜色# 宝蓝bug.color('dodger blue')# 落笔bug.pendown()# 重复4次for _ in range(4): # 前进100 bug.fd(100) # 右转90 bug.rt(90)# 抬笔bug.penup()

游戏效果

4.彩点实验

游戏源码

# @Author : 大海'''彩点实验'''import timefrom sprites import *d = Sprite(shape='black',visible=False)d.screen.bgcolor('black')while True: d.randompos() d.randomcolor() time.sleep(0.1) d.dot(random.randint(10,100))

游戏效果

5.彩点实验圆形

游戏源码

from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')radius = 200while True: d.randomcolor() d.randomheading() d.fd(random.randint(1,radius)) d.dot(10) d.home()

游戏效果

6.彩点实验下三角

游戏源码

'''6.彩点实验下三角'''from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')while True: d.randompos() if d.xcor() > d.ycor(): d.randomcolor() d.dot(10)

游戏效果

7.彩点实验抛物线

游戏源码

'''7.彩点实验抛物线'''from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')while True: d.randompos() if d.ycor() > 0.5 * d.xcor() * d.xcor() /100: d.randomcolor() d.dot(10)

游戏效果

8.彩点实验椭圆形

游戏源码

'''8.彩点实验椭圆形'''from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')dot1 = (-100,0)dot2 = (100,0)while True: d.randompos() d1 = d.distance(dot1) d2 = d.distance(dot2) if d1 + d2 < 300: d.randomcolor() d.dot(10)

游戏效果

9.旋转文字

游戏源码

from sprites import *# 新建屏幕screen = Screen()# 设定背景颜色screen.bgcolor('dodger blue')# 设定标题screen.title('旋转的文字')# 新建不可见的角色t=Sprite(visible=False)# 设定角色为白色t.color('white')# a是一个全局变量,这里代表角度a= 0# 要旋转的文字info = '大海老师大帅比'# 定义字体样式ft = ('黑体',32,'normal')# 定义rotate函数def rotate(): # 申明a为全局变量 global a # 清除以前所写内容 t.clear() t.write(info,align='center',font=ft,angle=a) a = a + 10 screen.ontimer(rotate,50)rotate()screen.mainloop()

游戏效果

10.迷宫游戏

游戏源码

""" 大迷宫游戏.py 小老鼠在一个偌大的迷宫中迷失了方向,请按上下左右方向箭头操作它移动。 找到出口,走出迷宫。 本程序需要python精灵模块1.35版本以上支持。 安装最新版本请用cmd打开命令提示符管理员窗口输入以下命令: pip install -i sprites --upgrade 本程序主要演示的像素级碰撞检测命令pixelcollide。它返回碰撞点坐标, 主碰方(在这里是老鼠)碰撞点的像素值,被碰方(这时是迷宫),重叠区域矩形。就像下面这样: ((14.0, 3.0), (45, 45, 45), (104, 104, 104), (-17.0, 9.0, 18.0, -9.0, 630.0)) 最后重叠区域是一个五元组,这个五元组最后一个值是重叠区域的面积。 问题是,小老鼠最后找到了绿色的出口,可怎么也无法进门! 当你理解了pixelcollide的返回值后,相信你能对此程序进行修改,从而解决小老鼠的问题。 """from sprites import * # 从精灵模块导入所有命令 from pygame import mixer # 从pygame模块导入混音器screen = Screen()screen.setup(480,360)screen.title('大迷宫游戏')mixer.init()mixer.music.load('胡伟立 - 周旋过场.mp3')mixer.music.play(-1,0) # 从头开始循环播放maze = Sprite('1.png') # 新建迷宫maze.scale(2) # 迷宫长宽扩大为原来2倍maze.ondrag(None) # 让迷宫不可拖动,(maze.draggable()能让它重新可拖动)# 新建有两个造型的老鼠角色rat = Sprite(['res/rat1.png','res/rat2.png']) rat.shapesize(0.5,0.6)leftkey = Key("Left") # 向左方向箭头rightkey = Key("Right") # 向右方向箭头 upkey = Key("Up") # 向上方向箭头downkey = Key("Down") # 向下方向箭头screen.listen() # 监听屏幕按键r = Nonewhile True: if leftkey.down(): # 按左方向箭头往左移 rat.nextcostume() rat.setheading(180) maze.addx(5) r = rat.pixelcollide(maze) if r:maze.addx(-5) if rightkey.down(): # 按右方向箭头往左移 rat.nextcostume() rat.setheading(0) maze.addx(-5) r = rat.pixelcollide(maze) if r:maze.addx(5) if upkey.down(): # 按上方向箭头往左移 rat.nextcostume() rat.setheading(90) maze.addy(-5) r = rat.pixelcollide(maze) if r:maze.addy(5) if downkey.down(): # 按下方向箭头往左移 rat.nextcostume() rat.setheading(-90) maze.addy(5) r = rat.pixelcollide(maze) # 对rat和maze进行像素极碰撞检测 if r:maze.addy(-5) if r: print(r) screen.update()

游戏效果

``


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【脑电信号】基于小波变换特征结合BP神经网络、GRNN、PNN、RBF、KNN多种算法实现癫痫脑电信号识别含Matlab源码
下一篇:柱状图中最大的矩形 两种解法 (Python)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~