首页 > js教程 > 正文

js游戏开发,扑克牌游戏开发,听我说,一看就会

转载 2019-02-11 0 3

javascript是一门非常优秀的语言,横行网页前端特效已经分多年了,至今没有发现可以取代的语言。可能大家会觉得,开发游戏,对于服务于前端特效开发的javascript而言,非常困难。我们看一个例子,用JavaScript开发扑克牌游戏。

js游戏开发,扑克牌游戏开发,听我说,一看就会

扑克牌模型

要做这样一款游戏,首先我们要确定好要开发的功能,以及要满足的需求了。要求如下:

1、首先创建一副52张牌的牌组,实现在页面上以图形展示出纸牌

2、实现纸牌的洗牌功能

3、实现发牌功能, 玩家拿到一张牌按从小到大的顺序将牌插入到所应该在的位置

创建数组,都能理解,就是把52张牌用一个数组存起来即可。这里面的关键功能就是洗牌和发牌过程中用到的排序算法。可以说这个算法是整个游戏的核心。其他都是机械式的按逻辑建立函数,添加功能即可。

js游戏开发,扑克牌游戏开发,听我说,一看就会

核心算法

这个是核心的排序算法

这个算法我解释下,上述函数arr是玩家的原本数组,obj的是新插入的棋牌。最后函数返回的是这个扑克牌应该在的位置。有3种情况如下:

1、如果玩家原本的数组为0,那么新插入的扑克牌必定排在第一个位置。

2、如果玩家原本数组有一个(就是一张牌),那么用这张牌的数值和插入排的数值比较。若插入的数值比原来的大,那么插入的新扑克牌就要排在第二个位置。

3、如果原来的玩家有多张排组成的数组。那就用新插入的扑克牌数值和原来的每一张扑克牌的数值进行比较,通过一个循环来完成。比原来的某一个数值小就排在这个数值的位置,原来的扑克牌随机后移一位。最后得到的i的值就是,新插入的每张牌的位置。

好啦,核心的东西讲明白了,我们开始写代码了,大家跟着思路来,很简单的哦。

第一、准备几个数组:

1、存放扑克牌总数的数组。

2、需要4个人一起玩,那每个人都要一个数组。

var compeleteCards = new Array();

var player1 = new Array();

var player2 = new Array();

var player3 = new Array();

var player4 = new Array();

第二,需要几个实现功能的函数:

function CreatCompeleteCard() {}:创建一副扑克牌

function SortCards() {}:对扑克牌进行洗牌

function Show() {}:展示扑克牌

function DealCards () {}:发牌

function GetCards(CardObj) {}:玩家接受扑克牌CardObj插入自身的数组

function InCardsIndex(arr, obj) {}:考虑下插入的位置,arr参数是当前玩家的数组,obj是插入的扑克牌,函数返回这张扑克牌应该所处的位置。

源代码:这里不好上传压缩包,放链接,会当作广告处理不给审核。所以需要源代码的,留言即可。我想看完我的解释,应该也不需要原地爱吗自己就能写了。

相关文章


  • JS小红君 | 以毫升之爱,汇生命之河
  • 祝贺国际JS舞蹈连锁机构加入中国钢管舞协会
  • JS锦山镇聚合氯化铝溶解时的扩散机理
  • Python 人气王,JS 比 Java 更受公司青睐
  • JS 从入门到抢月饼:一行代码可以做什么?
  • js 进一法、四舍五入法、舍去法 保留两位小数
  • JS中你所不知道的的Generator函数(下)
  • 《我的世界手机版》工业JS,工业时代mod下载