Python小型项目实战讲授课《羊了个羊》
一、项目开发大纲(低级)
版本1.0:根本开发
课次
| 内容
| 技能
| 第一天
| 根本游戏舆图数据
| 面向过程
| 第二天
| 鼠标点击和移动
| 面向对象
| 第三天
| 消除
| 计划模式:单例模式
| 第四天
| 完整游戏过程
| 架构:Model-View-ViewModel
| 第五天
| 多层重叠的方块
| 数据布局
(计算机考研数据布局课程)
| 第六天
| 多层重叠的方块
| 数据布局
(计算机考研数据布局课程)
| 二、项目开发大纲(中级、高级)
版本2.0:游戏道具
技能:计划模式
版本3.0:单机版改为网络版多人联机游戏
技能:网络编程、多人对战
版本4.0:JS改写,发布小步伐
版本5.0:安卓编程、苹果ios编程,发布APP
版本6.0:小步伐、APP,接入广告联盟,收费赢利!
版本7.0:游戏道具,接入付出接口,道具收费!
版本8.0:多层重叠方块的高级实现方法
第一天功能描述:
舆图数据绘制,包罗空格。
第一天截图:
版本1.0,第一天源码:
- 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()
复制代码
来源:https://blog.csdn.net/weixin_42644456/article/details/132166370
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |