预期成果:
一个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
- 思考列表和随机顺序的事。
未完待续