简介:
玩家点击某个押注物品则在该物品上下注。点击开始则游戏开始,如果没有下注则不能开始游戏。
游戏中的物品有八中,分别为:苹果、西瓜、柠檬、橙子、铃铛、77、双星、BAR。
在放行游戏区左右方为押注区,每种物品下方有加减号按钮,每次点
击加号增加一个筹码注金,反之减号就减少一个筹码注金
开始: 开始键
奖励:GOOD LUCK
由于这个时低配版的,我就没有按照原版的写进去,就是中了GOOD LUCK直接获得15分。
出于好耍,本人想起了小时候玩过的水果机,js也学了一会儿了,就想用它写一个简单的水果机玩玩,废话不多说,直接上代码,只有js有注释,html和css就没有注释了。
这是样式图
这里是html代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Fruit</title> <link rel="stylesheet" href="Fruit.css" rel="external nofollow" > <script src="/UploadFiles/2021-04-02/Fruit.js">加上一点简单的css布局
* { margin: 0; padding: 0; list-style: none; text-decoration: none; } img { display: block; } #content { width: 1200px; height: 1200px; margin: 0 auto; text-align: center; } .box { width: 1000px; height: 100%; margin: 0 auto; background-color: blue; position: relative; } .top{ width: 600px; height: 100px; display: flex; position: absolute; top: 50px; left: 150px; } .right{ width: 100px; height: 600px; position: absolute; top: 50px; right: 150px; } .bottom{ width: 600px; height: 100px; display: flex; flex-direction: row-reverse; position: absolute; top: 650px; right: 150px; } .left{ width: 100px; height: 600px; display: flex; flex-flow: column-reverse; position: absolute; top: 150px; left: 150px; } .stake>div>div{ width: 100px; height: 150px; font-size: 20px; } .stake>div>div>img{ border: 1px solid black; } .stake>div>div>button{ width: 30px; height: 30px; font-size: 25px; background-color: #fff3fc; border: 1px solid black; } .stake_left{ position: absolute; top: 100px; left: 25px; } .stake_right{ position: absolute; top: 100px; right: 25px; } #move{ display: block; width: 98px; height: 98px; border: 2px solid purple; position: absolute; top: 50px; left: 150px; } #getScore{ display: block; width: 200px; height: 50px; font-size: 35px; position: absolute; top: 200px; left: 290px; } #getScore>p{ display: block; width: 200px; height: 50px; border: 2px solid yellow; } #allScore{ display: block; width: 200px; height: 50px; font-size: 35px; position: absolute; top: 200px; right: 290px; } #allScore>p{ display: block; width: 200px; height: 50px; border: 2px solid yellow; } .begin{ width: 120px; height: 30px; position: absolute; top: 700px; right: 15px; background-color: pink; } #change{ width: 120px; height: 30px; position: absolute; top: 25px; right: 15px; }最后是js部分
window.addEventListener('load', function (ev) { //获取使用元素 var begin = document.querySelector('.begin'); var move = document.querySelector('#move'); var getScore = document.querySelector('#getScore>p'); var allScore = document.querySelector('#allScore>p'); var change = document.querySelector('#change'); var pours = document.querySelectorAll('.stake span'); var add = document.querySelectorAll('.stake .add'); var minus = document.querySelectorAll('.stake .minus'); var timer = null; //定义两个空对象null var time = null; var flag = null; //定义一个flag,以此来判断是否下注 var Score = 0; //Score为当前余额 //开始按钮点击事件 begin.addEventListener('click', function (evt) { //每次点击开始的时候都从第一个开始 move.style.left = 150 + 'px'; move.style.top = 50 + 'px'; clickMove(Score); //调用开始按钮的点击事件函数 }); //开始按钮的点击事件函数 function clickMove(score) { //判断flag的值,for循环判断每一个水果是否有下注,如果都为下注,flag为false; //反之有任意一个水果有下注,flag都为true; for (var i = 0; i < pours.length; i++) { //先判断flag的值,再调用函数判断每个水果是否下注 if (flag) { break; } decide_pour(pours[i]); } //点击开始按钮的条件 if (score === 0) {//先判断是否有余额 alert('您的余额已不足,请充值后再开始!'); } else if (!flag) {//再判断flag的值,flag为false执行当前代码。 alert('您未下注,请下注后再开始!'); } else {//如果上诉都满足了,则可以执行开始按钮 clearInterval(timer); //定时器先清后设。 var randNum = Math.ceil(Math.random() * 200) * 24; //定义一个0-4800的随机整数 var scoreNum = Math.floor(randNum / 20 % 24 + 1); //利用上随机数来获得移动过后得到的水果的索引号 timer = setInterval(function () { //定时器使得可以让move盒子移动起来 var moveLeft = move.offsetLeft; var moveTop = move.offsetTop; if (moveTop === 50 && moveLeft <= 650) { move.style.left = moveLeft + 100 + 'px'; } else if (moveLeft >= 650 && moveTop >= 50 && moveTop <= 550) { move.style.top = moveTop + 100 + 'px'; } else if (moveTop >= 650 && moveLeft <= 750 && moveLeft >= 250) { move.style.left = moveLeft - 100 + 'px'; } else if (moveLeft <= 150 && moveTop <= 750 && moveTop > 50) { move.style.top = moveTop - 100 + 'px'; } }, 20); begin.disabled = true; //move盒子停止移动后才能再次点击开始按钮 for (var i = 0; i < add.length; i++) { //利用for循环使得每个下注按钮和取消下注按钮开始之后就不能被点击 add[i].disabled = true; // move盒子停止移动后才能再次点击下注和取消下注按钮 minus[i].disabled = true; } time = setTimeout(function () { //结束的判断 clearInterval(timer); //当到达指定的随机数时间后,清除定时器timer,move盒子停止运动 setTimeout(function () { switch (scoreNum) { case 5: case 11: case 17: case 23: score = reward(1) * 5; getScore.innerText = score; sum(score); break; case 6: score = reward(1) * 10; getScore.innerText = score; sum(score); break; case 1: case 13: score = reward(2) * 10; getScore.innerText = score; sum(score); break; case 12: score = reward(2) * 20; getScore.innerText = score; sum(score); break; case 7: case 19: score = reward(3) * 10; getScore.innerText = score; sum(score); break; case 18: score = reward(3) * 20; getScore.innerText = score; sum(score); break; case 2: case 14: score = reward(4) * 10; getScore.innerText = score; sum(score); break; case 24: score = reward(4) * 20; getScore.innerText = score; sum(score); break; case 8: score = reward(5) * 20; getScore.innerText = score; sum(score); break; case 9: score = reward(5) * 40; getScore.innerText = score; sum(score); break; case 20: score = reward(6) * 20; getScore.innerText = score; sum(score); break; case 21: score = reward(6) * 40; getScore.innerText = score; sum(score); break; case 16: score = reward(7) * 20; getScore.innerText = score; sum(score); break; case 15: score = reward(7) * 40; getScore.innerText = score; sum(score); break; case 10: case 22: score = 15; sum(score); break; case 3: score = reward(8) * 25; getScore.innerText = score; sum(score); break; case 4: score = reward(8) * 50; getScore.innerText = score; sum(score); break; } //当停止运动后,算出当前获得的分数,并加在当前余额上 for (var i = 0; i < add.length; i++) { //利用for循环对上一次下注的清零,然后下注和取消下注停止禁用 add[i].previousElementSibling.innerText = 0; add[i].disabled = false; minus[i].disabled = false; } begin.disabled = false; //开始按钮停止禁用 score = 0; //获得的分数清零 }, 500); //当move盒子停止运动后,0.5s后执行定时器time里的定时器 flag = false; //当move盒子停止运动后,flag的值重新变为false }, randNum); //利用上面定义的随机数来控制盒子的随机运动 } } //充值按钮,每点击一次,当前余额增加100 change.addEventListener('click', function (evt) { allScore.innerText = Score += 100; //console.log(Score); Score = allScore.innerText - 0; //string强制转换为number }); //下注按钮 for (var i = 0; i < add.length; i++) { decide_minus(); //调用函数判断取消下注是否可以点击,每点击一次下注和取消下注都要判断取消下注按钮是否可以点击 //给每个下注按钮绑定点击事件 add[i].addEventListener('click', function (evt) { //判断有无余额 if (Score <= 0) { alert('您的余额已不足,请充值后再下注'); } else { this.previousElementSibling.innerText++; decide_minus(); Score--; allScore.innerText = Score; } }); minus[i].addEventListener('click', function (evt) { this.nextElementSibling.innerText--; decide_minus(); Score++; allScore.innerText = Score; }); } //判断是否下注函数 function decide_pour(obj) { var nums = obj.innerText - 0; nums !== 0 ? flag = true : flag = false; } //判断是否可以点击取消下注按钮,当未下注时,不能点击取消下注按钮 function decide_minus() { for (var i = 0; i < add.length; i++) { pours[i].innerText - 0 <= 0 ? pours[i].previousElementSibling.disabled = true : pours[i].previousElementSibling.disabled = false } } //返回当前move盒子停在的水果的下注次数 function reward(number) { return pours[number-1].innerText - 0; } //获得的分数加在当前余额上 function sum(score) { allScore.innerText = Score += score; } });
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】