Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions 09week/towers-of-hanoi/index.html
Original file line number Diff line number Diff line change
@@ -1,23 +1,31 @@
<!DOCTYPE html>
<html>

<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Towers of Hanoi</title>
<link rel="stylesheet" href="style.css" />
</head>

<body>
<div data-stack="1">
<div data-block="100"></div>
<div data-block="75"></div>
<div data-block="50"></div>
<div data-block="25"></div>
<h1>Towers of Hanoi</h1>
<div id="dropArea" data-stack="1">
<div class='draggable' data-block="100"></div>
<div class='draggable' data-block="75"></div>
<div class='draggable' data-block="50"></div>
<div class='draggable' data-block="25"></div>
</div>
<div data-stack="2">
<div id="dropArea2" data-stack="2">
</div>
<div data-stack="3">
<div id="dropArea3" data-stack="3">
</div>

<!-- <button id="clear">Clear Board</button> -->
<input type="button" name="reset_form" value="Reset Form" onclick="clearForm(this.form);"></form>
<div id="announce-game-won"></div>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<script type="text/javascript" src="script.js"></script>
</body>

</html>
20 changes: 19 additions & 1 deletion 09week/towers-of-hanoi/script.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
'use strict';

$(document).ready(function() {
// Put app logic here
$('.draggable').draggable({
revert: "invalid"
});

$('#dropArea, #dropArea2, #dropArea3').droppable({
drop: function(event, ui) {
let drag = $(ui.draggable).data('block');
console.log(`current block ${drag}`);
let last = $(this).children().last().data('block');
console.log(`last ${last}`);
if ((drag) > (last)) {
$(ui.draggable).draggable('option', 'revert', true);
} else {
$(ui.draggable).appendTo($(this)).attr('style', 'position: relative');
}
}
});
});