blob: 85e3cd731393c0b1ec47128f61b08a250c7fb0e3 (
plain) (
blame)
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
|
<!DOCTYPE html>
<html lang="en">
<head>
<title>dartboat™</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<meta name="description" content="Darts opponent for when you've got no friends.">
<meta name="theme-color" content="#583a90">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="manifest" href="dartboat.webmanifest">
<link rel="icon" type="image/png" sizes="48x48" href="icons/dartboat_48.png">
<script src="dartboat.js"></script>
<script src="dartboat_wasm.js"></script>
</head>
<body>
<div id="main">
<div id="titlebar">
<div title="End match" class="button icon" id="key-exit"></div>
<div class="name">dartboat™</div>
<div title="Delay between computer's darts (ms)" class="opt-input first"><label for="delay" class="icon"></label><input id="delay" data-opt="delay" maxlength="4" value=""></div>
<div title="Difficulty (precision of computer's throws)" class="opt-input"><label for="difficulty" class="icon"></label><input id="difficulty" data-opt="difficulty" maxlength="2" value=""></div>
<div title="Toggle controls side" class="button icon" id="flip-controls-button"></div>
<div title="Help and info" class="button icon" data-modal="help-modal"></div>
</div>
<div id="info">
<div id="oi">oi!</div>
<div id="info-slot-prev" class="icon"></div>
<div id="info-slot-next" class="icon"></div>
<div id="info-slot-1" class="info-slot">
<div class="inner">
<div class="name"></div>
<div class="rem"></div>
<div class="sugg"></div>
<div class="avg"></div>
</div>
</div>
<div id="info-slot-2" class="info-slot">
<div class="inner">
<div class="name"></div>
<div class="rem"></div>
<div class="sugg"></div>
<div class="avg"></div>
</div>
</div>
</div>
<div id="controls">
<div id="prompt">
<div id="prompt-msg-l"></div>
<div id="prompt-input"></div>
<div id="prompt-msg-r"></div>
</div>
<div id="keypad-default" class="keypad">
<div data-command="append:1" class="key num">1</div>
<div data-command="append:2" class="key num">2</div>
<div data-command="append:3" class="key num">3</div>
<div data-command="append:4" class="key num">4</div>
<div data-command="append:5" class="key num">5</div>
<div data-command="append:6" class="key num">6</div>
<div data-command="append:7" class="key num">7</div>
<div data-command="append:8" class="key num">8</div>
<div data-command="append:9" class="key num">9</div>
<div data-command="clear" class="key">CLEAR</div>
<div data-command="append:0" class="key num">0</div>
<div data-command="submit" class="key" id="key-submit">OK</div>
<div data-command="undo" class="key" id="key-undo">UNDO</div>
<div data-command="rem" class="key" id="key-rem">REMAINING</div>
</div>
<div id="keypad-list" class="keypad"></div>
<div id="keypad-dartboard" class="keypad">
<div id="dartboard-container"></div>
</div>
</div>
<div id="visits"></div>
</div>
<div id="help-modal" class="modal">
<div class="modal-content">
<p><span class="modal-close">[Close]</span></p>
<h2>dartboat</h2>
<p>dartboat uses an internal representation of a specification dartboard. Darts are thrown following a normal distribution, with the resultant coordinates used to calculate the segments in which they land. The idea is that this provides a more realistic opponent than picking points at random.</p>
<h2>Settings</h2>
<p><span class="icon"></span> <em>(delay: 0-9999)</em> — milliseconds it takes the computer to throw each dart.</p>
<p><span class="icon"></span> <em>(difficulty: 0-99)</em> — precision of the computer's throws. Starting with a three-dart average of 10 points at difficulty 0, every difficulty increase of 8 corresponds to an average points increase of 10, e.g. difficulty 32 would be a 50-point average. (The rate of increase quickly increases upon reaching an average of 120 points.)</em></p>
<h2>Interface</h2>
<p>To avoid destructive actions being a misclick away, certain actions require two presses—one to activate the button and another to trigger it.</p>
<p>The controls are designed to be keyboard-friendly. The keys should be fairly intuitive for the most part.</p>
<h2>Info</h2>
<p>dartboat is <a href="https://retarded.software/dartboat.git/" target="_blank">free and open-source software</a>. It is written in C and compiled to WebAssembly for the web target. JavaScript is used to handle the interactive elements.</p>
<p><span class="modal-close">[Close]</span></p>
</div>
</div>
</body>
</html>
|