十个Python经典小游戏的代码合集
作者:五包辣条! 发布时间:2021-08-03 12:09:38
标签: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()
游戏效果
来源:https://blog.csdn.net/AI19970205/article/details/124738062


猜你喜欢
- 一、前置知识1.1 语料库(Corpus)太长不看版: NLP任务所依赖的语言数据称为语料库。详细介绍版: 语料库(Corpus,复数是Co
- 什么是CookieCookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器
- PHP mysqli_set_charset()函数设置默认客户端字符集:<?php// 假定数据库用户名:root,密码:12345
- 1.找到缺失值导入数据集df=pd.read_csv("nba.csv")df.head(10)替换异常值(数据集中异常
- 模块安装:数据操作用到的模块pymysql,需要通过pip install pymysql进行安装。redis操作用的模块是redis,需要
- 以下的文章主要描述的是MySQL数据库简单实用优化的具体方法的实现,中包括如何定期的表进行分析与检查, 以及如何正确对表进行定期的优化,以下
- 什么是Three.js? 如果你正在读这篇文章,你可能对Three.js有一定的了解,那我们来简单地介绍下Three.js是什么.Three
- GO语言结构体方法跟结构体指针方法的区别首先,我定了三个接口、一个结构和三个方法:type DeptModeA interface {Nam
- 1、流程控制流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。流程控制包含分三大类:条件判断,
- 前言:Python pass 是空语句,是为了保持程序结构的完整性;pass 不做任何事情,一般用做占位语句。Python 语言
- 之前希望在手机端使用深度模型做OCR,于是尝试在手机端部署tensorflow模型,用于图像分类。思路主要是想使用tflite部署到安卓端,
- 本文实例讲述了Python企业编码生成系统之主程序模块。分享给大家供大家参考,具体如下:一 点睛主程序模块包括三部分:1 主程序初始化2 主
- 一、问题描述一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No
- 在使用Django2.0 并配置了mysql作为数据库时,启动报错:报错1:找不到mysqlclientdjango.core.except
- select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观
- 本文实例为大家分享了python+rsync精确同步指定格式文件的具体代码,供大家参考,具体内容如下# coding: utf-8#!/us
- 一、AnacondaAnaconda(水蟒)是一个捆绑了Python、conda、其他相关依赖包的一个软件。包含了180多个可学计算包及其依
- 最近一直在用python写点监控oracle的程序,一直没有用到异常处理这一块,然后日常监控中一些错误笼统的抛出数据库连接异常,导致后续处理
- 1、检查本机python 版本:2、安装Qt5 执行如下指令:pip install PyQt5 -i https://pypi.douba
- golang 字符串 int uint int64 uint64 互转字符串 转 intintNum, _ = strconv.Atoi(i