python简单小游戏代码50行,python超简单小游戏代码

大家好,本文将围绕python简单小游戏代码100行展开说明,python简单小游戏代码20行是一个很多人都想弄明白的事情,想搞清楚python简单小游戏代码50行需要先了解以下几个事情。


欢迎关注 『Python黑科技』 系列,持续更新中
欢迎关注 『Python黑科技』 系列,持续更新中

实现效果

毕竟只有10行代码,就只是简单的从一个三角形的循环运动开始。
是pgzero库和pgzrun库的一个简单入门
在这里插入图片描述
随后更为复杂的屏幕气泡运动
在这里插入图片描述


准备图片素材

需要在py文件的文件夹下新建一个images文件夹,并在其中放入图片素材triangle.png图片格式没关系,后面我们引用图片时不需要加后缀的python皮卡丘代码复制粘贴
在这里插入图片描述
在这里插入图片描述
我的图片素材
在这里插入图片描述


遇到的坑

网上其他地方的类似代码拿过来报错不能用,有点奇怪pgzero库和pgzrun库的关系,我使用单个就是不行,一开始还遇到了Unresolved reference 'screen'Unresolved reference 'Actor'的问题,后来解决了Actor的报错(在前面加上前缀变为pgzero.builtins.Actor),但是我后来又发现没有区别,报错了还是能照常运行,大家可以在评论区一起分享一下你的解决方法····

  • 这个报错没有解决,但是能正常运行,应该是这个库就没有写好
    在这里插入图片描述
  • 修改后不再报错
    在这里插入图片描述
    在这里插入图片描述

实现思路

  • 设置画布的大小和颜色
  • 设置要运动的三角形和运动的规则
  • 运行小游戏
导入库
import pgzrun
import pgzero
设置画布的大小和颜色

在这里插入图片描述

WIDTH = 800  # 画布宽度
HEIGHT = 600  # 画布高度
# HEIGHT = triangle.height + 20   # 先定义了triangle的位置,再定义高度,避免角色因为大小问题导致的展示不全

如果不设置,默认是黑色!

screen.clear()#清除原来屏幕的内容
screen.fill((255, 255, 255)) # rgb颜色 255 255 255表示白色

#设置画布颜色
def draw():
    screen.clear()#清除原来屏幕的内容
    # rgb颜色 255 255 255表示白色
    screen.fill((255, 255, 255))
    triangle.draw()
设置要运动的三角形和运动的规则
  • 介绍一下运动的规则
while game_run():   
    #默认一直进行如下循环,我们不用这么写,pgzero库默认是这个思路!我们需要重写update()和draw()写入我们需要的操作
    process_input()
    update()
    draw()
  • 设置运动的速度
    设置水平运动速度dx,竖直运动速度dy
triangle.dx = 5
triangle.dy = 5
  • 设置三角形初始位置和角色的图片内容
# triangle = Actor('triangle')   #创建一个角色对象,使用图片名为triangle的图片
# triangle.pos = 0, 300      #指定角色在screen中出现在左对齐的居中位置
triangle = pgzero.builtins.Actor("triangle", (0, 300))#上面两行的简写形式

Pgzerod的actor对象有4个属性left、right、top、bottom,分别表示的左、右、上、下各个边界的位置,我们依靠这个进行碰撞检测。
triangle.left
triangle.right
triangle.top
triangle.bottom

#本函数用于时刻更新三角形位置,如果三角形的位置大于画布的大小,那么就把三角形的位置归零重置
#如果三角形还在画布之内,那么就把位置+1,实现三角形向右移动
def update():
    # 如果三角形还在画布之内,那么就把位置+1,实现三角形向右移动
    triangle.x += 1
    if triangle.right > WIDTH:
    # 时刻更新三角形位置,如果三角形的位置大于画布的大小,那么就把三角形的位置归零重置
        triangle.x = 0
运行小游戏
pgzrun.go()#运行游戏

实现代码

# @Time    : 2022/2/3 17:54
# @Author  : 南黎
# @FileName: 十行代码编写一个Python小游戏.py
import pgzrun
import pgzero

#设置角色初始位置
# triangle = Actor('triangle')   #创建一个角色对象,使用图片名为triangle的图片
# triangle.pos = 0, 300      #指定角色在screen中出现在左对齐的居中位置
triangle = pgzero.builtins.Actor("triangle", (0, 300))#上面两行的简写形式

WIDTH = 800  # 画布宽度
HEIGHT = 600  # 画布高度
# HEIGHT = triangle.height + 20   # 先定义了triangle的位置,再定义高度,避免角色因为大小问题导致的展示不全

#设置画布颜色
def draw():
    screen.clear()#清除原来屏幕的内容
    # rgb颜色 255 255 255表示白色
    screen.fill((255, 255, 255))
    triangle.draw()


#本函数用于时刻更新三角形位置,如果三角形的位置大于画布的大小,那么就把三角形的位置归零重置
#如果三角形还在画布之内,那么就把位置+1,实现三角形向右移动
def update():
    # 如果三角形还在画布之内,那么就把位置+1,实现三角形向右移动
    triangle.x += 1
    if triangle.right > WIDTH:
    # 时刻更新三角形位置,如果三角形的位置大于画布的大小,那么就把三角形的位置归零重置
        triangle.x = 0


pgzrun.go()#运行游戏

思路拓展的代码

我们可以让物体的运动方向变得随机。
每次触碰到边界再进行重置,实现屏幕保护的气泡运动效果。

# @Time    : 2022/2/3 19:39
# @Author  : 南黎
# @FileName: 随机运动多方向碰撞检测Python小游戏.py
import pgzrun

WIDTH = 1024
HEIGHT = 720
triangle_number = 4#生成几个triangle对象
triangles = []
for i in range(triangle_number):
    triangle = Actor("triangle")
    triangle.x = 50 * i + 100
    triangle.y = 100
    triangle.dx = 5 + i
    triangle.dy = 5 + i
    triangles.append(triangle)


def draw():
    screen.fill((255, 255, 255))
    for triangle in triangles:
        triangle.draw()


#每次触碰到边界再进行重置,实现屏幕保护的气泡运动效果
#进行随机的运动
def update():
    for triangle in triangles:
        triangle.x += triangle.dx
        triangle.y += triangle.dy
        if triangle.right > WIDTH or triangle.left < 0:
            triangle.dx = - triangle.dx
        if triangle.bottom > HEIGHT or triangle.top < 0:
            triangle.dy = -triangle.dy

pgzrun.go()

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python黑科技!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-2-1

欢迎关注 『Python黑科技』 系列,持续更新中
欢迎关注 『Python黑科技』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包exe】
【免登陆爬虫一键下载知乎文章图片(保姆级图文+实现代码)】
【孤独的程序员和AI机器人朋友聊天解闷(免费接口+保姆级图文+实现代码注释)】
【几行代码绘制gif动图(保姆级图文+实现代码)】
【几行代码实现网课定时循环截屏,保存重要知识点(保姆级图文+实现代码)】
【常用的user_agent 浏览器头爬虫模拟用户(保姆级图文+实现代码)】
【更多内容敬请期待】


  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值