用python写一个简易大富翁小游戏 | 一 : 初步架构
系列文章:
#用python的pygame写一个大富翁游戏(单机版)# 二:地图初始化
如题,俗话说得好,人生苦短,我用python,在大二领略了python的魅力之后,被舍友大佬带着准备做一个小游戏来玩玩。综合考虑了一下,最后选择了做一个大富翁的游戏,不含登录界面,简单的靠函数动态刷新来进行的小游戏。
- 初步架构
- 初始化游戏数据(玩家角色、数量选择)
- 骰子动画的实现
- 玩家轮流操作的实现
- 地图功能的实现(监狱、买地皮等)
1. 初步架构
平台:pycharm
实现步骤:
初步实现单机版
1. 进行玩家数量选择
2. 进行游戏角色选择
3. 初始化游戏数据
4. 开始游戏:
{
1. 一号玩家进行抛骰子
2. 根据骰子数进行移动,以及触发各种情景
3. 一号玩家结束操作,进入二号玩家回合
4. 重复1~3,直至全部玩家回合结束,进入下一回合
5. 重复4,直至游戏结束
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
首先进行素材的积累:
设计游戏地图:
找一些卡通人物当做角色:
当然,要把他们都一个一个裁剪下来:
制作一个购买地皮的界面图片:
游戏的玩家信息池:玩家功能信息(后期可能会添加不同玩家的不同技能)、玩家图片、玩家所在格子信息
构思文件结构:
- dice是实现骰子动画的程序、
- grid为地图格功能实现、
- main为主程序、
- select_character为玩家选择自己的角色,
- select_player_number为选择玩家人数、
- setting为设置文件:
然后通过load把它们加载进来,这里的加载部分统一放在一个封装的程序代码里,作为整个程序工程的设置文件。如果需要添加其他的图片,方法类似。
background = pygame.image.load ("material/background2.jpg")
player1_picture= pygame.image.load ("material/player1.png")
player2_picture = pygame.image.load ("material/player2.png")
player3_picture = pygame.image.load ("material/player3.png")
player4_picture = pygame.image.load ("material/player4.png")
- 1
- 2
- 3
- 4
- 5
- 6
根据游戏的地图新建一个地图格的类:
class Grid (object):
def __init__(self,grid_data):
self.function=grid_data[0]#功能(移动1,地皮2,抽奖3,交税4,停留5)
self.move=grid_data[1]#移动步数或者监狱停留回合数
self.price=grid_data[2]#地皮价格
self.level=grid_data[3]#地皮上房屋等级
self.host=grid_data[4]#地皮拥有者
self.tax=grid_data[5]#税
self.luck=grid_data[6]#备用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
新建玩家类,要求记录包括玩家当前状态、选择的角色、玩家持有的资金等
class Role (object): #角色数据模板
def __init__ (self,x,y,name,loction,character,money,stop):
self.x = x
self.y = y
self.name = name #玩家名字
self.loction = loction #玩家所在格子数
self.character = character #玩家选择的角色
self.money = money #玩家资金
self.stop = stop #监狱开关
#self.skill = skill #玩家技能(根据所选角色不同而能力不同)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11