亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Python Pygame實(shí)現(xiàn)的畫餅圖游戲

 更新時(shí)間:2021年12月08日 10:02:32   作者:我的天才女友  
這篇文章主要介紹了基于Pygame實(shí)現(xiàn)一個(gè)畫餅圖游戲,可以根據(jù)鍵盤上輸入不同的數(shù)字,將圓分割成不同的幾個(gè)部分,每部分用不同的顏色來實(shí)現(xiàn)。需要的朋友可以參考一下

這個(gè)游戲就是實(shí)現(xiàn)鍵盤上輸入不同的數(shù)字,將圓分割成不同的幾個(gè)部分,每部分用不同的顏色來實(shí)現(xiàn)。

導(dǎo)入包

導(dǎo)入隨機(jī)包,pygame,系統(tǒng)包,time時(shí)間包用于時(shí)間暫停。math是用來確認(rèn)弧度的。

import random
import pygame, sys, time
import math
from pygame.locals import *

配置基本參數(shù)

初始化pygame,設(shè)置窗口大小標(biāo)題,設(shè)置圓心的x和y軸,圓的半徑,線條的寬度,這里設(shè)置的足夠大,就會(huì)填充整個(gè)扇形。設(shè)置圓形的屬性,初始的扇形的個(gè)數(shù)設(shè)置為2

pygame.init()

screen = pygame.display.set_mode((400, 400))
pygame.display.set_caption("分餅干")

# 餅圖設(shè)置
x = 200
y = 200
radius = 100
# 顏色
WHITE = (255, 255, 255)
# 線條寬度
WIDTH = 100
# 設(shè)置橢圓的屬性
ellipse = (x - radius, y - radius, radius * 2, radius * 2)
# 扇形大小
sectorNum = 2

根據(jù)輸入的數(shù)字改變扇形的個(gè)數(shù)

根據(jù)按下數(shù)字的鍵,改變扇形的個(gè)數(shù)

def get_sector_num(key):
    """根據(jù)用戶輸入的數(shù)字決定扇形的大小"""
    if key == pygame.K_2:
        return 2
    elif key == pygame.K_3:
        return 3
    elif key == pygame.K_4:
        return 4
    elif key == pygame.K_5:
        return 5
    elif key == pygame.K_6:
        return 6
    elif key == pygame.K_7:
        return 7
    elif key == pygame.K_8:
        return 8
    elif key == pygame.K_9:
        return 9
    return 1

監(jiān)聽事件

循環(huán)扇形的個(gè)數(shù),計(jì)算開始結(jié)束的弧形,并設(shè)置隨機(jī)的顏色。

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        if event.type == KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                sys.exit()
            else:
                sectorNum = get_sector_num(event.key)
    screen.fill(WHITE)
    for i in range(sectorNum):
        start_angle = 0 + (360 / sectorNum) * i
        end_angle = (360 / sectorNum) * (i + 1)
        pygame.draw.arc(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), ellipse,
                        math.radians(start_angle),  math.radians(end_angle), 100)
    pygame.display.update()
    time.sleep(1)

import random
import pygame, sys, time
import math
from pygame.locals import *

pygame.init()

screen = pygame.display.set_mode((400, 400))
pygame.display.set_caption("分餅干")

# 餅圖設(shè)置
x = 200
y = 200
radius = 100
# 顏色
WHITE = (255, 255, 255)
# 線條寬度
WIDTH = 4

# 設(shè)置橢圓的屬性
ellipse = (x - radius, y - radius, radius * 2, radius * 2)
# 扇形大小
sectorNum = 2


def get_sector_num(key):
    """根據(jù)用戶輸入的數(shù)字決定扇形的大小"""
    if key == pygame.K_2:
        return 2
    elif key == pygame.K_3:
        return 3
    elif key == pygame.K_4:
        return 4
    elif key == pygame.K_5:
        return 5
    elif key == pygame.K_6:
        return 6
    elif key == pygame.K_7:
        return 7
    elif key == pygame.K_8:
        return 8
    elif key == pygame.K_9:
        return 9
    return 1


while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        if event.type == KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                sys.exit()
            else:
                sectorNum = get_sector_num(event.key)
    screen.fill(WHITE)
    for i in range(sectorNum):
        start_angle = 0 + (360 / sectorNum) * i
        end_angle = (360 / sectorNum) * (i + 1)
        pygame.draw.arc(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), ellipse,
                        math.radians(start_angle),  math.radians(end_angle), 100)
    pygame.display.update()
    time.sleep(1) 

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

相關(guān)文章

  • python+splinter實(shí)現(xiàn)12306網(wǎng)站刷票并自動(dòng)購票流程

    python+splinter實(shí)現(xiàn)12306網(wǎng)站刷票并自動(dòng)購票流程

    這篇文章主要為大家詳細(xì)介紹了python+splinter實(shí)現(xiàn)12306網(wǎng)站刷票并自動(dòng)購票流程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • jupyter notebook 多行輸出實(shí)例

    jupyter notebook 多行輸出實(shí)例

    這篇文章主要介紹了jupyter notebook 多行輸出實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維

    python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維

    今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Django分頁器的用法你都了解嗎

    Django分頁器的用法你都了解嗎

    在我們做Django項(xiàng)目,數(shù)據(jù)量比較大的時(shí)候,我們需要分頁器來做分頁顯示,接下來重點(diǎn)給大家介紹利用Django開發(fā)MVT模型項(xiàng)目時(shí)分頁器的使用,感興趣的朋友一起看看吧
    2021-05-05
  • wxPython使用系統(tǒng)剪切板的方法

    wxPython使用系統(tǒng)剪切板的方法

    這篇文章主要介紹了wxPython使用系統(tǒng)剪切板的方法,涉及Python使用wx模塊操作系統(tǒng)剪切板的技巧,需要的朋友可以參考下
    2015-06-06
  • Django權(quán)限設(shè)置及驗(yàn)證方式

    Django權(quán)限設(shè)置及驗(yàn)證方式

    這篇文章主要介紹了Django權(quán)限設(shè)置及驗(yàn)證方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python使用Appium在移動(dòng)端抓取微博數(shù)據(jù)的實(shí)現(xiàn)

    Python使用Appium在移動(dòng)端抓取微博數(shù)據(jù)的實(shí)現(xiàn)

    Appium是移動(dòng)端的自動(dòng)化測試工具,讀者可以類比為PC端的selenium。通過它,我們可以驅(qū)動(dòng)App完成自動(dòng)化的一系列操作,同樣也可以爬取需要的內(nèi)容,本文就來介紹一下如何在移動(dòng)端抓取微博數(shù)據(jù),感興趣的可以了解一下
    2021-08-08
  • 解決pytorch 的state_dict()拷貝問題

    解決pytorch 的state_dict()拷貝問題

    這篇文章主要介紹了解決pytorch 的state_dict()拷貝問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python根據(jù)時(shí)間獲取周數(shù)代碼實(shí)例

    python根據(jù)時(shí)間獲取周數(shù)代碼實(shí)例

    這篇文章主要介紹了python根據(jù)時(shí)間獲取周數(shù),通過周數(shù)獲取時(shí)間代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python修改IP地址的常見方法總結(jié)

    Python修改IP地址的常見方法總結(jié)

    在網(wǎng)絡(luò)編程中,可能會(huì)遇到需要修改IP地址的情況,Python提供了一些功能強(qiáng)大的庫和模塊,可以幫助我們實(shí)現(xiàn)IP地址的修改操作,本文將介紹幾種常見的方法,以及如何使用它們來修改IP地址,需要的朋友可以參考下
    2023-12-12

最新評論