<!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>