首页 > js教程 > 正文

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

转载 2019-02-11 0 1

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-DSR狙击枪为战略而生
  • JS-DSR觉醒即将返场!全新福利助阵英雄直升1觉!
  • 会JS,能有多了不起?
  • 原生 JS + Canvas 实现五子棋游戏
  • 【JS 97分 百大第9名 高端名品】秒杀众多勃艮第特级园!大神、黑皮诺教父巅峰之作,帕克团队最力挺的黑皮诺之一
  • 腾讯这道JS笔试题太烧脑了,很多前端程序猿都认怂了,邀你来战
  • JS易班学生工作站纳新篇 | 只闻你来心欢喜,我在易班等着你
  • 英国世创6811 中式劲速(Chinese Pool JS)台呢又添一新神器 ——防水防潮功能
  • 作者信息