python简单好玩的编程代码,python有哪些好玩的代码

大家好,给大家分享一下20行python代码的入门级小游戏,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

哈喽铁子们

表弟最近在学Python,总是跟我抱怨很枯燥无味,其实,他有没有认真想过,可能是自己学习姿势不对?

比方说,可以通过打游戏来学编程!

今天给大家分享100个Python小游戏,一定要收藏!

1、简易飞机大战

飞机大战相信大家都玩过吧,非常简单有意思的游戏,咱们通过Python给它复刻出来,回味童年。

素材文件

全部源码:

import sys
import cfg
import pygame
from modules import *
 
 
'''游戏界面'''
def GamingInterface(num_player, screen):
    # 初始化
    pygame.mixer.music.load(cfg.SOUNDPATHS['Cool Space Music'])
    pygame.mixer.music.set_volume(0.4)
    pygame.mixer.music.play(-1)
    explosion_sound = pygame.mixer.Sound(cfg.SOUNDPATHS['boom'])
    fire_sound = pygame.mixer.Sound(cfg.SOUNDPATHS['shot'])
    font = pygame.font.Font(cfg.FONTPATH, 20)
    # 游戏背景图
    bg_imgs = [cfg.IMAGEPATHS['bg_big'], cfg.IMAGEPATHS['seamless_space'], cfg.IMAGEPATHS['space3']]
    bg_move_dis = 0
    bg_1 = pygame.image.load(bg_imgs[0]).convert()
    bg_2 = pygame.image.load(bg_imgs[1]).convert()
    bg_3 = pygame.image.load(bg_imgs[2]).convert()
    # 玩家, 子弹和小行星精灵组
    player_group = pygame.sprite.Group()
    bullet_group = pygame.sprite.Group()
    asteroid_group = pygame.sprite.Group()
    # 产生小行星的时间间隔
    asteroid_ticks = 90
    for i in range(num_player):
        player_group.add(Ship(i+1, cfg))
    clock = pygame.time.Clock()
    # 分数
    score_1, score_2 = 0, 0
    # 游戏主循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        # --玩家一: ↑↓←→控制, j射击; 玩家二: wsad控制, 空格射击
        pressed_keys = pygame.key.get_pressed()
        for idx, player in enumerate(player_group):
            direction = None
            if idx == 0:
                if pressed_keys[pygame.K_UP]:
                    direction = 'up'
                elif pressed_keys[pygame.K_DOWN]:
                    direction = 'down'
                elif pressed_keys[pygame.K_LEFT]:
                    direction = 'left'
                elif pressed_keys[pygame.K_RIGHT]:
                    direction = 'right'
                if direction:
                    player.move(direction)
                if pressed_keys[pygame.K_j]:
                    if player.cooling_time == 0:
                        fire_sound.play()
                        bullet_group.add(player.shot())
                        player.cooling_time = 20
            elif idx == 1:
                if pressed_keys[pygame.K_w]:
                    direction = 'up'
                elif pressed_keys[pygame.K_s]:
                    direction = 'down'
                elif pressed_keys[pygame.K_a]:
                    direction = 'left'
                elif pressed_keys[pygame.K_d]:
                    direction = 'right'
                if direction:
                    player.move(direction)
                if pressed_keys[pygame.K_SPACE]:
                    if player.cooling_time == 0:
                        fire_sound.play()
                        bullet_group.add(player.shot())
                        player.cooling_time = 20
            if player.cooling_time > 0:
                player.cooling_time -= 1
        if (score_1 + score_2) < 500:
            background = bg_1
        elif (score_1 + score_2) < 1500:
            background = bg_2
        else:
            background = bg_3
        # --向下移动背景图实现飞船向上移动的效果
        screen.blit(background, (0, -background.get_rect().height + bg_move_dis))
        screen.blit(background, (0, bg_move_dis))
        bg_move_dis = (bg_move_dis + 2) % background.get_rect().height
        # --生成小行星
        if asteroid_ticks == 0:
            asteroid_ticks = 90
            asteroid_group.add(Asteroid(cfg))
        else:
            asteroid_ticks -= 1
        # --画飞船
        for player in player_group:
            if pygame.sprite.spritecollide(player, asteroid_group, True, None):
                player.explode_step = 1
                explosion_sound.play()
            elif player.explode_step > 0:
                if player.explode_step > 3:
                    player_group.remove(player)
                    if len(player_group) == 0:
                        return
                else:
                    player.explode(screen)
            else:
                player.draw(screen)
        # --画子弹
        for bullet in bullet_group:
            bullet.move()
            if pygame.sprite.spritecollide(bullet, asteroid_group, True, None):
                bullet_group.remove(bullet)
                if bullet.player_idx == 1:
                    score_1 += 1
                else:
                    score_2 += 1
            else:
                bullet.draw(screen)
        # --画小行星
        for asteroid in asteroid_group:
            asteroid.move()
            asteroid.rotate()
            asteroid.draw(screen)
        # --显示分数
        score_1_text = '玩家一得分: %s' % score_1
        score_2_text = '玩家二得分: %s' % score_2
        text_1 = font.render(score_1_text, True, (0, 0, 255))
        text_2 = font.render(score_2_text, True, (255, 0, 0))
        screen.blit(text_1, (2, 5))
        screen.blit(text_2, (2, 35))
        # --屏幕刷新
        pygame.display.update()
        clock.tick(60)
 
 
'''主函数'''
def main():
    pygame.init()
    pygame.font.init()
    pygame.mixer.init()
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('简易版——飞机大战 ')
    num_player = StartInterface(screen, cfg)
    if num_player == 1:
        while True:
            GamingInterface(num_player=1, screen=screen)
            EndInterface(screen, cfg)
    else:
        while True:
            GamingInterface(num_player=2, screen=screen)
            EndInterface(screen, cfg)
 
 
'''run'''
if __name__ == '__main__':
    main()

2、宝石消消乐

都是一些大家耳熟能详的小游戏

素材

全部源码: 

import os
import sys
import cfg
import pygame
from modules import *
 
 
'''游戏主程序'''
def main():
    pygame.init()
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('开心消消乐🎃')
    # 加载背景音乐
    pygame.mixer.init()
    pygame.mixer.music.load(os.path.join(cfg.ROOTDIR, "resources/audios/bg.mp3"))
    pygame.mixer.music.set_volume(0.6)
    pygame.mixer.music.play(-1)
    # 加载音效
    sounds = {}
    sounds['mismatch'] = pygame.mixer.Sound(os.path.join(cfg.ROOTDIR, 'resources/audios/badswap.wav'))
    sounds['match'] = []
    for i in range(6):
        sounds['match'].append(pygame.mixer.Sound(os.path.join(cfg.ROOTDIR, 'resources/audios/match%s.wav' % i)))
    # 加载字体
    font = pygame.font.Font(os.path.join(cfg.ROOTDIR, 'resources/font/font.TTF'), 25)
    # 图片加载
    gem_imgs = []
    for i in range(1, 8):
        gem_imgs.append(os.path.join(cfg.ROOTDIR, 'resources/images/gem%s.png' % i))
    # 主循环
    game = gemGame(screen, sounds, font, gem_imgs, cfg)
    while True:
        score = game.start()
        flag = False
        # 一轮游戏结束后玩家选择重玩或者退出
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT or (event.type == pygame.KEYUP and event.key == pygame.K_ESCAPE):
                    pygame.quit()
                    sys.exit()
                elif event.type == pygame.KEYUP and event.key == pygame.K_r:
                    flag = True
            if flag:
                break
            screen.fill((135, 206, 235))
            text0 = 'Final score: %s' % score
            text1 = 'Press <R> to restart the game.'
            text2 = 'Press <Esc> to quit the game.'
            y = 150
            for idx, text in enumerate([text0, text1, text2]):
                text_render = font.render(text, 1, (85, 65, 0))
                rect = text_render.get_rect()
                if idx == 0:
                    rect.left, rect.top = (212, y)
                elif idx == 1:
                    rect.left, rect.top = (122.5, y)
                else:
                    rect.left, rect.top = (126.5, y)
                y += 100
                screen.blit(text_render, rect)
            pygame.display.update()
        game.reset()
 
 
'''run'''
if __name__ == '__main__':
    main()

还是直接上目录吧~  

  1. 免子

  2. 八音符

  3. 外星人入侵

  4. 推箱子

  5. 俄罗斯方块

  6. 飞机大战

  7. 接金币月饼

  8. 塔防

  9. 小恐龙

  10. 像素鸟

  11. 坦克大战

  12. 滑雪

  13. 拼图

  14. 走迷宫

  15. 炸弹人

  16. 打砖块

  17. 乒乓球

  18. 24点游戏

  19. 宝石版本消消乐

  20. 吃豆豆

  21. 斗地主

  22. 大富翁

  23. 21点游戏

  24. 我的世界

  25. 魂斗罗

  26. 记忆

  27. 愤怒小鸟

  28. 扫雷

  29. 贪吃蛇

  30. 2048游戏

  31. 五子棋

  32. 打地康

  33. 2048

  34. 下一百层

  35. 切水果

  36. 数独游戏

  37. 空洞机甲

  38. 打地鼠

  39. PythonAngryBirds

  40. chess 象棋

  41. 彩色版本飞机大战

  42. 嗷大喵快跑代码

  43. Tom猫

  44. Sokoban

  45. PythonPlantsVsZombies

  46. Mine-game-master

  47. gluttonous-master

  48. FlappyBird

  49. EatBeans

  50. AlD1904-game 2048-master

  51. 2048--master

  52. 21点-python-practice-master

  53. 贪吃蛇AI

  54. 中国急棋

  55. 冒险岛

  56. 黄金矿工原版

  57. 飞机大战2

  58. 飞船

  59. 大战

  60. 蔡徐坤

  61. 债怒的小鸟

  62. 拼图游戏

  63. XiaoXiaoLe

  64. 超级玛丽

  65. 幸运大转盘

  66. 智慧校园考试系统

  67. 植物大战

  68. 黑白飞机大战

  69. 一只单身狗

  70. 小狗快跑

  71. 象棋

  72. 五子棋

  73. 贪吃蛇

  74. 忍者奔跑

  75. 愤怒的小鸟

  76. 天天跑酷

  77. 五子棋AI

  78. 超级马里奥

  79. 连连看

  80. 植物大战僵尸

  81. 走四棋儿

  82. 末世文字版本游戏

  83. FlyFight宇宙激战

  84. 泡泡躲障碍

  85. 打飞鸟

  86. 齿据气球

  87. 吃水果

  88. 吃掉一切

  89. 射击游戏

  90. 无敌狙击手

  91. 消灭病毒小游戏

  92. 扫雷小游戏

  93. 病毒小游戏01

  94. 简易版推箱子

  95. 简易版塔防游戏

  96. 彩色版贪吃蛇

  97. 躲避小球

  98. 鱿鱼游戏

  99. 猜教字游戏升级版界面

  100. 自动玩俄罗斯方块

 好了,大家快去拿源码熟悉一下,下周就可以开始愉快的摸鱼啦!

2301_81896552
关注 关注
  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
10个极简python代码,拿走即用
码农黑羽的博客
12-17 792
虽然python是一个易入门的语言,但是很多人依然还是会问到底怎么样学 Python 才最快,答案当然是实战各种小项目,只有自己去想与写,才记得住规则。本文写的是 10 个极简任务,初学者可以尝试着自己实现;本文同样也是 10段代码Python 开发者也可以看看是不是有没想到的用法。 1、重复元素判定 以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。 def all_unique(lst): return len(lst)== len(set(lst))
三个好玩python代码
最新发布
2301_76942182的博客
08-08 1614
最近无聊去哔站上面看了一些关于python代码的视频,发现python代码可以做出来一些好玩的东西,所以我学着做了几个代码,感兴趣的可以看看~~
有趣简单python程序代码,有什么好玩python代码
神经网络爱好者
03-22 1816
这里要用到图灵机器人的接口,到图灵机器人官网(http://www.tuling123.com)注册登陆之后,生成一个属于个人的免费接口,免费接口一天只能用1000条,虽然不多,但娱乐一下自己也是足够的了。此时你朋友电脑的windows用户密码,就会变成一个随机密码,且这个生成的随机密码他本人无法得知,而是把这个密码通过socket传给了服务器端的你。在这里,调用图灵机器人库,把我们接收到的微信好友信息发给图灵机器人,再取回机器人回复的信息,回复给好友。嗯,然后你朋友的电脑密码就只有你自己知道了~
python好玩代码_分享几款由“Python语言编写的“有趣、恶搞、好玩”的程序代码...
weixin_39895684的博客
12-01 2502
为提高大家对“Python编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代码,感兴趣的小伙伴可以跟着学习借鉴哦!分享一:"啥是佩奇?"让Python语言告诉你用Python代码创作一副佩奇:1. # coding:utf-82. import turtle as t3.4. t.pensize(4)5. t.hideturtle()6. t.colormode(255)7. t...
有哪些好玩Python 代码
Everly_的博客
11-03 672
Python能干的事太多了,这里分享一下我个人觉得比较有趣的几个小项目。每一个都超实用,拿去就能运行的那种!
Python好玩代码编程复制,简单python代码游戏
降AIGC工具
05-14 401
大家好,给大家分享一下20行python代码的入门级小游戏,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!大家好,小编来为大家解答以下问题,python有什么好玩的项目,一些有趣的python代码,现在让我们一起来看看吧!
好玩python程序的实现(有注释,80多个)
12-26
"好玩python程序的实现(有注释,80多个)"这个压缩包文件就提供了这样一个丰富的资源库,适合Python初学者深入理解和实践。下面我们将详细探讨这些程序可能包含的知识点。 首先,基础语法是Python学习的核心部分...
python好玩编程代码
03-15
Python是一门非常有趣的编程语言,下面是一些好玩Python编程代码: 1. 猜数字游戏: ```python import random number = random.randint(1, 100) guess = int(input("猜一个1到100之间的数字:")) while guess !...
chatgpt赋能python:吐血推荐的Python编程好玩代码
「 虚幻私塾」
07-01 334
本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。
50条有趣的Python代码
weixin_73136678的博客
11-30 3846
例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。在学习Python的过程中,总会发现Python能够轻易的解决许多问题。一些复杂的任务,甚至可以使用一行Python代码就能搞定。# li[-n:] + li[:-n], 左变右。▍25、计算一个字符在字符串中出现的频率。▍43、将列表中的字符串转换为整数。▍30、列表中出现次数最多的元素。▍47、将字符串中的数字移除。
非常值得练手的22个python迷你程序【含代码
aliYz的博客
09-06 3295
嗨嗨,大家好 ~ 我是小圆Python丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让你的开发事半功倍。下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程。这些例子都很简单实用,非常适合初学者用来练习。大家也可尝试根据项目的目的及提示,自己构建解决方法,提高编程水平。
python好玩代码-python有趣的一行代码
weixin_37988176的博客
10-30 5818
python有趣的一行代码程序员式表白print(' '.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3
python好玩代码
2301_76416997的博客
03-19 540
注意,这个不是人工,需要两个人对战。可以用任务管理器停止。
python有趣的代码-Python有趣的代码
q6q6q的专栏
10-28 1240
# coding=utf-8Version: Python3.7.4Author: SimonSite: https://gitee.com/simon4055Time: 2019/08/07 18:00user_agent_list = ["Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko)...
python 图片转字符画
CJK's Blog
01-04 2685
from PIL import Image IMG = '1.jpg' #设置图片文件 WIDTH = 300 #设置字符画的宽 HEIGHT =400 #设置字符画的高 OUTPUT = 'output5.txt' #设置存放字符画的文本文件 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #设置显示的字符集 def get_char(r,g
简单好玩python编程代码,python有哪些好玩代码
chatgpt002的博客
08-26 136
大家好,小编来为大家解答以下问题,一些简单好玩python编程游戏,20行python代码的入门级小游戏,今天让我们一起来看看吧!Python可以玩的方向有很多,比如爬虫、预测分析、GUI、自动化、图像处理、可视化等等,可能只需要十几行代码就能实现酷炫的功能。因为Python是[动态脚本语言],所以代码逻辑比Java要简要很多,实现同样的功能少写很多代码。而且Python生态有众多的第三方工具库,把功能都封装在包里,只需要你调用接口,就能使用复杂的功能。
python编写小游戏的代码,python游戏编程代码大全
pingf123的博客
02-27 621
大家好,小编为大家解答python游戏编程入门游戏代码的问题。很多人还不知道python编写小游戏的代码,现在让我们一起来看看吧!Source code download: 本文相关源码今天给大家带来10个py小游戏,一定要收藏!全部源码都整理好了,在文章最底部~【有手就行系列不介绍玩法了+附源码】源码分享: 2、打乒乓 玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的。玩法:通过加减乘除操作,小学生都没问题的python100行代码画皮卡丘。玩法:这让我想起了魂斗罗那第几关的boss,有
写文章

热门文章

  • python编程画爱心代码,python画爱心代码大全 4063
  • python基础题库100题及答案,python基础题库及答案 3702
  • python图书管理系统设计,python写图书管理系统 2894
  • 大一python题库及答案,大一python期末必考题 2739
  • python游戏代码大全可复制,python游戏代码大全简单 2122

最新评论

  • python基础题库100题及答案,python基础题库及答案

    2401_83407950: 选择题68能具体解释一下吗表情包表情包

  • macbookpro能不能装python,mac系统可以装python嘛

    dy827113: 老师您好 我按照您的方法安装了python,我打开却只有交互式的 我找不到文件式在哪儿表情包表情包

  • 英文论文降重最有效方法

    chatgpt001: 代码能否分享。

  • 论文查重黄色部分算不算重复率

    chatgpt001: 感谢,写得很详细。

  • 论文查重标红怎么解决 PaperBERT

    CSDN-Ada助手: 恭喜您写了第16篇博客!看到您分享关于“论文查重标红怎么解决 PaperBERT”的文章,我觉得非常有启发性。您对这个话题的深入分析和解决方案的探讨让人受益匪浅。不过我也希望您在下一篇博客中能够多分享一些实际案例或者应用场景,这样更能够帮助读者更好地理解并应用您的建议。期待您的下一篇作品!

大家在看

  • vue循环渲染动态展示内容案例(“更多”按钮功能) 372
  • 字符集&&字符流
  • *计算方法总结:信息传输速率与误码率 1
  • 电商导购系统的API网关设计与实现 2035
  • 力扣每日一题:1.两数之和

最新文章

  • 一段简单的python代码,简单的python程序代码
  • python编译器下载安装教程,怎样下载python的编译器
  • python编程人工智能小例子,python人工智能100例子
2024
04月 17篇
03月 213篇
02月 105篇
01月 252篇
2023年173篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家福建商场创意商业美陈怎么样晋中动物玻璃钢雕塑制作山西卡通玻璃钢雕塑定做沧州玻璃钢雕塑生产厂家仙林商场周年美陈商场美陈彩球祖庙园林玻璃钢人物雕塑河北商场主题创意商业美陈报价台州玻璃钢雕塑市场焦作玻璃钢浮雕不锈钢树叶雕塑河南特色商场美陈市场报价安徽玻璃钢景观雕塑施工厂家延庆玻璃钢人物雕塑出售透明玻璃钢雕塑造型设计福建常见商场美陈市场漯河铸铜玻璃钢卡通雕塑马鞍山仿铜玻璃钢雕塑生产厂家云南创意玻璃钢雕塑供应商玻璃钢人型雕塑出口家具建材商场美陈图片玻璃钢花盆哪里最好濮阳玻璃钢喷泉雕塑温州商场美陈销售企业河北玻璃钢海豚雕塑厂家多种玻璃钢雕塑曲阳生产玻璃钢雕塑厂家达州玻璃钢人物雕塑厂家甘肃园林玻璃钢雕塑安装商丘附近玻璃钢仿铜雕塑厂家广州商场美陈公司电话香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化