RELATEED CONSULTING
游戏咨询
联系在线客服开启赚钱之旅
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
朵朵云资深游戏技术总监告诉你麻将棋牌游戏是
  • 作者:棋牌游戏开发
  • 发表时间:2017-03-09 10:26
  • 来源:未知

  作为一个从事棋牌游戏开发已经有了6年时间的老程序员,如今朵朵云的技术总监给大家讲讲麻将棋牌游戏是如何开发的,让大伙熟悉一下麻将棋牌游戏开发是怎么的一个流程!
 
  首先咱们拿到一副麻将。第一步应当是合成“设计”这件事情自身,(注意,这里不是把麻将分成几类),合成出数据构造的那一档次设计。通常咱们拿到一份这样的设计,直接开端选择数据构造——麻将是背包、堆栈、队列、红黑树?特殊喜爱照本宣科,擅长模仿的同窗。而做过名目标同窗,通常首先开端弄一个麻将接口、麻将类,而后增加打麻将方式。而我以为这都不是好的设计步骤。
 
  传统开发人员对软件的了解是数据构造+算法,现代面向对象的开发人员的了解是抽象对象(继承/多态/泛型)出详细对象。它们的共同特征都是将现实世界直接抽象为程序设计,而每种开发人员所控制的设计范式或习性均有差别,为了团队不得不必框架及最佳实际来束缚差别,减少了解和修改的成本。
 
  然而,将现实世界直接抽象为程序设计究竟是不是准确的思路呢?这个思路对开发人员无疑是最直观的,但长久在团队的束缚下,久而久之就变成了对“最佳实际”的履行——而非设计,而履行则是最简单的那一部分,只会履行的程序员通常被戏称为码农。
 
  那么麻将是背包、堆栈、队列还是红黑树呢?都不是,你会发明你学会了这么多数据构造,一点用途也没有,(传统的面向对象设计无疑可以处理这类问题,面向对象(比方;" /> 
为什么这么多数据构造,都处理不了麻将?抑或说处理地十分别扭,不够完备。由于咱们只是背诵了那些数据构造,就像背诵乘法口诀表,1乘以1到9乘以9,那么19乘以1234呢?没有人教你乘法历程——没有人教你对数据构造的设计。由于初学者在学习数据构造时是与算法相对的,会被了解为一个静态的构造。然而数据构造不是一个静态构造,不是像房型建筑就是那个样子。数据构造就蕴含了算法,咱们应当将数据构造合成为集合与算法——数据构造的实质不是构造,而是集合与算法,这看起来很像面向对象中的对象——状况与方式。但它们之间还是有肯定的区别。
 
  为什么说数据构造的实质是集合与算法?回到麻将游戏上,不能用其它数据构造,不如咱们设计一个麻将构造——麻将自身是一个集合,这个集合分为两大类。1)桌面上的麻将,2)人手上拿的13张麻将。
  1)桌面上的麻将——它的最大值是恒定的,只能被随机delete不能被add,为空后游戏结束。(这就是3个算法)
  2)人们手上的麻将——它的值始终是恒定的,随机add,选定delete,每delete一次,同时被从桌面麻将上add一个进来。(这是4个算法)
你说这是什么数据构造?第2个看起来有点像哈希表,由于要选定delete,要有索引,有索引就用哈希?No,这不是任何数据构造,这只是集合,以及对集合的操作。不是栈也不是树,不要让数据构造将你的思想限定住了。
 
  不应当将现实世界直接转化为计算机语言,而应当先抽象为数学语言(或许说数学语言的需求剖析),而后进行技术选型,再转化为计算机语言——函数式也好,面向对象也好,动态语言也好,都是浮云。(朵朵云棋牌游戏开发公司承接房卡棋牌、捕鱼游戏、特色棋牌APP开发,咨询请直接联系右侧客服即可!)