unity制作斗地主游戏大致流程

来源:互联网 发布:洛阳师范网络 编辑:程序博客网 时间:2024/06/05 04:09
1 导入NGUI包
2 绘制一个斗地主bg图
3 绘制一个斗地主牌  拖成预设
4 添加一个脚本CardsBox:牌预设CardObjPrefab,总共是54张。
绘制牌Init 克隆CardObjPrefab + 给每个牌挂上一个属于自己的Card脚本
洗牌Shuffle(随机交换了一下位置),
发牌SendCard,2点之间确定一个方向, 起点(整副牌中最后一张),  
终点(玩家所在位置),
剩余3张牌时,设置游戏状态为抢地主状态SetRunState(RUNSTATE.BEHOST)

5 创建3个玩家 2个Computer(脚本)+1Player(脚本)继承User(脚本)
在User类给每个玩家添加手牌AddCard,并且排序Sort+重设牌的坐标ReSetCardPos


6 抢地主后设置游戏状态正式游戏SetRunState(RUNSTATE.GAME);
并且地主玩家设置为主动出牌状态SetUserState(USERSTATE.OUTPUT);


7 在Player类,玩家点击出牌时ChuPai--OutPutCard--设置下家要牌状态
  userDown.SetUserState(USERSTATE.BEPUT);//设置下家 要打我出的牌 被动出牌状态
  SetUserState(USERSTATE.THINK);//设置我的状态为静止状态


  主动出牌的时候 USERSTATE.OUTPUT检测玩家选择的牌是否是合法JudeVOwn(合法的依据是必须是定义的BRANDSTATUS中的除
_NONE外的任意一种)


  被动出牌的时候 USERSTATE.BEPUT 检测玩家选择的牌是否是合法JudeVOwn(合法的依据是必须是定义的BRANDSTATUS中的除
_NONE外的任意一种)+ 与上家的牌型outStatustion是否一致(上家出了牌的情况下,否则就上上家)+
  我的牌型outStatustion与上家牌型outStatustion一致的情况下,我的牌num需要比上家的牌num大才能出
  出了之后一样的同上设置下家状态+设置我的状态


8 电脑Computer类 
 检测行动状态:主动出牌 OutPut  时检测牌型是否合法 GameLogicCheck+ 出了之后一样的同上设置下家状态+设置我的状态 


被动出牌 BePut   时检测牌型是否合法 GameLogicCheck + 与上家的牌型outStatustion是否一致(上家出了牌的情况下,否则就上上家)+
  我的牌型outStatustion与上家牌型outStatustion一致的情况下,我的牌num需要比上家的牌num大才能出
  出了之后一样的同上设置下家状态+设置我的状态


9 胜利 :在游戏状态中检测,看哪位玩家的手牌最先出完(手牌数量为0),即谁赢了,
然后亮出剩下玩家的手牌



0 0
原创粉丝点击