基于Python实现牛牛套圈小游戏的示例代码

 更新时间:2023年02月13日 08:47:31   作者:木木子学python  
“幸运牛牛套圈圈”套住欢乐,圈住幸福,等你来挑战!这篇文章小编主要为大家介绍一款基于Python实现牛牛套圈小游戏,感兴趣的小伙伴可以了解一下

前言

“幸运牛牛套圈圈”套住欢乐,圈住幸福,等你来挑战!

哈喽,大家上午好,我是你们的栗子同学,今天来给大家带来一款新游戏,是不是很久没给大家更新游戏板块了呀~期不期待呢? 哈哈哈。——忆童年

没有网络也没有智能手机的年代,现在回想起来,那么多无聊的时间,我们是怎么打发的呢?

每个“大孩子”应该都有自己的游戏回忆录,见证了那个时候的天马行空。

那个时候的我们边玩着古董游戏机,边哼唱超级玛丽和魂斗罗的配乐,偶尔逛逛公园里摆满玩具物件的套圈摊子,偷偷在课间翻看风靡儿时的连环画……

童年匆匆,没有任何仪式与记载便从我们的年华里溜走,幸好它还留下了一些天真烂漫的日子供我们怀念。今天来给大家做了一个新款的斗牛士的套圈小游戏,希望大家喜欢哦~

当然,嫌弃牛牛的话可以换成其他的可爱的小宠物哦!

一、环境配置

1)运行环境

 Python 3 、Pycharm、Pygame。其他内置模块,安装好python环境就可以了。

(win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安 装速度比较慢, 你可 以切换国内镜像源))

2)第三方库安装

pip install + 模块名 或者 带镜像源 pip install -i pypi.douban.com/simple/ +模块名 

3)素材内容

二、代码展示

1)主程序

import pygame,sys
from pygame.locals import *

pygame.init()

canvas = pygame.display.set_mode((1000,700))

pygame.display.set_caption("无敌斗牛士套圈小游戏")

bg = pygame.image.load("images/bg.png")
bull_img = pygame.image.load("images/bull.png")
rope_img = pygame.image.load("images/rope.png")
win = pygame.image.load("images/win.png")
lose = pygame.image.load("images/lose.png")
bow = pygame.image.load("images/bow.png")

print("测试Test")

print("[测试Test:1]碰撞检测:False")

state = "RUNNING"
print("[测试Test:4]state更改为RUNNING")

on_off = 0

def handleEvent():
    global on_off,state
    for event in pygame.event.get():
        if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
            print("[测试Test:2]结束测试Test")
            print("结束测试Test")
            if state == "RUNNING":
                raise UserWarning("[Error:1]中途退出")
            pygame.quit()
            sys.exit()
        if event.tye == KEYDOWN and event.key == K_SPACE:
            on_off = 1
            print("[测试Test:3]on_off更改为1")

class Rope():
    def __init__(self,x,y,width,height,img):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.img = img
        self.speedY = -1
    def paint(self):
        canvas.blit(self.img,(self.x,self.y))
    def move(self):
        global on_off
        if on_off == 1:
            self.y += self.speedY * 10
            if self.y < 400:
                self.speedY = 1
            elif self.y > 600:
                self.speedY = -1
                on_off = 0
                print("[测试Test:3]on_off更改为0")
    def hit(self,b):
        return self.y == b.y and self.x + 40 > b.x and self.x < b.x + 40
        
class Bull():
    def __init__(self,x,y,width,height,img):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.img = img
    def paint(self):
        canvas.blit(self.img,(self.x,self.y))
    def move(self):
        self.x = self.x + 10
        if self.x > 1000:
            self.x = 0
            
def comPaint():
    canvas.blit(bg,(0,0))
    bull.paint()
    rope.paint()

def comMove():
    bull.move()
    rope.move()

def checkHit():
    global on_off,state
    if rope.hit(bull):
        print("[测试Test:1]碰撞检测:True")
        on_off = 0
        state = "SUCCESS"
        print("[测试Test:4]state更改为SUCCESS")
        print("[测试Test:5]停止运动")

rope = Rope(385,600,39,52,rope_img)
print("[测试Test:6]rope创建")
bull = Bull(0,400,192,141,bull_img)
print("[测试Test:6]bull创建")
while True:
    if state == "RUNNING":
        comPaint()
        comMove()
        checkHit()
    elif state == "SUCCESS":
        comPaint()
        canvas.blit(win,(0,0))
    handleEvent()

    pygame.display.update()

    pygame.time.delay(10)

三、效果展示

这款游戏很简单,效果做的不多啦:斗牛士动态的效果,空格移动套圈,套中游戏胜利即可结束。

1)界面截图

​2)套空

3)套中胜利

到此这篇关于基于Python实现牛牛套圈小游戏的示例代码的文章就介绍到这了,更多相关Python牛牛套圈游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用PyQt5生成过年春联

    利用PyQt5生成过年春联

    这篇文章主要介绍了如何利用PyQt5生成过年春联。通过在界面上输入春联的上、下批和横批汉字从而生成春联图像,最后将春联图片保存。需要的可以参考一下
    2022-01-01
  • OpenAI的Whisper模型进行语音识别使用详解

    OpenAI的Whisper模型进行语音识别使用详解

    这篇文章主要介绍了OpenAI的Whisper模型进行语音识别使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • django drf框架自带的路由及最简化的视图

    django drf框架自带的路由及最简化的视图

    这篇文章主要介绍了django-drf框架自带的路由以及最简化的视图,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python实现服务端渲染SSR的示例代码

    Python实现服务端渲染SSR的示例代码

    服务端渲染是一种常见的技术策略,特别是在需要改善网站的搜索引擎优化(SEO)和首屏加载时间的场景下,本文将介绍如何利用 Python 实现 SSR,感兴趣的可以了解下
    2024-02-02
  • 使用Python图像处理库Pillow处理图像文件的案例分析

    使用Python图像处理库Pillow处理图像文件的案例分析

    本文将通过使用Python图像处理库Pillow,帮助大家进一步了解Python的基本概念:模块、对象、方法和函数的使用,文中代码讲解的非常详细,需要的朋友可以参考下
    2023-07-07
  • Pytorch保存模型用于测试和用于继续训练的区别详解

    Pytorch保存模型用于测试和用于继续训练的区别详解

    今天小编就为大家分享一篇Pytorch保存模型用于测试和用于继续训练的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 一文带你快速掌握Python LightGBM必备知识点

    一文带你快速掌握Python LightGBM必备知识点

    LightGBM(Light Gradient Boosting Machine)是一种梯度提升树算法的高效实现,这篇文章为大家整理了十个LightGBM必备知识点,希望对大家有所帮助
    2023-06-06
  • 基于python实现数组格式参数加密计算

    基于python实现数组格式参数加密计算

    这篇文章主要介绍了基于python实现数组格式参数加密计算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python餐饮AI机器人学习数据网络抓取

    Python餐饮AI机器人学习数据网络抓取

    在餐饮行业,AI机器人可以通过学习大量的相关数据来提供更好的服务和体验,在文本中,我们将介绍如何使用python进行餐饮A I机器人学习数据的网络抓取,并提供代码的示例和最佳实践
    2023-12-12
  • python中partial()基础用法说明

    python中partial()基础用法说明

    这篇文章主要给大家介绍了关于python中partial()基础用法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12

最新评论