十个Python经典小游戏的代码合集
作者:五包辣条!
这篇文章主要为大家分享十个Python经典的小游戏代码,非常适合Python初学者练手。文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
1.小猫运动
游戏源码
# @Author : 辣条 ''' 多行注释 本程序运行后会有一只小猫向前走 安装模块 pip install sprites ''' # 从精灵模块导入所有命令 from sprites import * # 新建角色,造型序列为images images = '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 time from 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 = 200 while 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 https://pypi.tuna.tsinghua.edu.cn/simple 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 = None while 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()
游戏效果
以上就是十个Python经典小游戏的代码合集的详细内容,更多关于Python游戏合集的资料请关注脚本之家其它相关文章!