pygame设计一个刮刮乐加分小游戏小程序

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

未完待续

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章