用python写一个简易大富翁小游戏 | 一 : 初步架构

系列文章: #用python的pygame写一个大富翁游戏(单机版)# 二:地图初始化

如题,俗话说得好,人生苦短,我用python,在大二领略了python的魅力之后,被舍友大佬带着准备做一个小游戏来玩玩。综合考虑了一下,最后选择了做一个大富翁的游戏,不含登录界面,简单的靠函数动态刷新来进行的小游戏。

初步架构初始化游戏数据(玩家角色、数量选择)骰子动画的实现玩家轮流操作的实现地图功能的实现(监狱、买地皮等)

1. 初步架构

平台:pycharm

实现步骤:

初步实现单机版

1. 进行玩家数量选择

2. 进行游戏角色选择

3. 初始化游戏数据

4. 开始游戏:

{

1. 一号玩家进行抛骰子

2. 根据骰子数进行移动,以及触发各种情景

3. 一号玩家结束操作,进入二号玩家回合

4. 重复1~3,直至全部玩家回合结束,进入下一回合

5. 重复4,直至游戏结束

}

首先进行素材的积累: 设计游戏地图: 找一些卡通人物当做角色: 当然,要把他们都一个一个裁剪下来: 制作一个购买地皮的界面图片:

游戏的玩家信息池:玩家功能信息(后期可能会添加不同玩家的不同技能)、玩家图片、玩家所在格子信息

构思文件结构:

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")

根据游戏的地图新建一个地图格的类:

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]#备用

新建玩家类,要求记录包括玩家当前状态、选择的角色、玩家持有的资金等

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 #玩家技能(根据所选角色不同而能力不同)