python版《羊了个羊》游戏开发第一天
短信预约 -IT技能 免费直播动态提醒
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 pygameimport 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 lyydef gameMapInit(): for i in range(9): for j in range(7): # 0 无效值; 1-6 有效值 matrix[i][j]=random.randint(0, 6)#- ---------------------------------------------------- main#初始化pygamepygame.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模式# 纯数据 MODELmatrix = [[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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341