dog.html 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Dog</title>
  5. <style type="text/css">
  6. body {
  7. font-family: "Courier New", sans-serif;
  8. text-align: center;
  9. background-color: lightgray;
  10. }
  11. .buttons {
  12. font-size: 1em;
  13. display: flex;
  14. justify-content: center;
  15. }
  16. .button {
  17. line-height: 1;
  18. padding: 1rem;
  19. margin: 1rem;
  20. border: thin solid;
  21. min-height: 1em;
  22. min-width: 1em;
  23. cursor: pointer;
  24. user-select: none;
  25. }
  26. .state, .name {
  27. font-size: 1em;
  28. padding: 1rem;
  29. }
  30. .name {
  31. color: white;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div class="name" id="name">You</div>
  37. <div class="state">
  38. <span class="message" id="msg">?</span>
  39. </div>
  40. <div class="buttons">
  41. <div class="button" id="b0" onclick="doOption(0)">1</div>
  42. <div class="button" id="b1" onclick="doOption(1)">2</div>
  43. <div class="button" id="b2" onclick="doOption(2)">3</div>
  44. <div class="button" id="b3" onclick="doOption(3)">4</div>
  45. <div class="button" id="b4" onclick="doOption(4)">5</div>
  46. <div class="button" id="b5" onclick="doOption(5)">6</div>
  47. <div class="button" id="b6" onclick="doOption(6)">7</div>
  48. </div>
  49. <script>
  50. var player = { options: [
  51. {
  52. code: 'newgame',
  53. args: null,
  54. text: 'Nieuw spel'
  55. }, {
  56. code: 'joingame',
  57. args: { code: 3936 },
  58. text: 'Doe mee met een spel'
  59. }],
  60. message: "Even wachten op de server"};
  61. function doOption(i) {
  62. if (player.options.length > i) {
  63. websocket.send(JSON.stringify(player.options[i]));
  64. }
  65. }
  66. function show() {
  67. var i;
  68. for (i = 0; i < 7; i++) {
  69. document.getElementById("b" + i.toString()).textContent = player.options.length > i ? player.options[i].text : '';
  70. }
  71. document.getElementById("msg").textContent = player.message;
  72. var name = document.getElementById("name");
  73. name.textContent = player.name ?? 'You';
  74. if (player.color) {
  75. name.style.color = player.color;
  76. }
  77. }
  78. websocket = new WebSocket("ws://127.0.0.1:6789/");
  79. websocket.onmessage = function (event) {
  80. player = JSON.parse(event.data);
  81. show();
  82. }
  83. show();
  84. </script>
  85. </body>
  86. </html>