-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
95 lines (92 loc) · 6.33 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
<html>
<head>
<meta charset="utf-8">
<title>Stop Thief</title>
<style>
.invisibleButton {
background: transparent;
border: none !important;
font-size: 0px;
}
.disabled {
color: #888;
}
</style>
</head>
<body style="margin: 0px;">
<div id="crimeScannerBackgroundDiv" style="background: #181818; width: 100vw; height: 100vh;">
<canvas id="crimeScannerCanvas" width=1000 height=2200 style="position:absolute;"></canvas>
</div>
<div id="everythingElseDiv" style="display: none; margin: 10px;">
<input id="showMapButton" type="button" value="Show Map">
<div id="theMapDiv">
<table><tr>
<td><canvas id="mapCanvas" width=1 height=1></canvas></td>
<td><div>
<label><input id="showMovementGraphCheckbox" type="checkbox" checked> Show Movement Graph</label><br>
<label><input id="showThiefMovementCheckbox" type="checkbox" checked> (Spoilers!) Show Thief Movement</label>
</div></td>
</tr></table>
</div>
<input id="showClueHistoryButton" type="button" value="Show Clue History">
<div id="theClueHistoryDiv">
<div id="currentMoveDiv" style="font-size: 400%;"></div>
<ul id="historyUl" style="padding: 0px; list-style-type: none;"></ul>
</div>
<input id="showMovementRulesButton" type="button" value="Hide Movement Rules">
<div id="theMovementRulesDiv">
Thief movement rules (in this order):
<ol>
<li>For each CLUE, the thief will either MOVE or WAIT. (See Thief Behavior.)</li>
<li>For each MOVE, the thief will always use the SUBWAY if the thief is on one of the 5 STREET spaces with SUBWAY access, unless the thief has just used the SUBWAY 1 MOVE ago. After using the SUBWAY, the thief immediately moves into 1 of the 5 STREET spaces with SUBWAY access (Note: this can be the same STREET space where the thief was before using the SUBWAY, unless this is disabled in the Thief Behavior settings.) The next MOVE never uses the SUBWAY (otherwise, the thief would never get away from the subway.).</li>
<li>For each MOVE, if the thief has just moved onto a DOOR or WINDOW, the thief will continue through to the other side.</li>
<li>For each MOVE, the thief can move up to 2 board spaces in any direction (including diagonally) to land on a numbered space. If the thief steps onto the street during a MOVE, the thief will stop on a street space; in other words, the thief cannot leap across the street into the door or window of another building in a single MOVE. This establishes the set of available spaces.</li>
<li>For each MOVE, if there are 1 or more available unused indoor CRIME spaces, the thief will choose randomly from among them and move to it. A used indoor CRIME space is considered a FLOOR space until it is restocked, and a used outdoor CRIME space (the NEWS STAND) is considered a STREET space until it is restocked. Indoor CRIME spaces are restocked when the thief leaves the building; the NEWS STAND is restocked after the thief COMPLIES with a CORRECT ARREST.</li>
<li>For each MOVE, the thief will never move into a numbered space where the thief was last turn, a direct U-turn. (But the thief can move into a space where the thief was 2 turns ago, making a triangle.) (Remember that a CRIME space turns into a FLOOR or STREET space until the CRIME space is restocked.)</li>
<li>For each MOVE, if none of the above rules have determined the thief's movement space, the thief will choose one of the available spaces randomly.</li>
<li>After an INCORRECT ARREST, the thief will do nothing.</li>
<li>After a CORRECT ARREST, the thief will either COMPLY or RUN. (See Thief Behavior.)</li>
<li>For each RUN, the thief will MOVE 5 or 6 times. (See Thief Behavior.)</li>
</ol>
</div>
<input id="showThiefBehaviorButton" type="button" value="Hide Thief Behavior">
<div id="theThiefBehaviorDiv">
Thief Behavior:
<ul>
<li><label>Chance to MOVE on each CLUE: <input id="moveChanceTextbox" value="???"></label></li>
<li><label>Chance to COMPLY on each CORRECT ARREST: <input id="complyChanceTextbox" value="???"></label></li>
<li><label>Chance to MOVE an extra time on each RUN: <input id="runFartherChanceTextbox" value="???"></label></li>
<li><label><input id="sameSubwayCheckbox" type="checkbox">Possible to emerge on the same space after using the SUBWAY.</label></li>
<li>
<label><input id="thiefGetsTiredCheckbox" type="checkbox">House Rule: Thief gets tired after too many RUNS.</label>
<ul id="thiefGetsTiredGroup" class="disabled">
<li><label>Maximum number of RUNS before thief always COMPLIES: <input id="thiefGetsTiredMaxRunsSpinner" type="number" value="2" min="0" max="99" disabled></label></li>
<li><label><input id="thiefGetsTiredProbabilityIncreaseCheckbox" type="checkbox" checked disabled>Probability increases after each RUN.</label></li>
<li>COMPLY probabilities: <span id="complyProbabilitiesSpan"><b><u>50%</u></b>, 75%, 100%</span></li>
</ul>
</li>
</ul>
</div>
<input id="showSoundTestButton" type="button" value="Hide Sound Test">
<div id="theSoundTestDiv" style="margin: 20px;">
<div id="singlesDiv"></div>
<div>
<input id="subwayStreetButton" type="button" value="Subway Street">
<input id="arrestWrongButton" type="button" value="Arrest Wrong">
<input id="arrestCorrectComplyButton" type="button" value="Arrest Correct Comply">
<input id="arrestCorrectRunButton" type="button" value="Arrest Correct Run">
<input id="arrestCorrectRunRandomButton" type="button" value="Arrest Correct Run Random">
</div>
</div>
<div style="margin: 10px;">
<label><input id="playSoundCheckbox" type="checkbox"> Play sound</label>
<div style="margin: 10px;">
Keyboard shortcuts: Escape=Settings, Spacebar=Clue, Shift+N=NewGame, Shift+A=Arrest, Shift+T=Tip, Numbers/Backspace work during arrest prompt.
</div>
<input id="resetSettingsButton" type="button" value="Reset All Settings And Everything">
App version 1.3.1. Source code: <a href="https://github.com/thejoshwolfe/stop-thief">github.com/thejoshwolfe/stop-thief</a>
</div>
<script src="sound.js"></script>
<script src="a.js"></script>
</body>
</html>