iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么通过JavaScript实现扑克牌游戏
  • 753
分享到

怎么通过JavaScript实现扑克牌游戏

2023-07-02 17:07:03 753人浏览 薄情痞子
摘要

本篇内容介绍了“怎么通过javascript实现扑克牌游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,我们知道一副牌里有54张牌,然

本篇内容介绍了“怎么通过javascript实现扑克牌游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先,我们知道一副牌里有54张牌,然后牌里的数字是从 3 - 2 的里面总共有13张牌,然后 4 中花色 分别是 ♠️ ♥️ ♣️ ♦️ 另外加上2个大小王!第一步:我们肯定需要有一个数组来装牌吧? 然后再书写一个函数,我们知道有多少张牌,然后牌里有多少花色是不是应该用一个双重循环将 number 里面的内容 和 flower 里面的内容 进行一个循环嵌入?最后在用 push 生成一个对象放到数组的后面?再到最后放入 大小王 。

const number = ['3', '4', '5', '6', '7', '8', '9', '10', "J", "Q", "K", "A", '2'];const flower = ["♠️", "♥️", "♣️", "♦️"]; // 黑桃 < 红心 < 梅花 < 方块

语法:

//系统牌const number = ['3', '4', '5', '6', '7', '8', '9', '10', "J", "Q", "K", "A", '2'];const flower = ["♠️", "♥️", "♣️", "♦️"]; // 黑桃 < 红心 < 梅花 < 方块//牌组let arr = [];//生成牌的函数poker();//生成一副牌function poker() {    for (let n = 0; n < number.length; n++) {        for (let j = 0; j < flower.length; j++) {            arr.push({ name: flower[j] + number[n]})        }    }    arr.push({ name: "小王" }, { name: "大王" })}

输出效果图:

当我们已经拿到牌数组了,像平时我们打牌是不是都是随机发放手里的牌的?那我们在进行一个打乱。这时候我们需要用到一个随机生成的函数和一个去重生成下标的数组

语法:

怎么通过JavaScript实现扑克牌游戏

//系统牌const number = ['3', '4', '5', '6', '7', '8', '9', '10', "J", "Q", "K", "A", '2'];const flower = ["♠️", "♥️", "♣️", "♦️"]; // 黑桃 < 红心 < 梅花 < 方块//牌组let arr = [];//生成牌的函数poker();//打乱后的拆开后的牌组let [zhangsan, wangwu, lisi, d] = create();//打印输出console.log(zhangsan);console.log(wangwu);console.log(lisi);console.log(d);//生成一副牌function poker() {    for (let n = 0; n < number.length; n++) {        for (let j = 0; j < flower.length; j++) {            arr.push({ name: flower[j] + number[n]})        }    }    arr.push({ name: "小王" }, { name: "大王" })}//生成一个随机数function random(min, max) {    if (max == undefined) {        max = min;        min = 0;    }    if (min > max) {        [min, max] = [max, min];    }    let number = parseInt(Math.random() * (max - min + 1) + min)    return number;}//打乱function create() {    let a = new Set();    while (a.size < 54) {        a.add(random(0, 53));    }    let arrindex = [...a];    arr = arrindex.map(item => arr[item]);    let zhangsan = arr.slice(0, 17);    let wangwu = arr.slice(17, 34);    let lisi = arr.slice(34, 51);    let d = arr.slice(51);    return [zhangsan, wangwu, lisi, d];}

详解:当我们知道需要发牌的时候是随机生成的字牌,然后我们已经知道有54张牌,然后需要不重复的下标需要用到 Set 来晒重,数组的长度是 54 但是下标是 53 所以在生成随机数的时候需要主要辨别。然后需要用到 map map的用意:通过指定函数处理数组(遍历数组)的每个元素,并操作数组的元素或者下标,并返回处理后的数组。 当我们已经得到下标了是不是需要将 arr 里面的元素进行找到,然后并将进行返回出来,然后再使用 slice slice的用意:用于把数组中的字符串元素转换成数字数组,元素是通过指定的分隔符进行分隔的。进行一个返回接收 我们知道 zhangsan、wangwu、lisi 是有 17 张牌的 而底牌只有三张可以得到手牌。并将函数里面的内容返回出去进行一个接收输出。

输出效果图:

怎么通过JavaScript实现扑克牌游戏

在到最后我们需要一个排序。当 3 和 3 比肯定是没有办法比的是不是?我们在最开始拿到牌组的内容的时候就定义了 黑桃 < 红心 < 梅花 < 方块 这时候我们需要对 牌的 内容 和 数字 进行一个大小对对象的添加。然后再书写一个函数进行一个排序。排序需要用到 sort sort的用意:对数组的元素进行排序,不是真实按照数字排列去排序的,按照字符进行一个比较。当需要比较数字需要重写。例如sort((a,b)=> a-b)升序 sort((a,b)=> b-a) 降序! 在生成牌组里面需要添加 花色的大小 和 数字 的大小 ,最后进行一些列的优化代码如下:

语法:

const number = ['3', '4', '5', '6', '7', '8', '9', '10', "J", "Q", "K", "A", '2'];const flower = ["♠️", "♥️", "♣️", "♦️"]; // 黑桃 < 红心 < 梅花 < 方块let arr = [];poker();let [zhangsan, wangwu, lisi, d] = create();sort(zhangsan);sort(wangwu);sort(lisi);sort(d);console.log("张三:",zhangsan);console.log("王五:",wangwu);console.log("王五:",lisi);console.log("底牌:",d);//排序function sort(arr) {    arr.sort((a,b)=>{if (a.number == b.number) {        return a.flower - b.flower;    }else{        return a.number - b.number;    }})    }//生成一个随机数function random(min, max) {    if (max == undefined) {        max = min;        min = 0;    }    if (min > max) {        [min, max] = [max, min];    }    let number = parseInt(Math.random() * (max - min + 1) + min)    return number;}//打乱function create() {    let a = new Set();    while (a.size < 54) {        a.add(random(0, 53));    }    let arrindex = [...a];    arr = arrindex.map(item => arr[item]);    let zhangsan = arr.slice(0, 17);    let wangwu = arr.slice(17, 34);    let lisi = arr.slice(34, 51);    let d = arr.slice(51);    return [zhangsan, wangwu, lisi, d];}//生成一副牌function poker() {    for (let n = 0; n < number.length; n++) {        for (let j = 0; j < flower.length; j++) {            arr.push({ name: flower[j] + number[n],flower:j,number:n})        }    }    arr.push({ name: "小王" ,number:53}, { name: "大王" ,number:54})}

“怎么通过JavaScript实现扑克牌游戏”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么通过JavaScript实现扑克牌游戏

本文链接: https://www.lsjlt.com/news/343430.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么通过JavaScript实现扑克牌游戏
    本篇内容介绍了“怎么通过JavaScript实现扑克牌游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,我们知道一副牌里有54张牌,然...
    99+
    2023-07-02
  • 通过JavaScript实现扑克牌游戏的示例代码
    首先,我们知道一副牌里有54张牌,然后牌里的数字是从 3 - 2 的里面总共有13张牌,然后 4 中花色 分别是 ♠️ ♥️ ♣️ &diam...
    99+
    2024-04-02
  • Python如何实现扑克牌21点游戏
    这篇文章主要介绍Python如何实现扑克牌21点游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!直接上代码import randomimport sys# 牌面列表card_code&...
    99+
    2023-06-22
  • C语言如何实现扑克牌游戏
    这篇文章主要介绍C语言如何实现扑克牌游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、 设计目的扑克牌是我们从小玩到大的纸牌类小游戏,我们有各种玩法跟不同的规则。我之所以选择的这个扑克牌,是因为我觉得可以提高我的...
    99+
    2023-06-22
  • Java实现扑克牌游戏的示例代码
    目录一、三人扑克二、具体实现Card类生成52张牌打乱顺序发牌三、完整代码一、三人扑克 想不想带上好朋友来上一局三人扑克呢。 二、具体实现 Card类 定义一个花色color变量和...
    99+
    2024-04-02
  • Java实现简易扑克牌游戏的完整实例
    功能描述 1、创建扑克牌。包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王。 2、创建两个玩家。包括玩家id、姓名、手牌等集合,手牌为扑克牌的...
    99+
    2024-04-02
  • Python扑克牌21点游戏实例代码
    废话还是说太多了 直接上代码 import random import sys # 牌面列表 card_code = ['A', '2', '3', '4', '5', '6'...
    99+
    2024-04-02
  • Java实现简易扑克牌游戏的完整步骤
    本篇内容主要讲解“Java实现简易扑克牌游戏的完整步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java实现简易扑克牌游戏的完整步骤”吧!Java的特点有哪些Java的特点有哪些1.Java...
    99+
    2023-06-14
  • 怎么利用Python编写简易版德州扑克小游戏
    小编给大家分享一下怎么利用Python编写简易版德州扑克小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!德州扑克简要介绍什么是德州扑克德州扑克不知道大家是否玩过,它是起源于美国的得克萨斯州的一种博弈类卡牌游戏,英文名叫...
    99+
    2023-06-29
  • 怎么用Vue3+Canvas实现坦克大战游戏
    这篇文章主要介绍了怎么用Vue3+Canvas实现坦克大战游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Vue3+Canvas实现坦克大战游戏文章都会有所收获,下面我们一起来看看吧。架构搭建项目技术选...
    99+
    2023-06-29
  • C语言怎么通过递归实现扫雷游戏
    这篇“C语言怎么通过递归实现扫雷游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言怎么通过递归实现扫雷游戏”文章吧。用...
    99+
    2023-06-30
  • 怎么用C语言实现游戏坦克大战
    本篇内容主要讲解“怎么用C语言实现游戏坦克大战”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现游戏坦克大战”吧!首先就是我们载入图片的函数tupian.cpp# incl...
    99+
    2023-06-25
  • 怎么用JAVA实现经典游戏坦克大战
    这篇文章主要介绍“怎么用JAVA实现经典游戏坦克大战”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用JAVA实现经典游戏坦克大战”文章能帮助大家解决问题。主要设计要有难度关卡:第一关,第二关,第...
    99+
    2023-06-29
  • 如何通过Python实现猜灯谜游戏
    这篇文章主要为大家展示了“如何通过Python实现猜灯谜游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何通过Python实现猜灯谜游戏”这篇文章吧。猜灯谜界面来看一下猜灯谜的小程序是怎么玩...
    99+
    2023-06-29
  • javascript猜数字游戏怎么实现
    以下是一个简单的JavaScript猜数字游戏的实现:1. 首先,我们需要生成一个随机数作为答案。可以使用Math.random()...
    99+
    2023-05-13
    javascript猜数字 javascript
  • JavaScript通过极大极小值算法实现AI井字棋游戏
    话不多说直接上运行截图: 黑棋是玩家的位置,红色方是电脑。电脑会根据当前棋盘的情况选择一个对自己有利却对玩家不利的情况。 算法可以实现电脑胜利,或者电脑和玩家平局。 代码如下: ...
    99+
    2024-04-02
  • JavaScript怎样实现打字游戏
    这篇文章主要介绍了JavaScript怎样实现打字游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图:需求分析:在char这个div里面显示要输入的字母,大写2、在re...
    99+
    2023-06-06
  • JavaScript怎么实现气球打字游戏
    这篇文章主要介绍“JavaScript怎么实现气球打字游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现气球打字游戏”文章能帮助大家解决问题。一、实现效果1、定义球的类气...
    99+
    2023-06-29
  • 怎样用C语言实现纸牌游戏
    今天就跟大家聊聊有关怎样用C语言实现纸牌游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 基本要求一副没有花牌(J、Q、K、A、大小王)的扑克牌,两个人进行纸牌游戏,其中一个人...
    99+
    2023-06-22
  • C语言怎么通过二分查找实现猜数字游戏
    本文小编为大家详细介绍“C语言怎么通过二分查找实现猜数字游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么通过二分查找实现猜数字游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。二分查找题目: 在一个...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作