欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+Pygame實現之見縫插針游戲的實現

 更新時間:2022年07月13日 08:16:22   作者:嗨!栗子同學  
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實現見縫插針游戲,文中的示例代碼講解詳細,對我們學習Python游戲開發(fā)有一定幫助,需要的可以參考一下

前言

姥姥說:

炎炎夏日熱浪來襲。

有點讓人無法忍受。。。

一動就是一身汗。。。。。

想玩點小游戲都沒地方玩了。。。

《見縫插針》游戲小程序好玩嗎?《見縫插針》小游戲怎么玩?

只有你想不到,沒有我不會敲代碼的好游戲!「良心好游戲推薦」——栗子同學強勢來襲!

每天都會推薦好玩的小游戲。小編今天推薦這款游戲叫《見縫插針》,這是一個考驗玩家首腦協(xié)調、反應力的小游戲,這種游戲很常見,居然還沒有推薦過!今天趕緊來補上這個類型叭。

(在那種超市或者彩妝店鋪門口經??匆?,話說我從來沒有闖關過呢?。。?/p>

PS:小編有話說

據說見縫插針游戲全世界只有六個人能玩到20關,其實不然,小編10分鐘之內就能玩到19關,

哈哈哈,不吹牛了,具體是什么情況就讓小編來給大家先用代碼制作一款見縫插針的Python小游戲叭!看看你能玩兒到第幾關吖?

《見縫插針》游戲簡介——

關鍵詞:休閑、反應力、協(xié)調性、闖關、操作、技巧。

游戲平臺:Python版本—栗子同學哦

氪金指數:0氪金。

推薦星數:3.5星(滿星5星)

難度星數:4星(滿星5星)

小編簡評:《見縫插針》是一款考驗玩家協(xié)調反應力的闖關小游戲。

?一、運行環(huán)境

1)環(huán)境安裝

Python3、 Pycharm 、Pygame、pgzero、numpy。部分自帶模塊就不展示啦。

第三方庫的安裝:pip install pygame 或者 帶鏡像源

pip install -i https://pypi.douban.com/simple/ +模塊名 

2)素材(圖片、音樂等) 

可自行選擇喜歡的圖片,背景音樂等等。圖片需要放在images文件夾中,音頻放在music文件夾中。images和music文件夾需要和新建的py文件放在同一級 。

二、代碼展示

import pgzrun
import random
 
TITLE = "Python見縫插針" # 窗口標題
 
background = Actor('background') # 導入背景圖片
 
needles = [] # 存放發(fā)射針的列表
startNeedle = Actor('needle',anchor=(170 + 50,1.5)) # 導入針的圖片,并設置錨點(旋轉軸心)
startNeedle.x = 220
startNeedle.y = 300
 
difficulty_Needles = [] # 存放干擾的針
 
rotateSpeed= 1 # 針旋轉的速度,默認設置為1
score = 8 # 針的數量,默認設置為8
radius = 80 # 圓盤的半徑
record_score = 8 # 記錄針的數量,方便切換關卡
level = 1 # 關卡
record_speed = 1 # 記錄速度
flag = 0 # 設置標志位,來畫干擾的針
 
r,g,b = random.randint(0,255),random.randint(0,255),random.randint(0,255) # 隨機圓盤的顏色
 
def draw(): # 繪制模塊,每幀重復執(zhí)行
    global flag #全局變量
    if not flag: #將干擾的針添加進列表
        for i in range(int(rotateSpeed)+3):
            difficulty_Needle2 = Actor('needle', anchor=(170 + 50, 1.5))
            difficulty_Needle2.angle = (360 / (int(rotateSpeed) + 2)) * i
            difficulty_Needle2.x = 400
            difficulty_Needle2.y = 300
            needles.append(difficulty_Needle2)
    if rotateSpeed != 0:
        flag = 1
        screen.fill('white') # 白色背景
        screen.draw.filled_circle((400,300),radius,(r,g,b)) # 畫圓盤
        screen.draw.text("第{}關".format(level),(320,10),fontsize=60,fontname="simhei",color='black') # 顯示關卡
        if score < 10: # 顯示分數,這里用判斷語句來區(qū)分一位數和兩位數,位置稍有不同
            screen.draw.text(str(score), (385, 275), fontsize=80, color='white')
        else:
            screen.draw.text(str(score), (370, 275), fontsize=80, color='white')
        screen.draw.text("Speed : {}".format(rotateSpeed), (20, 270), fontsize=35, color='red') # 顯示速度
        startNeedle.draw() # 畫初始的針
        for difficulty_Needle in difficulty_Needles: # 循環(huán)遍歷畫出干擾的針
            difficulty_Needle.draw()
        for needle in needles: # 循環(huán)遍歷畫出發(fā)射出去的針
            needle.draw()
    else: # 失敗后的場景
        screen.clear()  # 清屏
        background.draw() # 畫背景
        screen.draw.text('Game Over!', (200, 200), fontsize=100, color='red')  # 畫文本
        screen.draw.text('再試一次', (230, 400), fontsize=25, fontname="simhei", color='green')
        screen.draw.text('退出游戲', (450, 400), fontsize=25, fontname="simhei", color='green')
 
def update(): # 更新模塊,每幀重復執(zhí)行
    # 讓針旋轉
    for needle in needles:
        needle.angle += rotateSpeed
    for difficulty_Needle in difficulty_Needles:
        difficulty_Needle.angle += rotateSpeed
 
def on_key_down(): # 按鍵檢測
    global rotateSpeed,score,level,record_score,record_speed,flag # 全局變量
    newNeedle = Actor('needle', anchor=(170 + 50, 1.5)) # 新建一根針
    newNeedle.x = 400 # 新建針的x坐標
    newNeedle.y = 300 # 新建針的y坐標
    for needle in needles: # 判斷發(fā)射針是否碰到其他針,如果碰到就停止轉動
        if newNeedle.colliderect(needle):
            rotateSpeed = 0
            music.play_once("失敗") # 失敗音效
    needles.append(newNeedle) # 將新創(chuàng)建的針加入列表
    if rotateSpeed > 0:
        score -= 1 # 每發(fā)射一根針的數量就減1
        if score == 0: # 當針的數量減到零時,要切換關卡,增加難度
            needles.clear() # 清除發(fā)射針列表
            record_score += 2 # 針的數量變多
            score = record_score
            level += 1 # 關卡變更
            rotateSpeed += 0.5 # 速度加快
            record_speed = rotateSpeed
            flag = 0 # 將標志位置零,重新繪制干擾針
        music.play_once('發(fā)射') # 發(fā)射音效
 
 
def on_mouse_down(pos, button): # 鼠標檢測
    global rotateSpeed,record_speed,score,flag # 全局變量
    if button == mouse.LEFT and pos[0] > 445 and pos[0] < 555 and pos[1] > 395 and pos[1] < 435: # 如果鼠標左鍵按下退出游戲
        exit() # 退出游戲
    if button == mouse.LEFT and pos[0] > 225 and pos[0] < 335 and pos[1] > 395 and pos[1] < 435: # 如果鼠標左鍵按下再試一次
        rotateSpeed = record_speed # 重置速度
        needles.clear() # 清空發(fā)射針的列表
        score = record_score # 重置針的數量
        flag = 0 # 將標志位置零,用于重新繪制干擾針
 
pgzrun.go() # 開始執(zhí)行游戲

三、效果展示

?總結

玩家需要在合適的時機,在關卡內插完針,大多數關卡都很簡單,9、10、11關、、、等級越高會比越難一點,稍微操作不慎就涼涼了!

到此這篇關于Python+Pygame實現之見縫插針游戲的實現的文章就介紹到這了,更多相關Python Pygame見縫插針內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python爬蟲進階之協(xié)程詳解

    python爬蟲進階之協(xié)程詳解

    這篇文章主要介紹了python爬蟲進階之協(xié)程詳解,coroutine中文翻譯叫協(xié)程,在 Python 中昌指代為協(xié)程對象類型,可以將協(xié)程對象注冊到時間循環(huán)中被調用,需要的朋友可以參考下
    2023-08-08
  • 用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼

    用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼

    這篇文章主要介紹了用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼,主要分為兩部分,獲取網頁上數據和圖片保存到本地等,感興趣的可以了解一下
    2020-07-07
  • 基于Django統(tǒng)計博客文章閱讀量

    基于Django統(tǒng)計博客文章閱讀量

    這篇文章主要介紹了基于Django統(tǒng)計博客文章閱讀量,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 讓你相見恨晚的十個Python騷操作

    讓你相見恨晚的十個Python騷操作

    這篇文章主要給大家介紹了十個讓你相見恨晚的Python騷操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 升級anaconda中python到3.10版本的簡單步驟

    升級anaconda中python到3.10版本的簡單步驟

    anaconda是一個非常好用的python發(fā)行版本,其中包含了大部分常用的庫,下面這篇文章主要給大家介紹了關于升級anaconda中python到3.10版本的簡單步驟,需要的朋友可以參考下
    2024-03-03
  • Python 最強編輯器詳細使用指南(PyCharm )

    Python 最強編輯器詳細使用指南(PyCharm )

    這篇文章主要介紹了Python 最強編輯器詳細使用指南(PyCharm),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • python實現局域網內實時通信代碼

    python實現局域網內實時通信代碼

    今天小編就為大家分享一篇python實現局域網內實時通信代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python Django模型詳解

    Python Django模型詳解

    這篇文章主要介紹了Django 模型類(models.py)的定義詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-10-10
  • 自動化測試時基于Python常用的幾個加密算法總結

    自動化測試時基于Python常用的幾個加密算法總結

    這幾天做自動化測試,遇到一個問題,那就是接口的請求的密碼是加密的,產品的要求是不能使用使用其他特殊手段,他給提供加密算法,需要在接口請求的時候,使用加密算法處理后的數據傳參,本文主要是整理了幾個加密算法,以便后續(xù)測試使用,需要的朋友可以參考下
    2023-12-12
  • python中的條件賦值判斷語句語法

    python中的條件賦值判斷語句語法

    這篇文章主要介紹了python條件賦值判斷語句語法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論