十个Python经典小游戏的代码合集

作者:五包辣条! 时间:2021-08-03 12:09:38 

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)

游戏效果

十个Python经典小游戏的代码合集

2.弹球

游戏源码

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

while True:
   # 前进0.1
   ball.fd(0.1)
   # 碰到边缘就反弹
   ball.bounce_on_edge()

游戏效果

十个Python经典小游戏的代码合集

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()

游戏效果

十个Python经典小游戏的代码合集

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))

游戏效果

十个Python经典小游戏的代码合集

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()

游戏效果

十个Python经典小游戏的代码合集

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)

游戏效果

十个Python经典小游戏的代码合集

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)

游戏效果

十个Python经典小游戏的代码合集

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)

游戏效果

十个Python经典小游戏的代码合集

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()

游戏效果

十个Python经典小游戏的代码合集

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经典小游戏的代码合集

来源:https://blog.csdn.net/AI19970205/article/details/124738062

标签:Python,游戏,合集
0
投稿

猜你喜欢

  • Python 对象中的数据类型

    2022-01-25 00:58:35
  • IE不支持overrideMimeType()方法,即使是IE7.

    2009-02-08 16:58:00
  • Sphinx生成python文档示例图文解析

    2022-06-07 23:35:50
  • Python与CNN的碰撞详解

    2023-01-09 13:21:12
  • Golang控制通道实现协程等待详解

    2023-07-21 16:23:39
  • Python实现动态二维码生成的示例代码

    2022-08-03 15:45:39
  • ActionScript3.0是革命性的

    2008-05-01 12:36:00
  • Python将string转换到float的实例方法

    2023-06-13 07:23:47
  • 使用Python画股票的K线图的方法步骤

    2021-03-24 06:54:24
  • PyHacker编写指南引用Nmap模块实现端口扫描器

    2023-07-15 14:15:40
  • 简单的文本内容处理工具

    2010-01-28 12:31:00
  • python re.match()用法相关示例

    2023-07-21 05:12:30
  • keras模型可视化,层可视化及kernel可视化实例

    2021-02-20 00:45:25
  • Apache DophinScheduler定时调度Python脚本的实现

    2021-06-23 15:02:54
  • 二级下拉菜单代码

    2008-11-01 18:18:00
  • Python 新建文件夹与复制文件夹内所有内容的方法

    2022-03-22 00:05:05
  • Python使用Phantomjs截屏网页的方法

    2022-06-17 15:47:14
  • 将各种类型或对象都转变为数组

    2009-12-28 13:19:00
  • pandas实现导出数据的四种方式

    2023-01-03 14:57:57
  • 一文秒懂python中的 \\r 与 end=‘’ 巧妙用法

    2022-10-06 08:33:28
  • asp之家 网络编程 m.aspxhome.com