#用python的pygame写一个大富翁游戏(单机版)# 一 : 初步架构

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

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

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

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

1. 初步架构

平台:pycharm

实现步骤:

初步实现单机版
		1. 进行玩家数量选择
		2. 进行游戏角色选择
		3. 初始化游戏数据
		4. 开始游戏:
		{
		1. 一号玩家进行抛骰子
		2. 根据骰子数进行移动,以及触发各种情景
		3. 一号玩家结束操作,进入二号玩家回合
		4. 重复1~3,直至全部玩家回合结束,进入下一回合
		5. 重复4,直至游戏结束
		}

首先进行素材的积累:
设计游戏地图:
#用python的pygame写一个大富翁游戏(单机版)# 一 : 初步架构_第1张图片
找一些卡通人物当做角色:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
当然,要把他们都一个一个裁剪下来:
在这里插入图片描述
制作一个购买地皮的界面图片:

#用python的pygame写一个大富翁游戏(单机版)# 一 : 初步架构_第2张图片
游戏的玩家信息池:玩家功能信息(后期可能会添加不同玩家的不同技能)、玩家图片、玩家所在格子信息

构思文件结构:

  • dice是实现骰子动画的程序、
  • grid为地图格功能实现、
  • main为主程序、
  • select_character为玩家选择自己的角色,
  • select_player_number为选择玩家人数、
  • setting为设置文件:
    #用python的pygame写一个大富翁游戏(单机版)# 一 : 初步架构_第3张图片

然后通过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")

#用python的pygame写一个大富翁游戏(单机版)# 一 : 初步架构_第4张图片

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

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

你可能感兴趣的:(写点小程序,游戏,小程序,pygame,python)