基于js和html的骰子游戏

这篇具有很好参考价值的文章主要介绍了基于js和html的骰子游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍:

  • 1.游戏者选择“大”时,三个骰子点数之和为11-18时,游戏者获胜。
  • 2.游戏者选择“小”时,三个骰子点数之和为3-10时,游戏者获胜。
  • 3.如果游戏者选择具体点数,则根据三个骰子的点数计算,如果与游戏者下注的点数相同,则游戏者获胜。
  • 4.玩家可以设置总数量,每次开始游戏,如果玩家胜利,总数量增加当前数量*倍率,反正减少。

html代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>骰子游戏</title>
    <link rel="stylesheet" href="style.css">
    <!-- 确保您已经下载了layui并正确地链接了CSS文件 -->
   <link rel="stylesheet" href="../../layui/css/layui.css" media="all">
   <style>
	   .rules {
	       list-style-type: none;
	       padding: 0;
	   }
	   
	   .rules li {
	       margin-bottom: 10px;
	       font-size: 16px;
	       color: #333;
	   }
	   .game-rules {
/* 	       margin-top: 20px; */
	       background-color: #f2f2f2;
	       padding: 2%;
	       border-radius: 4%;
		   text-align: left;
		   margin: 1% auto;
	   }
	   .game-center {
	   	   text-align: center;
		   margin: 2% auto;
	   }
   </style>
</head>
<body style="min:auto">
    <div class="game-container layui-container">
        <h1 class="game-center">骰子游戏</h1>
		<!-- 游戏规则区域 -->
		<div>
			<ul class="game-rules">
				<li>1.游戏者选择“大”时,三个骰子点数之和为11-18时,游戏者获胜。</li>
				<li>2.游戏者选择“小”时,三个骰子点数之和为3-10时,游戏者获胜。</li>
				<li>3.如果游戏者选择具体点数,则根据三个骰子的点数计算,如果与游戏者下注的点数相同,则游戏者获胜。</li>
				<li>4.玩家可以设置总数量,每次开始游戏,如果玩家胜利,总数量增加当前数量*倍率,反正减少</li>
<!-- 				<li>4.如果三个骰子点数相同,则为庄家胜利。</li> -->
			</ul>
		</div>
		<!-- 赌注区域 -->
		<div  style="margin: 2% 30%;">
			<p style="margin-top: 2%;">&nbsp&nbsp&nbsp&nbsp总数量:<input type="number" id="wallet-amount" placeholder="总数量"></p>
			<p style="margin-top: 2%;">当前数量:<input type="number" id="bet-amount" placeholder="当前数量"></p>
			<p style="margin-top: 2%;">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp倍率:<input type="number" id="multiplier" placeholder="请输入倍数" value="1"></p>
		</div>
		<!-- 游戏操作区 -->
		<div class="game-operations" style="margin: 2% 25%;">
		    <button class="layui-btn layui-btn-primary layui-border-orange" id="btn-big">大</button>
		    <button class="layui-btn layui-btn-primary layui-border-black" id="btn-small">小</button>
		    <input 	class="layui-btn layui-btn-primary " type="number" placeholder="输入数字" min="3" max="18" id="input-number" title="请输入数字" />
		    <button class="layui-btn layui-btn-primary layui-border-green" id="btn-guess">猜数字</button>
		</div>
        <!-- 结果显示区 -->
        <div id="result" class="game-result"  style="margin: 2% 25%;"></div>
    </div>
    <!-- 确保您已经下载了layui.js 并正确链接 -->
<!--    <script src="path-to-your-layui.js"></script> -->
</body>
<script src="../gamejs/size.js"></script>
</html>	

js代码(size.js)

document.getElementById('btn-big').addEventListener('click', function() {
    playGame('big');
});

document.getElementById('btn-small').addEventListener('click', function() {
    playGame('small');
});

document.getElementById('btn-guess').addEventListener('click', function() {
    const guessNumber = parseInt(document.getElementById('input-number').value, 10);
    if(guessNumber && guessNumber >= 3 && guessNumber <= 18) {
        playGame(guessNumber);
    } else {
        alert('请输入一个有效的数字(3-18之间)!');
    }
});

function playGame(choice) {
    const walletAmount = parseFloat(document.getElementById('wallet-amount').value);
    const betAmount = parseFloat(document.getElementById('bet-amount').value);
    const multiplier = parseFloat(document.getElementById('multiplier').value);
  
    if (isNaN(walletAmount) || isNaN(betAmount) || isNaN(multiplier)) {
        alert('请输入有效的数值!');
        return;
    }
  
    if (walletAmount <= 0) {
        alert('钱包金额不能小于等于零!');
        return;
    }

    const diceResults = rollDice();
    const total = diceResults.reduce((a, b) => a + b);

    let result;
    let newWalletAmount;

    if (typeof choice === 'string') {
        if (choice === 'big' && total >= 11 && total <= 18) {
            result = '恭喜你,你赢了!';
		    resultColor = 'red';
			resultWeight = 'bold';
            newWalletAmount = walletAmount + (betAmount * multiplier);
        } else if (choice === 'small' && total >= 3 && total <= 10) {
            result = '恭喜你,你赢了!';
			resultColor = 'red';
			resultWeight = 'bold';
            newWalletAmount = walletAmount + (betAmount * multiplier);
        }  else {
            result = '很遗憾,你输了';
			resultColor = 'black';
			resultWeight = 'bold';
            newWalletAmount = walletAmount - (betAmount * multiplier);
        }
    } else {
        if (total === choice) {
            result = '恭喜你,你赢了!';
			resultColor = 'red';
			resultWeight = 'bold';
            newWalletAmount = walletAmount + (betAmount * multiplier);
        } else {
            result = '很遗憾,你输了';
			resultColor = 'black';
			resultWeight = 'bold';
            newWalletAmount = walletAmount - (betAmount * multiplier);
        }
    }


    if (newWalletAmount < 0) {
        // alert('很遗憾,你的钱包金额不足!');
        // return;
    }

    const resultElement = document.getElementById('result');
	//字体颜色
	resultElement.style.color = resultColor;
	resultElement.style.fontWeight = resultWeight;
    resultElement.innerText = `骰子点数: ${diceResults.join(', ')} 总数: ${total}. ${result}`;
  
    document.getElementById('wallet-amount').value = newWalletAmount.toFixed(2);
}

function displayDiceResults(results, element, index, total) {
    if (index < results.length) {
        setTimeout(() => {
            if (index === results.length - 1) {
                element.innerText += `${results[index]} `;
                element.innerText += `总数: ${total}. `;
            } else {
                element.innerText += `${results[index]}, `;
            }
            
            displayDiceResults(results, element, index + 1, total);
        }, 500);
    }
}

// 其他部分保持不变

function rollDice() {
    return [1, 2, 3].map(() => Math.floor(Math.random() * 6) + 1);
}

基于js和html的骰子游戏,游戏,javascript,html5

基于js和html的骰子游戏,游戏,javascript,html5

基于js和html的骰子游戏,游戏,javascript,html5文章来源地址https://www.toymoban.com/news/detail-765103.html

到了这里,关于基于js和html的骰子游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【前端客栈】基于HTML、CSS、JavaScript的羊了个羊静态仿写页面小游戏

    🏜哈喽,大家好,我是小浪。前段时间羊了个羊火遍了大江南北,大家是否都通过第二关了呢?哈哈,没关系,既然通不过,那咋们不如自己来做一个这样的羊了个羊的仿写页面,学会了赶紧拿去在同学面前展示展示;OK,接下来,我们开始仿写这种游戏规则模式,写一个我

    2024年02月04日
    浏览(41)
  • HTML小游戏18 —— html5版街头霸王游戏(附完整源码)

    💂 网站推荐:【神级源码资源网】【摸鱼小游戏】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 💬 免费且实用的计算机相关知识题库:👉进来逛逛 本节教程我会带大家使用 HTML 、

    2024年01月17日
    浏览(42)
  • HTML5 游戏开发实战 | 贪吃蛇

    在该游戏中,玩家操纵一条贪吃的蛇在长方形场地里行走,贪吃蛇按玩家所按的方向键折行,蛇头吃到食物(豆)后,分数加10分,蛇身会变长,如果贪吃蛇碰上墙壁或者自身的话,游戏就结束了(当然也可能是减去一条生命)。 贪吃蛇游戏的运行界面如上图所示。 把游戏画面看

    2024年02月11日
    浏览(38)
  • HTML小游戏25 —— HTML5拉杆子过关小游戏(附完整源码)

    本节教程我会带大家使用 HTML 、CSS和 JS 来制作一个HTML5拉杆子过关小游戏 🕹️ 本文已收录于🎖️100个HTML小游戏专栏: 100个H5游戏专栏 https://blog.csdn.net/qq_53544522/category_12064846.html 🎮 目前已有100+小游戏,源码在持续更新中,前100位订阅限时优惠,先到先得。 🐬 订阅专栏后

    2024年02月05日
    浏览(42)
  • 基于【ESLint+JavaScript Standard Style】标准的VUE/JS/html风格指南

    本规范是适用于小仙男团队及前端团队所搭建的各种前端框架代码的通用风格规范指南; 使用时,请遵循指南细则进行代码风格约束,并在提交之前确保进行代码风格的修正操作; 本规范参考WEB行业知名的JavaScript Standard Style 规范指南。并将在后续使用过程中,逐步进行符合

    2023年04月13日
    浏览(34)
  • Html5版音乐游戏制作及分享(H5音乐游戏)

    这里实现了Html5版的音乐游戏的核心玩法。 游戏的制作借鉴了,很多经典的音乐游戏玩法,通过简单的代码将音乐的节奏与操作相结合。 可以通过手机进行游戏,准确点击下落时的目标,进行得分。 点击试玩 游戏内的下落数据是通过手打记录的,可能有些偏差哈。 1、Html中

    2023年04月17日
    浏览(28)
  • 用HTML5制作精美战机游戏

    不如看看本文,代码齐全,直接用来做参考案例 👌🏻   干货满满不看后悔 👍👍👍 代码和图片压缩包完整下载链接---战机游戏下载 📝个人主页→数据挖掘博主ZTLJQ的主页 ​ 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开

    2024年02月09日
    浏览(30)
  • HTML5 实现扑克翻牌游戏

     扑克翻牌游戏就是桌面24张牌,玩家翻到两张相同扑克牌则消去,如果时间2分钟到了,仍然没有成功则游戏失败。扑克翻牌游戏运行结果如图1。   Html5倒计时功能可以使用setTimeout()函数或者setInterval()函数来实现。 1.使用setTimeout实现倒计时功能 setTimeout()会在一个指定的延

    2024年02月13日
    浏览(27)
  • HTML5 游戏开发实战 | 黑白棋

     黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋、翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。黑白棋的棋盘是一个有8×8方格的棋盘。开始时在棋盘正中有两白两黑四个棋子交叉放置,黑棋总是先下子。

    2024年02月12日
    浏览(24)
  • HTML小游戏19 —— html5版开心斗地主小游戏(附完整源码)

    💂 网站推荐:【神级源码资源网】【摸鱼小游戏】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 本节教程我会带大家使用 HTML 、CSS和 JS 来制作一个 html5版开心斗地主小游戏 🕹️ 本文

    2024年02月03日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包