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

Python Pygame實(shí)戰(zhàn)之趣味籃球游戲的實(shí)現(xiàn)

 更新時(shí)間:2022年04月24日 09:49:53   作者:顧木子吖  
這篇文章主要為大家分享了一個(gè)基于Python和Pygame實(shí)現(xiàn)的一個(gè)趣味籃球游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下

導(dǎo)語(yǔ)

貪玩的我~終于回來(lái)了!

今日過(guò)后,日常更新——挺長(zhǎng)一段時(shí)間都不在狀態(tài)的。好好調(diào)整中!

最近在給大家研究一些新游戲,大家喜歡打籃球嘛?

(木子高中還參加過(guò)籃球比賽,棒棒~雖然打的不咋滴就是了~哈哈哈)

大學(xué)時(shí)期,最喜歡跟著室友一起去看學(xué)校的各種籃球比賽的。哈哈哈,有姐妹的話就懂得~

估計(jì)學(xué)編程的女孩子還是挺少的哈,男孩子的話不懂我就不解釋啦~回家了可以問(wèn)下自己的女朋友是不是也這樣子干過(guò)!嘻嘻.jpg

今天小編的話就給大家用代碼做一款簡(jiǎn)約的《籃球小游戲》

一、環(huán)境安裝

1)各種素材(圖片、代碼)

資料挺多滴,等下代碼就只展示主要的一些代碼哈!

2)運(yùn)行環(huán)境

小編使用的環(huán)境:Python3、Pycharm社區(qū)版、Pygame、numpy、 scipy 模塊部分自帶就不

展示啦。

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

二、代碼展示

1)游戲界面文字

設(shè)置的是雙人模式撒,可以兩個(gè)人一起玩兒的,玩家1跟玩家2輪流投籃滴。

import pygame
 
BLACK = (0, 0, 0)
RED = (255, 0, 0)
 
 
class Text:
    def text_objects(self, text, font, color):
        textSurface = font.render(text, True, color)
        return textSurface, textSurface.get_rect()
 
    def score_display(self, world, screen):
        p1color = RED if world.p1turn else BLACK
        p2color = BLACK if world.p1turn else RED
        self.add_to_screen(
            screen, 30, "Player 1: " + str(world.p1score) + " points", 150, 50, p1color
        )
        self.add_to_screen(
            screen, 30, "Player 2: " + str(world.p2score) + " points", 150, 90, p2color
        )
 
    def victory_message(self, world, screen):
        winner = 1 if world.p1score > world.p2score else 2
        self.add_to_screen(
            screen, 100, "The winner is Player " + str(winner) + "!", 640, 320
        )
 
    def add_to_screen(self, screen, font_size, text, center_x, center_y, color):
        largeText = pygame.font.Font("freesansbold.ttf", font_size)
        TextSurf, TextRect = self.text_objects(text, largeText, color)
        TextRect.center = (center_x, center_y)
        screen.blit(TextSurf, TextRect)

2)主程序

import pygame
from Ball import Ball2D
from World import World
from PowerBar import PowerBar
from Text import Text
 
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
 
 
def main():
 
    # initializing pygame
    pygame.init()
 
    clock = pygame.time.Clock()
 
    # top left corner is (0,0)
    win_width = 1280
    win_height = 640
    screen = pygame.display.set_mode((win_width, win_height))
    pygame.display.set_caption("Basketball籃球游戲")
 
    world = World()
    power = PowerBar()
    scoreboard = Text()
 
    world.add_rim("disk-red.png", 5).set_pos([1000, 300])
    world.add_rim("disk-red.png", 5).set_pos([1075, 300])
 
    dt = 0.1
 
    while True:
        # 100 fps
        clock.tick(60)
 
        # Clear the background, and draw the sprites
        screen.fill(WHITE)
        power.draw(screen)
        world.draw(screen)
        pygame.draw.arc(screen, RED, (50, 50, 50, 50), 1, 1, 10)
        # draw rim line
        pygame.draw.line(screen, RED, [1000, 340], [1075, 340], 10)
        # draw backboard
        pygame.draw.line(screen, RED, [1075, 250], [1075, 640], 10)
        scoreboard.score_display(world, screen)
        if world.won:
            scoreboard.victory_message(world, screen)
            pygame.display.update()
            clock.tick(1)
            # countdown timer to close the game when won
            for i in range(100):
                pass
            break
        elif not world.shot:
            power.start(world)
        else:
            won = world.update(dt, power)
 
        pygame.display.update()
 
 
if __name__ == "__main__":
    main()

三、效果展示

1)游戲玩家一

2)游戲玩家二

3)隨機(jī)投籃

用多大的力氣投籃就在蓄力的時(shí)候點(diǎn)一下鼠標(biāo)左鍵在相應(yīng)的藍(lán)條點(diǎn)擊,剛開(kāi)始肯定不適應(yīng)

要慢慢試,看那里是最適合的時(shí)候。每次投籃一次10分哦~

到此這篇關(guān)于Python Pygame實(shí)戰(zhàn)之趣味籃球游戲的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python Pygame籃球游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 函數(shù)裝飾器詳解

    Python 函數(shù)裝飾器詳解

    這篇文章主要介紹了Python函數(shù)裝飾器,結(jié)合實(shí)例形式詳細(xì)分析了Python裝飾器的原理、功能、分類、常見(jiàn)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2021-10-10
  • Python打印詳細(xì)報(bào)錯(cuò)日志,獲取報(bào)錯(cuò)信息位置行數(shù)方式

    Python打印詳細(xì)報(bào)錯(cuò)日志,獲取報(bào)錯(cuò)信息位置行數(shù)方式

    這篇文章主要介紹了Python打印詳細(xì)報(bào)錯(cuò)日志,獲取報(bào)錯(cuò)信息位置行數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python制作刷網(wǎng)頁(yè)流量工具

    Python制作刷網(wǎng)頁(yè)流量工具

    本文給大家分享的是一個(gè)使用python制作的,可以實(shí)現(xiàn)刷網(wǎng)頁(yè)流量的小工具,并給大家附上了詳細(xì)代碼,有需要的小伙伴可以參考下
    2017-04-04
  • Python?ArcPy批量掩膜、重采樣大量遙感影像的操作

    Python?ArcPy批量掩膜、重采樣大量遙感影像的操作

    這篇文章主要介紹了Python?ArcPy批量掩膜、重采樣大量遙感影像,本文介紹基于Python中ArcPy模塊,對(duì)大量柵格遙感影像文件進(jìn)行批量掩膜與批量重采樣的操作,需要的朋友可以參考下
    2023-03-03
  • python使用Geany編輯器配置方法

    python使用Geany編輯器配置方法

    這篇文章主要介紹了python使用Geany編輯器配置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式

    Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式

    這篇文章主要介紹了Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • calendar在python3時(shí)間中常用函數(shù)舉例詳解

    calendar在python3時(shí)間中常用函數(shù)舉例詳解

    這篇文章主要介紹了calendar在python3時(shí)間中常用函數(shù)的相關(guān)文章,對(duì)此知識(shí)點(diǎn)有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python函數(shù)裝飾器的使用詳解

    Python函數(shù)裝飾器的使用詳解

    大家好,本篇文章主要講的是Python函數(shù)裝飾器的使用詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Python爬蟲之m3u8文件里提取小視頻的正確姿勢(shì)

    Python爬蟲之m3u8文件里提取小視頻的正確姿勢(shì)

    本文給大家分享如何正確提取m3u8文件里的.ts視頻,并合成完整的.mp4格式視頻,通過(guò)圖文實(shí)例代碼的形式給大家介紹的非常詳細(xì),對(duì)Python提取m3u8文件小視頻感興趣的朋友一起看看吧
    2021-05-05
  • Django開(kāi)發(fā)中的日志輸出的方法

    Django開(kāi)發(fā)中的日志輸出的方法

    這篇文章主要介紹了Django開(kāi)發(fā)中的日志輸出的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論