java overflow 汉诺塔_用JS和CSS实现的汉诺塔游戏
JavaScript
语言:
JaveScriptBabelCoffeeScript
确定
// Alert box using SweetAlert2 - https://limonte.github.io/sweetalert2
$(document).ready(function() {
// Variables
var holding = [],
moves,
disksNum = 7,
$canves = $('#canves'),
$restart = $canves.find('.restart'),
$tower = $canves.find('.tower'),
$scorePanel = $canves.find('#score-panel'),
$movesCount = $scorePanel.find('#moves-num'),
$ratingStars = $scorePanel.find('i');
// Init Game
function initGame(tower) {
$tower.html('');
moves = 0;
$movesCount.html(0);
holding = [];
for (var i = 1; i <= disksNum; i++) {
tower.prepend($('
'));
}
$ratingStars.each(function() {
$(this).removeClass('fa-star-o').addClass('fa-star');
});
}
initGame($tower.eq(0));
// Game Logic
function countMove() {
moves++;
$movesCount.html(moves);
if (moves > 126) {
if ($tower.eq(1).children().length === disksNum || $tower.eq(2).children().length === disksNum) {
swal({
allowEscapeKey: false,
allowOutsideClick: false,
title: 'Congratulations! You Won!',
text: "Boom Shaka Lak",
type: 'success',
confirmButtonColor: '#8bc34a',
confirmButtonText: 'Play again!'
}).then(function(isConfirm) {
if (isConfirm) {
initGame($tower.eq(0));
}
})
}
}
if (moves > 127) {
$ratingStars.eq(2).removeClass('fa-star').addClass('fa-star-o')
}
if (moves > 255) {
$ratingStars.eq(1).removeClass('fa-star').addClass('fa-star-o')
}
if (moves > 256) {
$ratingStars.eq(0).removeClass('fa-star').addClass('fa-star-o')
}
}
function tower(tower) {
var $disks = tower.children(),
$topDisk = tower.find(':last-child'),
topDiskValue = $topDisk.data('value'),
$holdingDisk = $canves.find('.hold');
if ($holdingDisk.length !== 0) {
if (topDiskValue === holding[0]) {
$holdingDisk.removeClass('hold');
} else if (topDiskValue === undefined || topDiskValue > holding[0]) {
$holdingDisk.remove();
tower.append($('
'));
countMove();
}
} else if ($topDisk.length !== 0) {
$topDisk.addClass('hold');
holding[0] = topDiskValue;
}
}
// Event Handlers
$canves.on('click', '.tower', function() {
var $this = $(this);
tower($this);
});
$restart.on('click', function() {
swal({
title: 'Are you sure?',
text: "Your progress will be Lost!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#8bc34a',
cancelButtonColor: '#e91e63',
confirmButtonText: 'Yes, Restart Game!'
}).then(function(isConfirm) {
if (isConfirm) {
initGame($tower.eq(0));
}
})
});
});
java overflow 汉诺塔_用JS和CSS实现的汉诺塔游戏相关推荐
- java 9宫格抽奖_前端js实现九宫格模式抽奖(多宫格抽奖)
介绍: 前端九宫格是一种常见的抽奖方式,js实现如下,掌握其原理,不论多少宫格,都可以轻松应对.(代码可复制直接运行看效果). 该案例以四宫格入门,可扩展多宫格,奖品模块的布局可自由设置. 四宫格抽奖 ...
- Java接受blob类型图片_原生JS上传图片接收服务器端图片并且显示图片(主要描述blob类型)...
1.了解后端处理图像的方式 一:图片以独立文件的形式存储在服务器的指定文件夹中,再将路径存入数据库字段中 二:将图片转换成blob,直接存储到数据库的 Image 类型字段中(这种方式负担很大不建议使 ...
- java 打印 排序 数字塔_求助,用循环方法输出以下数字塔
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.bift; import java.io.*; //杨辉三角 public class Test { public static ...
- java 9宫格抽奖_原生JS实现九宫格抽奖
本文实例为大家分享了JS实现九宫格抽奖的具体代码,供大家参考,具体内容如下 上代码: 谢谢惠顾 十万元现金 谢谢惠顾 iphone11 抽奖 美的冰箱 谢谢惠顾 50元红包 谢谢惠顾 CSS样式代码: ...
- java利用监听器制作红绿灯_利用js实现简易红绿灯
HTML代码: 在一个div容器内,设置3个span CSS代码: .red_light { width: 200px; height: 200px; border-radius: 50%; marg ...
- [JS 分析] 汽_车_之_家 JS 生成 CSS 伪元素 hs_kw44_configUS::before
0.参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements https://developer.mozilla.org/ ...
- java代码鸟飞_180行原生js代码实现简易版飞行的小鸟游戏
/**原理简单,(简单碰撞判断,定时器运用)复制代码直接运行即可,如果没有声音文件,则去除几处调用游戏声效的代码即可**/ *{ margin: 0; padding: 0; list-style: ...
- java永远的冒险岛珍藏版_求些像冒险岛那样的横版单机游戏
方法如下: 第一步:卸载Java虚拟机组件 以卸载Windows XP中已安装的MSJVM虚拟机为例.点击"开始→运行",在运行对话框中输入"RunDll32 advpa ...
- 怎么用java做全民飞机大战_基于VC++和OpenCV实现的全民飞机大战游戏
摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...
最新文章
- 彻底解决SQL SERVER 2008无法远程连接的问题
- 【Java Web开发指南】Spring一些基础问题整理
- python读什么英文-django的英文读法是什么
- linux 安装sysstat使用iostat、mpstat、sar、sa
- 自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)
- Java并发编程 - 显示锁Lock和ReentrantLock
- 涂抹果酱_如何玩果酱
- 云原生 CI/CD 框架 Tekton 初体验
- ARMv8体系结构基础04:算术和移位指令
- [转]netstat 输出内容详解,TCP链接握手对应state
- layer弹出相册层
- matlab 符号函数 syms
- Linux开发板无法连接ssh
- excel转置怎么操作_直接理解转置卷积(Transposed convolution)的各种情况 - 颀周
- 惠普计算机图标不在桌面,惠普笔记本电脑桌面图标显示图标不正常如何还原 惠普笔记本电脑桌面图标显示图标不正常还原的方法...
- 日本房产泡沫的崩塌,虽然很长,希望80后仔细阅读
- SEO优化技巧:如何提升流量,提高网站点击率
- 用四阶RungeKutta方程解二阶常微分方程,并计算船舶在规则波中的横摇角(附Matlab代码)
- VC API常用函数简单例子大全(1-89)
- 构建module遇到pom报错Parent 'Unkown:Unkown:Unkown' has problems
热门文章
- 技术主管和项目经理一定要读的 6本书!
- 益和VA助力指纹认证仪构建异地考勤方案
- 挑战(二)的一些补充
- c语言x的n次方怎么写_写这么sao的代码,不怕被揍么?
- 轻量版 markdown博客_最新Mac文本处理软件中文激活版|mac|文本文件|管理器|剪贴板...
- 从运维角度看中大型网站架构的演变之路
- 写给一个外汇女交易员的信(连载四)
- python怎么提交作业_coursera怎么提交编程作业
- 调节pycharm字体大_钢管钢板大字符喷码机手持式@钢管钢板大字符喷码机手持式最大字符...
- 数字PI调节器_位置式/增量式_区别原理