【Python小游戏】某程序员将套圈游戏玩儿到了巅峰,好嗨哟~Pygame代码版《牛牛套圈》已上线,大人的套圈游戏太嗨了,小孩勿进。

news2024/10/1 21:24:09

前言

世上选择那么多。

关注栗子同学会是您最明智的选择哦。

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

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

哈喽,大家上午好,我是你们的栗子同学,今天来给大家带来一款新游戏,

是不是很久没给大家更新游戏板块了呀~期不期待呢? 哈哈哈。

——忆童年

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

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

那个时候的我们

边玩着古董游戏机

边哼唱超级玛丽和魂斗罗的配乐

偶尔逛逛公园里

摆满玩具物件的套圈摊子

偷偷在课间翻看

风靡儿时的连环画

……

童年匆匆,没有任何仪式与记载便从我们的年华里溜走,幸好它还留下了一些天真烂漫的日子

供我们怀念。今天来给大家做了一个新款的斗牛士的套圈小游戏,希望大家喜欢哦~

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

正文

一、环境配置

1)运行环境

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

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

2)第三方库安装

+python安装包 安装教程视频 anaconda5.2.0等等 安装包

+pycharm 社区版 专业版 及 激活码免费 (可以找我免费领取的)

+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)套中胜利

总结

快来!一起套圈圈~好啦,文章写到这里就结束了哈!今天来给大家来几个小段子,希望大家也

开心开心啦!

1)​这么多年了,你还是一个人吗?”“屁话!我TM的难道会变成一条狗吗!”

“不是…我不…我不是那个意思…我是说…你…你的另一条狗呢…

2)我追求女神追了3个月,女神大怒:你烦不烦啊!好,就给你次机会,离我30cm开外不借助身

体以外,的东西碰到我我就从了你!lz:此话当真?女神:是的。不过尿的不算。然后我一口粘痰吐

她一脸。

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目4.4 【Pygame实战】这两款脑洞大开的文字剧情版游戏,99% 的人打了五星好评-《巨龙之洞》-《太空矿工》

项目4.5  【Pygamre实战】2023人气超高的模拟经营类游戏:“梦想小镇“代码版火爆全场,免费体验分享下载哦~

项目1.5  Pygame小游戏:植物大战僵尸游戏真的有“毒”?戒不掉啊~

项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~

项目0.5   重温经典:Python版飞机大战源码,装逼神器。玩游戏就玩自己开发的~

项目0.6 【Python实战项目】做一个 刮刮乐 案例,一不小心....着实惊艳到我了。

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)            

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/338133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用OpeAI API打造ChatGPT桌面端应用

用OpeAI API打造ChatGPT桌面端应用 自从《如何用ChatGPT高效完成工作》这篇文章火了之后&#xff0c;我在公司内部分享了一下”摸鱼“的先进经验&#xff0c;激发起广大同事一起”摸鱼“的热情。但是注册ChatGPT账号非常麻烦&#xff0c;既要Science上网&#xff0c;又要海外手…

Spark环境搭建

文章目录Spark 概述Spark 发展历史使用现状官网介绍流行原因组成模块Spark环境搭建-Local模式(本地模式)Spark环境搭建-Standalone(独立集群)Spark环境搭建-Standalone-HA(高可用)Spark环境搭建-Spark-On-Yarn两种模式Spark 概述 Spark 发展历史 2009年诞生2014年成为Apache顶…

Java笔记-线程中断

线程的中断 1.应用场景&#xff1a; 假设从网络下载一个100M的文件&#xff0c;如果网速很慢&#xff0c;用户等得不耐烦&#xff0c;就可能在下载过程中点“取消”&#xff0c;这时&#xff0c;程序就需要中断下载线程的执行。 2.常用中断线程的方法&#xff1a; 1.使用标…

Canvas鼠标滚轮缩放以及画布拖动(图文并茂版)

Canvas鼠标滚轮缩放以及画布拖动 本文会带大家认识Canvas中常用的坐标变换方法 translate 和 scale&#xff0c;并结合这两个方法&#xff0c;实现鼠标滚轮缩放以及画布拖动功能。 Canvas的坐标变换 Canvas 绘图的缩放以及画布拖动主要通过 CanvasRenderingContext2D 提供的 …

C++设计模式(13)——装饰模式

亦称&#xff1a; 装饰者模式、装饰器模式、Wrapper、Decorator 意图 装饰模式是一种结构型设计模式&#xff0c; 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 问题 假设你正在开发一个提供通知功能的库&#xff0c; 其他程序可使用它向用户发…

注册ChatGPT的辛酸血泪史,不能算教程的教程

注册ChatGPT的血泪史 2月份了&#xff0c;改论文降重了&#xff0c;所以想搞个ChatGPT玩玩&#xff0c;本以为有渠道能顺序上车&#xff0c;但是看了很多教程&#xff0c;也进了很多交流群&#xff0c;都喵的(要不是卖号&#xff0c;租体验&#xff0c;liar)&#xff0c;所以自…

java ssm高校教材管理平台 idea maven

设计并且实现一个基于JSP技术的高校教材管理平台的设计与实现。采用MYSQL为数据库开发平台&#xff0c;SSM框架&#xff0c;Tomcat网络信息服务作为应用服务器。高校教材管理平台的设计与实现的功能已基本实现&#xff0c;主要学生、教材管理、学习教材、教材入库、教材领取、缴…

C语言 大数加法 大数乘法

最近刷题&#xff0c;总遇到大数加法&#xff08;浮点数&#xff09;和乘法问题(阶乘)&#xff0c;总结一下思路。 大数乘法主要思想&#xff1a;编程实现竖式乘法&#xff08;小学时候学的列竖式计算乘法&#xff09;创建一个很大的数组&#xff0c;用于存储大数的每一位。&am…

Android Q WiFi 代码框架

同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。 1 wifi 架构图 备注:在Android 9.0中,WiFi的状态处理在WifiStateMachine中进行,到…

c语言数据结构-图的遍历

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 定义&#xff1a; 两种遍历方法&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;&#xff1a; …

ElasticJob-Lite架构篇 - 认知分布式任务调度ElasticJob-Lite

前言 本文基于 ElasticJob-Lite 3.x 版本展开分析。 如果 Quartz 集群中有多个服务端节点&#xff0c;任务决定在哪个服务端节点上执行的呢&#xff1f; Quartz 采用随机负载&#xff0c;通过 DB 抢占下一个即将触发的 Trigger 绑定的任务的执行权限。 在 Quartz 的基础上&…

从0到1一步一步玩转openEuler--10 openEuler基础配置-设置kdump

10 openEuler基础配置-设置kdump 文章目录10 openEuler基础配置-设置kdump10.1 设置kdump10.1.1 设置kdump预留内存10.1.1.1 预留内存参数格式10.1.2 预留内存推荐值10.1.3 禁用网络相关驱动10.1 设置kdump 本节介绍如何设置kdump预留内存及修改kdump配置文件参数。 10.1.1 设…

写python爬虫,你永远绕不过去代理问题

如果你想要从事 Python 爬虫相关岗位&#xff0c;那你一定会接触到代理问题&#xff0c;随之而来的就是下面 5 大代理知识点。 什么是代理&#xff1a;代理是网络中间人&#xff08;中间商赚插件&#xff09;&#xff0c;它代表用户发送网络请求&#xff0c;隐藏用户的真实身份…

JDY-31蓝牙模块使用指南

前言 本来是想买个hc-05&#xff0c;这种非常常用的模块&#xff0c;但是在优信电子买的时候&#xff0c;说有个可以替代的&#xff0c;没注意看&#xff0c;买回来折腾半天。 这个模块是从机模块&#xff0c;蓝牙模块分为主机从机和主从一体的&#xff0c;主机与从机的区别就…

【安全】nginx反向代理+负载均衡上传webshel

Nginx负载均衡下上传webshell 什么是反向代理&#xff1f; 正向代理就是代替客户端进行各种服务的访问以及获取&#xff1b;那么反向代理自然就是代替服务器进行事务处理&#xff0c;就是此时的代理服务器负责将用户的各项请求做一个汇总、分类&#xff0c;将其分发到不同的服务…

网络抓包方式复现Tomcat- AJP协议文件读取/命令执行漏洞(CVE-2020-1938 / CNVD-2020-10487)

目录 测试是否安装成功​编辑 基础简介 Tomcat Connector(连接器) ​编辑Servlet(服务程序) Tomcat内部处理请求流程 Tomcat加载和处理jsp的流程图 抓包复现 需要将下图中抓取到的数据包修改一下 替换成二进制数据的形式&#xff1a; python版替换代码&#xff1a; 运…

WordPress网站日主题Ri主题RiProV2主题开启了验证码登录但是验证码配置不对结果退出登录后进不去管理端了

背景 WordPress网站日主题Ri主题RiProV2主题开启了验证码登录但是验证码配置不对结果退出登录后进不去管理端了;开启了腾讯云验证码防火墙但APPID,APPSecret没配置,结果在退出登录后,由于验证码验证失败管理端进不去了 提示如下:

自定义软件帮助文档(qt assistant实现)

网上搜了一下&#xff0c;软件的帮助文档&#xff0c;三个都可以&#xff1a;https://github.com/zealdocs/zeal&#xff0c;https://zealdocs.org/&#xff0c;看看这个博客说的 https://blog.csdn.net/libaineu2004/article/details/125028913&#xff0c;这个也是开源的&…

神经网络实战--使用迁移学习完成猫狗分类

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下如何使用基于tensorflow和keras的迁移学习完成猫狗分类&#xff0c;欢迎大家一起前来探讨学习~ 本文目录&#xff1a;一、加载数据集1.调用库函数2.加载数据集3.数据集管理二、猫狗数据集介绍1.猫狗数据集介…

【Spring(十一)】万字带你深入学习面向切面编程AOP

文章目录前言AOP简介AOP入门案例AOP工作流程AOP切入点表达式AOP通知类型AOP通知获取数据总结前言 今天我们来学习AOP,在最初我们学习Spring时说过Spring的两大特征&#xff0c;一个是IOC,一个是AOP,我们现在要学习的就是这个AOP。 AOP简介 AOP:面向切面编程,一种编程范式&#…