一、斗地主规则说明:

斗地主出牌类型(牌数范围):

单牌(1)、对子、顺子(除2之外的连续5~12张牌凑成,例如:345678、最大是345678910JQKA)、双顺(牌数范围[6,8,10,12,14,16,18,20,22,24] 最小:334455,最大:334455667788991010JJQQKKAA)、飞机([6,9,12,15,18,21,24...]如:222333)、三带(3)、三带一(4)、三带二(5)、炸弹(4)、王炸(2)

二、流程:

准备54张牌、洗牌、发牌每人17张、抢地主、将剩余3张牌给地主、地主出牌、轮转下一位玩家出牌、不断地

循环、直至某玩家牌出完、结束一轮游戏。

具体实现套路:

1、准备54张牌

用队列或栈存,方便发牌,卡牌类{卡名、牌号、花色、持有者},利用卡名从Resources加载图片,牌号*4+花色=权值,持有者可知道这张牌属于谁。(废话)

2、洗牌

新建一个List或数组,从原本按着顺序排放的牌抽一张放入List,利用插入方式放入,插入索引值为Random.Range(0,list.Count+1),一张张牌随机插入List后就得到54张 乱序的牌了,然后再将这些牌一张张放回到原来保存着牌的栈或队列中。

3、发牌每人17张

将牌一张张地实例化到各个对应的点上,玩家看到的牌是降序排序的。

4、抢地主

5、将剩余3张牌发给地主

6、地主出牌(必须出牌,不能不出哦!(废话))

创建 一个Model保存最大出牌者是谁(当前牌者就是最大出牌者(废话!)),出牌类型,牌长度,牌权值!

7、轮转下一位玩家出牌

对了,出牌之前必须要验证将要出的牌是不是 正常的(写一个类专门验证)

接着再判断将要出的牌是否比最大出牌者的牌要大!如何 判断?自己想想,当然单纯大肯定不行, 如果不是炸弹、王炸,这种牌,还得长度一样,出牌类型一样才允许出牌哦。

8、 出牌完判断是否结束。。。然后不断地循环这个过程。完事。

【Unity之棋牌类】单机斗地主游戏开发流程相关推荐

  1. 基于JavaGUI实现的单机斗地主游戏

    源代码下载地址 介绍 基于JavaGUI实现的单机斗地主游戏 开发工具及环境等 支持Eclipse.IDEA 功能 实现出牌.取消出牌.跳过不要.抢地主.输赢判断.发牌动画等(具体看演示图片) 展示

  2. 国内外3D游戏开发流程和职位分类

    国内外3D游戏开发流程和职位分类 分类: 网游相关2010-07-04 21:11 851人阅读 评论(0) 收藏 举报 国内3D游戏开发流程 开发团队 n 制作人 n 执行制作人 n 策划团队 n ...

  3. 游戏公司组成架构和游戏开发流程简述

    游戏公司组成架构和游戏开发流程简述 [基本概念] 游戏公司一般是指游戏开发公司或游戏发行.代理公司. 那游戏公司开发游戏需要哪些技术人员?简单的说:需要游戏造型.游戏动画.3D美工.纹理师.原画设计师 ...

  4. 【联机对战】微信小程序联机游戏开发流程详解

    现有一个微信小程序叫中国象棋项目,棋盘类的单机游戏看着有缺少了什么,现在给补上了,加个联机对战的功能,增加了可玩性,对新手来说,实现联机游戏还是有难度的,那要怎么实现的呢,接下来给大家讲一下. 考虑到 ...

  5. 游戏开发流程以及Cocos2d与Cocos2dx区别

    一.游戏开发流程. ①准备游戏引擎 ②准备各类美术资源 ③编写demo,逻辑 ④适配手机,屏幕分辨率,以iPhone4的分辨率为经典.内存.系统版本. ⑤优化,性能优化,操作系统优化 ⑦发布游戏 二. ...

  6. unity 3d网络游戏实战(全).pdf_“游戏开发入门指南——Unity+”的食用指南

    虽然专栏的文章已在置顶中按内容分好类了([置顶]游戏开发入门指南专栏目录),但不排除仍然有初学者面对繁杂的内容感觉无从下手.因此额外带来一篇食用指南,旨在给想要通过本专栏学习游戏开发的同学一条相对容易 ...

  7. java斗地主游戏开发 算法思路讲解

    上学期刚开学的时候我特别沉迷于斗地主 充了6块钱赢了30万豆 然后一夜之间破产 越想越气 然后我就有一个大胆的想法开发一个斗地主现在这个斗地主能在控制台上运行 本文主要讲解我在开发斗地主时研究的算法思 ...

  8. unity引擎简介——(1)Unity3D游戏开发流程与规范

    主题简介: 游戏开发是所有软件开发类型中最难的一种,不仅技术门槛高,而且要求各种专业人员(策划.程序.美术等等)高度的协同配合.所以实际项目过程中,需要有明确的流程和规范,确保游戏进度良性推进.简单地 ...

  9. 多人在线斗地主游戏开发——自定义TCP网络通信协议包格式

    什么叫做通信协议?为什么制定通信协议? 怎么制定通信协议? 不知道大家有没有迷茫过这个问题,反正我是有的,,, 想我在刚接触网络编程的时候,是linux下用socket懵懵懂懂地按照pdf书籍上的代码 ...

最新文章

  1. flutter刷新页面_Flutter BottomNavigationBar切换会刷新当前页面解决方
  2. 关于动态生成输入界面的一些想法及实践
  3. struts2.0简单页面 (不带拦截器和带拦截器案例)
  4. 最简易上手的Numpy学习笔记一
  5. Redis这么快你知道吗?
  6. springMVC:前端请求后台并传值
  7. prototype.js学习(2)
  8. Linux部署Web项目小记
  9. android 加载ae动画,Bodymovin:Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画...
  10. python 编译器spyder 安装_Python环境安装Spyder
  11. 上传文件到本地操作和上传到Azure云上
  12. Debian10校准时间同步系统时间和硬件时间的方法
  13. Tools - On Duty
  14. 【JavaScript】案例1:使用JS完成注册页面校验
  15. 关于IE下载文件无法弹出下载框
  16. 智慧井盖物联网解决方案
  17. 2021.07.13【B站】是这样崩的
  18. gps android时钟同步,通过GPS时间同步Android设备?
  19. 如何“管理”自己的上级
  20. DLNA UPnP协议简介

热门文章

  1. 在移动端H5开发中(关于安卓端position:fixed和position:absolute;和虚拟键盘冲突的问题,以及解决方案)
  2. 新版itunes不显示图书_龙岗“移动数字图书馆”上线!看书、找书、借书掌上搞定!...
  3. 数据中台:企业数据质量参差不齐?听听专家怎么说
  4. [2021.10.22]<呆头熊的开发日记>怪物AI(3)
  5. 有道云 markdown 生成目录的方法
  6. 加密的word文件怎么编辑
  7. win7不能安装MSU文件
  8. 人工智能常常取代真正的智能吗?
  9. FL studio 20简易入门教程 -- 第一篇 -- 软件介绍与初始化
  10. 图像处理之高通滤波及低通滤波