【附源码】10个超适合小白练手的Python小游戏,我都能玩一天

Python游戏汇总:三十个pygame游戏代码【附源码免费分享】 导语 哈喽哈喽!我是木木子! ​ 每日更新游戏不知不觉已经很多啦~ Python兴趣始于游戏,所以更新的文章中基本上都是游戏代码居多。 然后我疯狂的找各种小游戏、小脚本、小项目的教程源码什么的,然后自己进行学习、制作、修改等等。 ​ ​ 于是我就疯狂的找呀找呀学呀学呀,现在就有一大堆,哈哈哈,所以今天是准备稍稍的整理下,感觉比较乱。 提示:爱学习哦,不要沉迷游戏,平时打发一下无聊时间最好啦 文章末尾有惊喜有全部的游戏代码一键可免费领取哈! ​正文 往期更多文章欢迎阅读: 1.成语接 阅读详情

今天给大家带来10个py小游戏,一定要收藏!全部源码都整理好了,在文章最底部~

1、吃金币

【有手就行系列不介绍玩法了+附源码】

源码分享:

 import os
import cfg
import sys
import pygame
import random
from modules import *
 
 
'''游戏初始化'''
def initGame():
    # 初始化pygame, 设置展示窗口
    pygame.init()
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('catch coins —— 九歌')
    # 加载必要的游戏素材
    game_images = {}
    for key, value in cfg.IMAGE_PATHS.items():
        if isinstance(value, list):
            images = []
            for item in value: images.append(pygame.image.load(item))
            game_images[key] = images
        else:
            game_images[key] = pygame.image.load(value)
    game_sounds = {}
    for key, value in cfg.AUDIO_PATHS.items():
        if key == 'bgm': continue
        game_sounds[key] = pygame.mixer.Sound(value)
    # 返回初始化数据
    return screen, game_images, game_sounds
 
 
'''主函数'''
def main():
    # 初始化
    screen, game_images, game_sounds = initGame()
    # 播放背景音乐
    pygame.mixer.music.load(cfg.AUDIO_PATHS['bgm'])
    pygame.mixer.music.play(-1, 0.0)
    # 字体加载
    font = pygame.font.Font(cfg.FONT_PATH, 40)
    # 定义hero
    hero = Hero(game_images['hero'], position=(375, 520))
    # 定义食物组
    food_sprites_group = pygame.sprite.Group()
    generate_food_freq = random.randint(10, 20)
    generate_food_count = 0
    # 当前分数/历史最高分
    score = 0
    highest_score = 0 if not os.path.exists(cfg.HIGHEST_SCORE_RECORD_FILEPATH) else int(open(cfg.HIGHEST_SCORE_RECORD_FILEPATH).read())
    # 游戏主循环
    clock = pygame.time.Clock()
    while True:
        # --填充背景
        screen.fill(0)
        screen.blit(game_images['background'], (0, 0))
        # --倒计时信息
        countdown_text = 'Count down: ' + str((90000 - pygame.time.get_ticks()) // 60000) + ":" + str((90000 - pygame.time.get_ticks()) // 1000 % 60).zfill(2)
        countdown_text = font.render(countdown_text, True, (0, 0, 0))
        countdown_rect = countdown_text.get_rect()
        countdown_rect.topright = [cfg.SCREENSIZE[0]-30, 5]
        screen.blit(countdown_text, countdown_rect)
        # --按键检测
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        key_pressed = pygame.key.get_pressed()
        if key_pressed[pygame.K_a] or key_pressed[pygame.K_LEFT]:
            hero.move(cfg.SCREENSIZE, 'left')
        if key_pressed[pygame.K_d] or key_pressed[pygame.K_RIGHT]:
            hero.move(cfg.SCREENSIZE, 'right')
        # --随机生成食物
        generate_food_count += 1
        if generate_food_count > generate_food_freq:
            generate_food_freq = random.randint(10, 20)
            generate_food_count = 0
            food = Food(game_images, random.choice(['gold',] * 10 + ['apple']), cfg.SCREENSIZE)
            food_sprites_group.add(food)
        # --更新食物
        for food in food_sprites_group:
            if food.update(): food_sprites_group.remove(food)
        # --碰撞检测
        for food in food_sprites_group:
            if pygame.sprite.collide_mask(food, hero):
                game_sounds['get'].play()
                food_sprites_group.remove(food)
                score += food.score
                if score > highest_score: highest_score = score
        # --画hero
        hero.draw(screen)
        # --画食物
        food_sprites_group.draw(screen)
        # --显示得分
        score_text = f'Score: {score}, Highest: {highest_score}'
        score_text = font.render(score_text, True, (0, 0, 0))
        score_rect = score_text.get_rect()
        score_rect.topleft = [5, 5]
        screen.blit(score_text, score_rect)
        # --判断游戏是否结束
        if pygame.time.get_ticks() >= 90000:
            break
        # --更新屏幕
        pygame.display.flip()
        clock.tick(cfg.FPS)
    # 游戏结束, 记录最高分并显示游戏结束画面
    fp = open(cfg.HIGHEST_SCORE_RECORD_FILEPATH, 'w')
    fp.write(str(highest_score))
    fp.close()
    return showEndGameInterface(screen, cfg, score, highest_score)
 
 
'''run'''
if __name__ == '__main__':
    while main():
        pass

2、打乒乓

3、滑雪

4、打地鼠

5、消消乐

6、贪吃蛇

玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的。

7、24点小游戏

玩法:通过加减乘除操作,小学生都没问题的。

8、外星人入侵 

玩法:这让我想起了魂斗罗那第几关的boss,有点类似,不过魂斗罗那个难度肯定高点。

9、贪心鸟

玩法:有点类似那个炸弹人,控制好走位问题不大。

10、炸弹人

玩法详解:小时候的又一经典游戏,小时候很多次都被自己炸死了。

10个Python小游戏全部源码


行业资料:添加即可领取PPT模板、简历模板、行业经典书籍PDF。面试题库:历年经典,热乎的大厂面试真题,持续更新中,添加获取。学习资料:含Python、爬虫、数据分析、算法等学习视频和文档。

朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

点击免费领取《10个小游戏源码 & 全套Python入门资料》:

最新全套【Python入门到进阶资料 & 实战源码 & 安装工具】icon-default.png?t=N7T8https://mp.weixin.qq.com/s/wZXyzWCwB845LxAeiMWlmQ

c++小游戏大集结【免费复制源码】 else if (player[i].name == "女巫 " || player[i].name == "预言家 " || player[i].name == "猎人 " || player[i].name == "守卫 ")= 0 && (player[x].life == 0 || player[x].name == "狼人 " || x == i || TOU[x].toupiaoquan == 1))= "狼人 " || x == i || TOU[x].toupiaoquan == 1)) 阅读详情

相关推荐

python游戏代码大全可复制,python简单的小游戏代码

这篇文章主要介绍了python游戏编程入门游戏代码,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。哈喽铁子们。

S1112_的博客 1万+

用Python写几个小游戏(附源码)

用python做的几个小游戏

hxb002131的博客 10万+

REST-meta-MDD Data总结

sMRI数据使用:nwc1、nwc2、nwc3(同样数据集相关论坛中有相关信息指向需要使用wc1、wc2、wc3)多方咨询与讨论后决定使用nwc数据,这里说明wc数据相对wc数据要大的多如wc1的大小为1.33GB,而nwc1的数据却有6.90GB。VBM文件:/REST-meta-MDD/Sharing/REST-meta-MDD-VBM- phase1 -Sharing.tar.gz。1、Excel中的表型信息:1-男,2-女;-9999或空白表示缺少数据。

2404_88295660的博客 1538

边玩边学,30个Python小游戏(含源码)

大家好,我是小F~经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实,大家有没有认真想过,可能是我们的学习方法不对?比方说,你有没有想过,可以通过打游戏来学编程?今天我想跟大家分享30个Python小游戏,教你如何通过边打游戏边学编程!相关文件及代码都已上传,公众号回复【游戏】即可获取。接下来就一起来看看吧~1、飞机大战 源码分享:importrandom importpygame fr...

法纳斯特 4万+

电力现货交易市场-报价方式

电是一种能源,也是一种商品,既然是商品自然可以在市场中进行自由交易。

qq_38225433的博客 5118

华为防火墙USG6000系列多ISP上网(通过WEB界面设置)

华为防火墙多ISP上网,内网分区上网。内网多网段不同上网方式。

daxihe880的博客 1万+

30个Python小游戏,小白练手,我都能玩一天【内附源码】

今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了,在文章最底部~【有手就行系列不介绍玩法了+附源码】 源码分享: 2、打乒乓 【简单介绍一下玩法+附源码】玩法:上下控制起跳躲避 玩法:三个相连就能消除 玩法:童年经典,普通模式没啥意思,小时候我们都是玩加速的。 玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的。 【玩法详细介绍+源码】玩法:通过加减乘除操作,小学生都没问题的。 玩法:也是小时候的经典游戏,控制左右就行,到后面才有一点点难度。 【还有配置文件】玩法:这让我想起了魂斗

libaiup的博客 3万+

SAP Fiori Launchpad Tile,UI5 应用,和 PFCG Role 的对应关系

问题:已经看到了SAP Fiori Launchpad上的某个tile,如何反推后台需要配置哪个PFCG Role才能看到该tile? 这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概要介绍。 下图是一个Gateway系统上打开的SAP CRM Fiori Launchpad: 如何弄清楚后台用户配置了哪个PFCG Role之后,才能看到Sales Representative(CRM)这个Group下的tile? 既然当前我使用的用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1520

30个Python小游戏,小白练手项目,我能玩一天!【内附源码】

今天给大家带来30个python小游戏,一定要收藏!

wangluoanquan152的博客 1万+

利用requests库下载bilibili字幕文件

文章目录1. 前言2. 程序下载大法好2.1 挖掘思路2.2 核心知识点2.3 汇总代码 1. 前言   之前的博客介绍了使用工具下载B站视频,但美中不足的是无法下载字幕。为了提高效率,将下载字幕的工作用程序自动化处理。 2. 程序下载大法好 2.1 挖掘思路   在谷歌浏览器中按下F12,打开谷歌开发者工具。搜索subtitle,则会得到一个json文件,如下图所示:   在网页中空白位置点击查看网页源代码,然后通过搜索(Ctrl+f)查找subtitle,则会发现在subtitle_url中包含了对应

herosunly的博客 4万+

Trae+雪球MCP,化身专业的股票分析师(玩转100个MCP系列第二弹)

大家好呀,我是程序员夏叶,深度AI编程使用者,专注于分享AI编程方面的使用技巧、经验以及前沿资讯,有兴趣的可以关注我的公众号,一起学习,共同进步。第二弹,使用Trae+雪球MCP,获取股票实时行情,分析股票走向等,写代码间隙看看股票价格,研究研究行情,哈哈。真的很不错呀,最关键的是,足够隐蔽,同事以为你在写代码,实际你在浏览股票行情,哈哈,感兴趣的可以试一下哦。说实话,沧州明珠这只股我算是砸手里了,不过还好买的不多,哈哈。

cpp加油站的专栏 518

30个Python小游戏,上班摸鱼我能玩一天【内附源码】_python自制小游戏

大家好,我是辣条。

jarckv的博客 2786

Playwright MCP:开启浏览器自动化的新篇章

在当今数字化时代,浏览器自动化技术在众多领域发挥着至关重要的作用,从简单的网页爬取到复杂的自动化测试,再到智能代理与网页的交互等场景,都离不开高效、可靠的浏览器自动化工具。而微软推出的项目,正是在这一领域的一次创新性探索,它为开发者带来了全新的视角和强大的功能支持。本文将深入探讨的概念、架构、代码示例、应用场景、注意事项以及未来发展方向,帮助读者全面了解这一前沿技术。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 5266

30个Python小游戏,小白练手,我都能玩一天

30个Python小游戏 ,原来这么简单

nnn0245的博客 7566

【异常】OpenClaw LLM Request Timeout 超时问题的快速定位与落地解决

摘要:OpenClaw系统在执行任务时频繁出现"LLM request timed out"异常。通过分析发现主模型自动调度导致响应延迟,且缺乏超时配置兜底。解决方案包括:1)将主模型切换为低延迟的豆包2.0 Lite;2)保留豆包2.0 Pro和Kimi作为备用;3)重启Gateway服务验证。优化后系统响应速度显著提升,未再出现超时异常。后续建议增加显式超时配置、优化任务拆分和Prompt指令,并建立网络监控机制。(148字)

奶爸的编程之路,也就一周冷个三天 1159

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python小游戏,练手一定得试试,看似简单练习确实很实用

是个及其简单的小游戏案例

五包辣条的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

8个Python小游戏,小白练手项目,我能玩一天!【内附源码】

Python为什么能这么火热,Python相对于其他语言来说比较简单,即使是零基础的普通人也能很快的掌握,在其他方面比如,处于灰色界的爬虫,要VIP的视频,小说,歌,没有爬虫解决不了的;数据挖掘及分析,淘宝就是例子,想开个淘宝店,需要获取相关商品信息,这时数据分析就能解决等等;游戏开发、自动化测试、人工智能,黑客入门语言等等等。接着介绍下去今天就停不了啦,只要对于Python有过了解的,用过的,应该都知道他的厉害之处, 进入主题,游戏!!

2301_78096295的博客 1422

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

8个Python小游戏,小白练手,我都能玩一天【内附源码】

大家好,在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。下面就给大家介绍8个通过Python构建的项目,以此来学习Python编程。大家也可根据项目的目的及提示,自己构建解决方法,提高编程水平。目的:编写一个Python脚本,自动从提供的链接读取文章。目的:编写一个Python脚本,可以使用这个脚本发送电子邮件。提示:email库可用于发送电子邮件。

chengxuyuanyy的博客 1185

30个Python小游戏,上班摸鱼我能玩一天【内附源码】

score = 0。

2401_84140628的博客 1105

30个Python小游戏,上班摸鱼我能玩一天【内附源码】_python自制小游戏(1)

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

m0_61549953的博客 1027

最全30个Python小游戏,上班摸鱼我能玩一天【内附源码】,小红书测试开发面试题

score = 0🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

m0_60635321的博客 741
上一篇: 想要学习Python,但又不想踩雷的小白必看!
下一篇: 如何提升你的编程能力?年轻程序员越早听越早好的几条建议!
田野猫咪
博客等级 码龄4年 5080粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值