Advertisement
repente

Untitled

Jun 1st, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.66 KB | None | 0 0
  1. <?php
  2. #composer dump (update autoload meta)
  3.  
  4. /**
  5. * The function `form` controls the output of the desired form for the game
  6. */
  7.  
  8.  
  9. function form () {
  10.  
  11. if (isset($_GET["form"])) {
  12. switch ($_GET["form"]) {
  13. case '1':
  14. $_SESSION["players_count"] = [
  15. "count" => (int) $_GET["count"],
  16. ];
  17. $_SESSION["form"] = 2;
  18. break;
  19.  
  20. case '2':
  21. $_SESSION["players"] = [];
  22. $i = 1;
  23. while (true) {
  24. if (array_key_exists("name_player_$i", $_GET)) {
  25. $_SESSION["players"][] = [$_GET["name_player_$i"], $_GET["type_player_$i"]];
  26. } else {
  27. break;
  28. }
  29. $i++;
  30. }
  31.  
  32. $_SESSION["form"] = 3;
  33. break;
  34. }
  35. }
  36.  
  37.  
  38. $index = $_SESSION["form"];
  39. $form = '
  40. <form method="GET">
  41. <fieldset>
  42. <legend>Enter data players</legend>
  43. <label>%s</label>
  44. %s
  45. <input type="hidden" name="form" value="%s">
  46. </fieldset>
  47. </form>
  48. ';
  49. switch ($index) {
  50. case 3:
  51. $field = "";
  52. if (isset($_SESSION["players"])) {
  53. $i = 1;
  54. foreach ($_SESSION["players"] as $key => $value) {
  55. $field .= "😆 $i. " . "Player [" . $value[0] . "] : ready => OK!" . '<br>';
  56. $i++;
  57. }
  58. }
  59. $field .= '<a href="game"><button>Start Game</button></a>';
  60. return $field;
  61. break;
  62. case 2:
  63. $count_players = $_SESSION["players_count"]["count"];
  64. $name = "Enter player names" . "<br>";
  65. $field = '';
  66. for ($i = 0; $i < $count_players; $i++) {
  67. $field .= $i + 1 . '. <input placeholder="name player" required type="text" name="name_player_'. ($i + 1) . '">';
  68. $field .=
  69. '
  70. <select name="type_player_' . ($i + 1) .'">
  71. <option value="Human">Human</option>
  72. <option value="Machine">Machine</option>
  73. </select> <br>
  74. ';
  75.  
  76. };
  77. $field .= '<input type="submit" name="btn" value="Send">';
  78. $code_form = "2";
  79. return sprintf($form, $name, $field , $code_form);
  80.  
  81. case 1:
  82. $name = "Number of players? => ";
  83. $field = '<input required type="number" name="count">';
  84. $field .= '<input type="submit" name="btn" value="Send">';
  85. $code_form = "1";
  86. return sprintf($form, $name, $field , $code_form);
  87. }
  88. }
  89.  
  90. $form = 'form';
  91.  
  92. /**
  93. * Showing message Hello World, rendered within the standard page layout.
  94. */
  95.  
  96. $app->router->get("dice-game/form", function () use ($app, $form) {
  97. $title = "Please insert data players";
  98. $data = [
  99. "name" => "hello-world",
  100. "content" => "Hello World in " . __FILE__,
  101. "form" => $form(),
  102. ];
  103.  
  104. $app->page->add("dice/starting", $data);
  105.  
  106. return $app->page->render([
  107. "title" => $title,
  108. ]);
  109. });
  110.  
  111.  
  112.  
  113. $app->router->get("dice-game/start", function () use ($app) {
  114.  
  115. $_SESSION["form"] = 1;
  116. $_SESSION["players_count"] = null;
  117. $_SESSION["players"] = null;
  118. $_SESSION["dice_game"] = null;
  119.  
  120. $title = "Welcome Dice Game";
  121.  
  122. $app->page->add("dice/short-game-terms");
  123.  
  124. return $app->page->render([
  125. "title" => $title,
  126. ]);
  127. });
  128.  
  129.  
  130. $app->router->get("dice-game/game", function () use ($app) {
  131.  
  132. $winner = null;
  133. $type_player = null;
  134. $name_palyer_move = null;
  135. $result = null;
  136. $trows = [6,6];
  137.  
  138. if (!($_SESSION["dice_game"])) {
  139. $players = [];
  140. foreach ($_SESSION["players"] as $key => $value) {
  141. $players[] = [$value[0], $value[1]];
  142. }
  143. $_SESSION["dice_game"] = new My\Dice\Dice($players);
  144. $_SESSION["dice_game"]->contest_who_is_first();
  145. $type_player = $_SESSION["dice_game"]->players[0]->type;
  146. $name_palyer_move = $_SESSION["dice_game"]->players[0]->name;
  147. }
  148.  
  149. if (isset($_GET["btn"])) {
  150. $result = $_SESSION["dice_game"]->moves();
  151. switch ($result[0]) {
  152. case 'next':
  153. $name_palyer_move = $result[1];
  154. $type_player = $result[2];
  155. $trows = $result[3];
  156. break;
  157.  
  158. case 'winner':
  159. $winner = $result[1];
  160. break;
  161. }
  162. }
  163.  
  164. if (isset($_GET["continue"])) {
  165. $result = $_SESSION["dice_game"]->moves(1);
  166. switch ($result[0]) {
  167. case 'next':
  168. $name_palyer_move = $result[1];
  169. $type_player = $result[2];
  170. break;
  171.  
  172. case 'winner':
  173. $winner = $result[1];
  174. break;
  175. }
  176. }
  177.  
  178. $players_statistics = $_SESSION["dice_game"]->printed_players();
  179.  
  180. $title = "Live game Dice 100";
  181. $data = [
  182. "h1" => $title,
  183. "statistics" => $players_statistics,
  184. "type_player" => $type_player,
  185. "name_palyer_move" => $name_palyer_move,
  186. "winner" => $winner,
  187. "trows" => $trows,
  188. ];
  189.  
  190. $app->page->add("dice/game", $data);
  191. // $app->page->add("example/debug");
  192.  
  193. return $app->page->render([
  194. "title" => $title,
  195. ]);
  196. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement