Curso Práctico de Enseñanza del Proyecto Pitón Pequeño "La Oveja y el Ovejo"
1. Esquema de desarrollo del proyecto (primario)
Versión 1.0: Desarrollo Básico
clase |
contenido |
tecnología |
primer día |
Datos del mapa del juego base |
orientado al proceso |
el día siguiente |
haga clic con el mouse y muévase |
orientado a objetos |
tercer día |
eliminar |
Patrón de diseño: Patrón Singleton |
cuarto día |
juego completo |
Arquitectura: Modelo-Vista-VistaModelo |
quinto día |
bloques de varias capas |
estructura de datos (Curso de Estructura de Datos de Computación PubMed) |
sexto día |
bloques de varias capas |
estructura de datos (Curso de Estructura de Datos de Computación PubMed) |
2. Esquema de desarrollo del proyecto (intermedio, avanzado)
Versión 2.0: accesorios del juego
Técnica: patrones de diseño
Versión 3.0: la versión independiente se cambia a un juego en línea multijugador en línea
Tecnología: Programación en red, batalla multijugador.
Versión 4.0: JS reescrito, subprograma de lanzamiento
Versión 5,0: programación de Android, programación de Apple ios, aplicación de lanzamiento
Versión 6.0: Pequeños programas, APPs, acceso a alianzas publicitarias, ¡y gana dinero cobrando comisiones!
Versión 7.0: accesorios del juego, acceso a la interfaz de pago, ¡cargo por accesorios!
Versión 8.0: Implementación avanzada de bloques superpuestos multicapa
Descripción de la función del primer día:
Se dibujan los datos del mapa, incluidos los espacios.
Captura de pantalla del primer día:
Versión 1.0, código fuente del primer día:
import pygame
import random
#导入exit方法
from sys import exit
#定义函数
# 当用户点击关闭,关闭窗口
def handleEvent():
global events
for e in pygame.event.get():
if e.type==pygame.QUIT:
pygame.quit()
sys.exit()
#地图初始化 2023.7.5 lyy
def gameMapInit():
for i in range(9):
for j in range(7):
# 0 无效值; 1-6 有效值
matrix[i][j]=random.randint(0, 6)
#- ---------------------------------------------------- main
#初始化pygame
pygame.init()
back=pygame.image.load('images/background.png')
cardBox=pygame.image.load('images/box.png')
c1=pygame.image.load('images/card1.png')
c2=pygame.image.load('images/card2.png')
c3=pygame.image.load('images/card3.png')
c4=pygame.image.load('images/card4.png')
c5=pygame.image.load('images/card5.png')
c6=pygame.image.load('images/card6.png')
cardAll=[c1,c2,c3,c4,c5,c6]
#设置窗口大小
canvas=pygame.display.set_mode((400,700))
#数据 MVVM模式
# 纯数据 MODEL
matrix = [[0 for i in range(8)] for i in range(10)]
#设置窗口标题
pygame.display.set_caption('羊了个羊')
gameMapInit()
print(matrix)
#循环语句
#重复绘制画面,重复检测用户是否点击了关闭按钮
while True:
#绘制背景
canvas.blit(back,(0,0))
#绘制卡牌空槽
canvas.blit(cardBox,(20,550))
#循环语句 输出多行多列图片
x=25
y=50
for i in range(9):
x=25
for j in range(7):
card_id= matrix[i][j]
if card_id!=0:
canvas.blit(cardAll[ card_id-1 ],(x,y))
x=x+50
y=y+50
#调用函数,当用户点击关闭,关闭窗口
handleEvent()
#刷新画面
pygame.display.update()