Python實現人工造雪

2021-09-04 04:35:59 字數 1578 閱讀 7023

#匯入相應模組

import pygame

import random

#pygame初始化

pygame.init()

#宣告螢幕/視窗size大小,與背景的大小一樣才能完美顯示

size = (1025, 640)

#給螢幕設定大小,引數為上面設定的大小

screen = pygame.display.set_mode(size)

#設定標題

pygame.display.set_caption("霸道與雪")

#載入背景圖

# 定義乙個雪花列表

snow =

# 初始化雪花

for i in range(300):

#randrange()方法返回指定遞增基數集合中的乙個隨機數

#randrange()是不能直接訪問的,需要匯入random模組,然後通過ranom靜態物件呼叫

x = random.randrange(0, size[0])

y = random.randrange(0, size[1])

#ranint用於生成指定範圍內的隨機整數

speedx = random.randint(-1, 1)

speedy = random.randint(3,6)

#建立時鐘物件,用來控制遊戲迴圈頻率

clock = pygame.time.clock()

done = false

while not done:

# 訊息事件迴圈,判斷退出

for event in pygame.event.get():

if event.type == pygame.quit:

done = true

#繪製位圖

screen.blit(background, (0,0))

# 雪花列表迴圈

for i in range(len(snow)):

# 繪製雪花,顏色、位置、大小

pygame.draw.circle(screen, (255, 255, 255), snow[i][:2], snow[i][3]-3)

# 移動雪花位置(下一次迴圈起效)

snow[i][0] += snow[i][2]

snow[i][1] += snow[i][3]

# 如果雪花落出螢幕,重設位置

if snow[i][1] > size[1]:

snow[i][1] = random.randrange(-50, -10)

snow[i][0] = random.randrange(0, size[0])

#更新顯示到螢幕表面

pygame.display.flip()

#每秒迴圈20次

clock.tick(20)

pygame.quit()

造輪子 python手動實現OTUS

最近研究閾值化演算法,otus算是目前應用比較廣泛的,自己想實現otus看和opencv對比,哪個用時短 最後經numba加速後還是失敗,opencv的otus演算法速度是自己手寫的轉換速度的5 10倍。果然現成的輪子是比較好用的 otus法又稱最大類間方差法或者大津法,基本思想就是計算前景類與背景...

刪列造序python

給定由n個小寫字母字串組成的陣列a,其中每個字串長度相等。選取乙個刪除索引序列,對於a中的每個字串,刪除對應每個索引處的字元。假設,我們選擇了一組刪除索引d,那麼在執行刪除操作之後,最終得到的陣列的行中的每個元素都是按字典序排列的。比如,有a babca bbazb 刪除索引序列,刪除後a為 bc ...

python批量造數指令碼

coding utf8 from pymysql import connect,cursors from pymysql.err import operationalerror import sys,time class database 類名和模組名一致,robot匯入時不用寫類名 def ini...