-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
108 lines (105 loc) · 4.96 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>2040-gr8</title>
<link href="style/main.css" rel="stylesheet" type="text/css">
<link href="style/ai.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="favicon.ico">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0, maximum-scale=1, user-scalable=no">
<meta property="og:title" content="2040-gr8" />
<meta property="og:site_name" content="2040-gr8" />
<meta property="og:description" content="2048 with snarky comments, an AI companion, and a chess.com-like post-game analysis" />
<meta property="og:type" content="website" />
<meta property="og:image" content="http://gabrielecirulli.github.io/2048/meta/og_image.png" />
</head>
<body>
<section class="container">
<div class="heading">
<h1 class="title">2040-gr8</h1>
<div class="score-container">0</div>
</div>
<p class="game-intro">Join the numbers and get to the <strong>2048 tile!</strong></p>
<p class="game-intro">Or watch the randomizing AI attempt to solve it!</p>
<div class='controls'>
<div id='run-button-container'>
<span> AI runs per move: </span>
<input id="run-count" type="text" value="100">
</div>
<div id='ai-comment'> </div>
</div>
<div class="game-container">
<div class="game-message">
<p></p>
<div class="lower">
<a class="retry-button">Try again</a>
<div class="score-sharing"></div>
</div>
</div>
<div class="grid-container">
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
</div>
<div class="tile-container">
</div>
</div>
<div class="expand-button-container">
<button class="expand-button" id="tutorial-button"><span class="btn-label">Tutorial</span>🤔</button>
<button class="expand-button" id="explanation-button"><span class="btn-label">Explanation</span>🧠</button>
<button class="expand-button" id="about-button"><span class="btn-label">About</span>👨💻</button>
</div>
<section id="tutorial" class="detail-container">
<h2>How to play</h2>
<p> Use your <strong>arrow keys</strong> to move the tiles. When two tiles with the same number touch, they <strong>merge into one!</strong>
</p>
</section>
<section id="explanation" class="detail-container">
<h2>How it works</h2>
<p> The AI plays the game multiple times using completely <strong>random moves!</strong> The average end score per starting position is calculated. The move with the highest score is chosen. By default the AI plays 100 games per move. <strong>Increase the run count for a stronger AI.</strong><br />
<br /> It's interesting to note that even though the AI is based on random moves, it plays quite well. <br />
<br /> Another interesting property is that the AI has <strong>no hard-coded intelligence</strong> meaning no knowledge about what makes a good move was programmed into it! It "figures it out" all by itself.</br>
</br> For a detailed discussion <a href="http://stackoverflow.com/a/23853848/632039">see my post in StackOverflow</a>.
</p>
</section>
<section id="about" class="detail-container">
<h2>About the project</h2>
<p>Snarky comments, QoL features, and chess.com-ification by <a href="https://mmyron.com/">Max Myron</a> and <a href="https://tigertjj.com/">Tadhg Jarzebowski</a></p>
<p>Original game by <a href="http://gabrielecirulli.com" target="_blank">Gabriele Cirulli.</a> AI infrastucture by <a href="https://github.com/ov3y/2048-AI">Matt Overlan</a>
<p>AI solver by <a href="https://github.com/ronzil/2048-AI">Ronen Zilberman</a>
</section>
</div>
<script src="js/animframe_polyfill.js"></script>
<script src="js/hammer.min.js"></script>
<script src="js/keyboard_input_manager.js"></script>
<script src="js/html_actuator.js"></script>
<script src="js/grid.js"></script>
<script src="js/tile.js"></script>
<script src="js/ai.js"></script>
<script src="js/game_manager.js"></script>
<script src="js/application.js"></script>
</body>
</html>