国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

100個Python小游戲,上班摸魚我能玩一整年【附源碼】

這篇具有很好參考價值的文章主要介紹了100個Python小游戲,上班摸魚我能玩一整年【附源碼】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

100個Python小游戲,上班摸魚我能玩一整年【附源碼】,python,編程語言,Python入門,python,pygame,開發(fā)語言,mojo,面試,職場和發(fā)展,爬蟲

哈嘍鐵子們

表弟最近在學Python,總是跟我抱怨很枯燥無味,其實,他有沒有認真想過,可能是自己學習姿勢不對?

比方說,可以通過打游戲來學編程!

今天給大家分享100個Python小游戲,一定要收藏!

100個Python小游戲,上班摸魚我能玩一整年【附源碼】,python,編程語言,Python入門,python,pygame,開發(fā)語言,mojo,面試,職場和發(fā)展,爬蟲

1、簡易飛機大戰(zhàn)

飛機大戰(zhàn)相信大家都玩過吧,非常簡單有意思的游戲,咱們通過Python給它復刻出來,回味童年。

素材文件

100個Python小游戲,上班摸魚我能玩一整年【附源碼】,python,編程語言,Python入門,python,pygame,開發(fā)語言,mojo,面試,職場和發(fā)展,爬蟲

全部源碼:

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()
    # 產(chǎn)生小行星的時間間隔
    asteroid_ticks = 90
    for i in range(num_player):
        player_group.add(Ship(i+1, cfg))
    clock = pygame.time.Clock()
    # 分數(shù)
    score_1, score_2 = 0, 0
    # 游戲主循環(huán)
    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
        # --向下移動背景圖實現(xiàn)飛船向上移動的效果
        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)
        # --顯示分數(shù)
        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)
 
 
'''主函數(shù)'''
def main():
    pygame.init()
    pygame.font.init()
    pygame.mixer.init()
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('簡易版——飛機大戰(zhàn) ')
    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、寶石消消樂

都是一些大家耳熟能詳?shù)男∮螒?/p>

素材

100個Python小游戲,上班摸魚我能玩一整年【附源碼】,python,編程語言,Python入門,python,pygame,開發(fā)語言,mojo,面試,職場和發(fā)展,爬蟲

全部源碼:?

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))
    # 主循環(huán)
    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. 飛機大戰(zhàn)

  7. 接金幣月餅

  8. 塔防

  9. 小恐龍

  10. 像素鳥

  11. 坦克大戰(zhàn)

  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. 數(shù)獨游戲

  37. 空洞機甲

  38. 打地鼠

  39. PythonAngryBirds

  40. chess 象棋

  41. 彩色版本飛機大戰(zhàn)

  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. 飛機大戰(zhàn)2

  58. 飛船

  59. 大戰(zhàn)

  60. 蔡徐坤

  61. 債怒的小鳥

  62. 拼圖游戲

  63. XiaoXiaoLe

  64. 超級瑪麗

  65. 幸運大轉盤

  66. 智慧校園考試系統(tǒng)

  67. 植物大戰(zhàn)

  68. 黑白飛機大戰(zhàn)

  69. 一只單身狗

  70. 小狗快跑

  71. 象棋

  72. 五子棋

  73. 貪吃蛇

  74. 忍者奔跑

  75. 憤怒的小鳥

  76. 天天跑酷

  77. 五子棋AI

  78. 超級馬里奧

  79. 連連看

  80. 植物大戰(zhàn)僵尸

  81. 走四棋兒

  82. 末世文字版本游戲

  83. FlyFight宇宙激戰(zhàn)

  84. 泡泡躲障礙

  85. 打飛鳥

  86. 齒據(jù)氣球

  87. 吃水果

  88. 吃掉一切

  89. 射擊游戲

  90. 無敵狙擊手

  91. 消滅病毒小游戲

  92. 掃雷小游戲

  93. 病毒小游戲01

  94. 簡易版推箱子

  95. 簡易版塔防游戲

  96. 彩色版貪吃蛇

  97. 躲避小球

  98. 魷魚游戲

  99. 猜教字游戲升級版界面

  100. 自動玩俄羅斯方塊

?好了,大家快去拿源碼熟悉一下,下周就可以開始愉快的摸魚啦!文章來源地址http://www.zghlxwxcb.cn/news/detail-688597.html

到了這里,關于100個Python小游戲,上班摸魚我能玩一整年【附源碼】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python編程小游戲簡單的,python小游戲編程100例

    python編程小游戲簡單的,python小游戲編程100例

    大家好,給大家分享一下python編程小游戲簡單的,很多人還不知道這一點。下面詳細解釋一下?,F(xiàn)在讓我們來看看! 不會python就不能用python開發(fā)入門級的小游戲? 當然不是, 我收集了十個python入門小游戲的源碼和教程 ,并且即使你沒有python基礎,只要跟著這十個小游戲的開

    2024年02月13日
    瀏覽(19)
  • python簡單小游戲代碼100行,python小游戲代碼大全

    python簡單小游戲代碼100行,python小游戲代碼大全

    大家好,給大家分享一下python簡單小游戲代碼100行,很多人還不知道這一點。下面詳細解釋一下。現(xiàn)在讓我們來看看! download: python小游戲代碼 按照題目要求編寫燃悔中的Python程序如下 import random numlist=random.sample(range(0,10),5) while numlist[0]==0: ? ? numlist=random.sample(range(0,10),5) n

    2024年02月08日
    瀏覽(30)
  • python簡單小游戲代碼100行,python超簡單小游戲代碼

    python簡單小游戲代碼100行,python超簡單小游戲代碼

    大家好,小編為大家解答python簡單小游戲代碼100行的問題。很多人還不知道python超簡單小游戲代碼,現(xiàn)在讓我們一起來看看吧! Source code download: 本文相關源碼 大家好,小編來為大家解答以下問題,一些簡單好玩的python編程游戲,python編寫的入門簡單小游戲,今天讓我們一起

    2024年01月19日
    瀏覽(29)
  • python簡單小游戲代碼100行,簡單的python小游戲代碼

    python簡單小游戲代碼100行,簡單的python小游戲代碼

    大家好,給大家分享一下python簡單小游戲代碼100行,很多人還不知道這一點。下面詳細解釋一下?,F(xiàn)在讓我們來看看! Source code download: 本文相關源碼 大家小時候都玩過貪吃蛇吧?小編小時候可喜歡拿爸媽的手機玩了,厲害著呢!今天,小編就來用100行代碼實現(xiàn)一個簡易版的

    2024年04月14日
    瀏覽(31)
  • python簡單小游戲代碼100行,python小游戲程序源代碼

    python簡單小游戲代碼100行,python小游戲程序源代碼

    大家好,本文將圍繞python簡單小游戲代碼100行展開說明,python小游戲代碼能用的是一個很多人都想弄明白的事情,想搞清楚python小游戲程序源代碼需要先了解以下幾個事情。 這次用Python實現(xiàn)的是一個接球打磚塊的小游戲,需要導入pygame模塊,有以下兩條經(jīng)驗總結: 1.多父類的

    2024年02月06日
    瀏覽(98)
  • Python 猜數(shù)字1-100小游戲

    Python 猜數(shù)字1-100小游戲

    運行結果: 如需其他代碼案例請參考: Python 猜數(shù)字1-100的小游戲_python1~100猜數(shù)字游戲代碼_周華2022的博客-CSDN博客 作者:周華 創(chuàng)作日期:2023/9/24

    2024年01月23日
    瀏覽(22)
  • python簡單小游戲代碼100行,python最簡單游戲代碼

    python簡單小游戲代碼100行,python最簡單游戲代碼

    大家好,小編來為大家解答以下問題,python游戲代碼大全可復制,python簡單小游戲代碼100行,現(xiàn)在讓我們一起來看看吧! 大家小時候都玩過貪吃蛇吧?小編小時候可喜歡拿爸媽的手機玩了,厲害著呢!今天,小編就來用100行代碼實現(xiàn)一個簡易版的貪吃蛇。 在網(wǎng)上,貪吃蛇教

    2024年02月02日
    瀏覽(19)
  • 100行Python代碼,做一個打地鼠小游戲~

    100行Python代碼,做一個打地鼠小游戲~

    最近在學習使用 Python 來完成一些小游戲,使用到的有 Pygame 和 PyQt5 等,根據(jù)網(wǎng)上前人的代碼,整理了一個打地鼠的小游戲,今天也分享給大家,一起學習! 游戲畫面 首先先進行游戲畫面排版, 對于 PyQt5 來說,需要創(chuàng)建一個全局的 Application 對象,其參數(shù)是命令行參數(shù)列表,

    2024年02月03日
    瀏覽(22)
  • unity 打磚塊—休閑小游戲,摸魚必備(完整代碼)

    unity 打磚塊—休閑小游戲,摸魚必備(完整代碼)

    打磚塊小游戲通常會被當做Unity學習的第一個案例,下面給大家介紹如何實現(xiàn)打磚塊案例的 ? ?建立cube,大體這個樣子,可以建造自己喜歡的形狀和顏色。 給正方形的cube添加剛體 ?將攝像機的位置對準創(chuàng)建的物體 創(chuàng)建一個“子彈”,添加鋼體,然后拖動到文件夾,變成預設

    2023年04月08日
    瀏覽(38)
  • 【摸魚日?!渴褂肈ocker部署RPG網(wǎng)頁小游戲

    【摸魚日?!渴褂肈ocker部署RPG網(wǎng)頁小游戲

    本次實踐部署環(huán)境為個人測試環(huán)境,快速使用docker部署RPG網(wǎng)頁小游戲。? 本次實踐環(huán)境規(guī)劃: 啟動鏡像后的名字 IP地址 容器鏡像版本 操作系統(tǒng)版本 games 192.168.20.8 latest ubuntu 22.04 檢查Docker服務狀態(tài),確保Docker服務正常運行。 使用docker-cli快速創(chuàng)建RPG網(wǎng)頁小游戲的容器。 訪問

    2024年02月20日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包