預期成果:
一個4×4的表格,每個空有一隻動物,點擊動物,動物消失,下面出現隨機的數字,學生加相應的分數。
最終達到:隨機數字,隨機圖像,封裝成exe方便在不同電腦使用。
--------------------我是分割線-------------------
前期工作:安裝python,安裝pygame。
windows命令提示符安裝pygame
pip install pygame
安裝python轉exe的工具:PyInstaller
pip install PyInstaller
開工!
STEP1 實現一張圖片的顯示。
import pygame
import sys
pygame.init() # 初始化pygame
size = width, height = 600, 600 # 設置窗口大小
screen = pygame.display.set_mode(size) # 顯示窗口
jpgFileName = "pic/pic1 (1).png"
while True: # 死循環確保窗口一直顯示
for event in pygame.event.get(): # 遍歷所有事件
if event.type == pygame.QUIT: # 如果單擊關閉窗口,則退出
sys.exit()
imgRect = pygame.image.load(jpgFileName)
screen.blit(imgRect,[0,0])
pygame.display.flip() # 更新全部顯示
pygame.quit() # 退出pygame
輸出爲:
STEP2 實現點擊後圖片消失。
(失敗,網上說圖片不能消失,可以重新繪製,可以做一個列表,再列表中刪除,再重新繪製,貌似我不會啊,先簡單實現點擊後出現另一張圖片)
STEP2.1 實現點擊圖片後顯示另一張圖片。
import pygame
import sys
pygame.init() # 初始化pygame
size = width, height = 600, 600 # 設置窗口大小
screen = pygame.display.set_mode(size) # 顯示窗口
jpgFileName = "pic/pic1 (1).png"
imgRect = pygame.image.load(jpgFileName)
jpgFileName2 = "pic/pic1 (2).png"
imgRect2 = pygame.image.load(jpgFileName2)
screen.blit(imgRect, [0, 0])
while True: # 死循環確保窗口一直顯示
for event in pygame.event.get(): # 遍歷所有事件
if event.type == pygame.QUIT: # 如果單擊關閉窗口,則退出
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN and 0<=event.pos[0]<=200 and 0<=event.pos[0]<=200: #判斷鼠標位置以及是否摁了下去。:裏面的200是我隨便寫的數,到時候需要根據圖片尺寸修改。
screen.blit(imgRect2, [0, 0])
pygame.display.flip() # 更新全部顯示
pygame.quit() # 退出pygame
STEP3 規範圖片尺寸和圖片名稱。
是不是需要設計一個統一的規則,比如圖片點擊後,不論點擊哪張?我這水平的…什麼類?什麼函數?呃呃呃
還要考慮隨機圖片名稱和函數,所以最好用上面說的,建一個列表,點擊後將列表更新,比如正常是000000,顯示,點擊了第三個圖片,列表更新爲001000,1表示分數數字。
要做這麼幾件事:
- 動物圖片準備好,統一大小尺寸。命名按pic0、pic1、pic2這樣排下來。
- 數字(分數)圖片準備好,統一大小尺寸,命名按num1、num2、num3
- 思考列表和隨機順序的事。
未完待續