PageRenderTime 50ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/php/tttgame2_0.php

https://bitbucket.org/vitkozin/tttgame_multiplayer
PHP | 281 lines | 248 code | 33 blank | 0 comment | 140 complexity | 37e0d732a2a4575ce094c419dbdafefd MD5 | raw file
  1. <?
  2. $host='host';
  3. $database='database';
  4. $user='user';
  5. $pswd='pswd';
  6. $requestType = $_GET['requestType'];
  7. if($requestType == 'nick'){
  8. $nick = $_GET['nick'];
  9. $error = 0;
  10. $id = 1;
  11. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  12. mysql_select_db($database) or die("Не могу подключиться к базе.");
  13. $query = "DELETE FROM `players` WHERE statusTime <".(time()-3).";";
  14. mysql_query($query);
  15. $query = "SELECT idPlayer, nick FROM players;";
  16. $res = mysql_query($query);
  17. while($row = mysql_fetch_array($res)){
  18. if ($nick == $row['nick']){
  19. $error = 1;
  20. echo $error;
  21. }
  22. if($row['idPlayer'] == $id){
  23. $id++;
  24. }
  25. }
  26. if ($error == 0){
  27. $query = "INSERT INTO `players` (idPlayer, nick, statusTime) VALUES ('".$id."', '".$nick."', '".time()."');";
  28. mysql_query($query);
  29. echo $error;
  30. }
  31. mysql_close($dbh);
  32. }
  33. if($requestType == 'status'){
  34. $nick = $_GET['nick'];
  35. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  36. mysql_select_db($database) or die("Не могу подключиться к базе.");
  37. $query = "UPDATE `tttgame`.`players` SET `statusTime` = '".time()."' WHERE `players`.`nick` = '".$nick."';";
  38. mysql_query($query);
  39. mysql_close($dbh);
  40. }
  41. if($requestType == 'playersList'){
  42. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  43. mysql_select_db($database) or die("Не могу подключиться к базе.");
  44. $query = "Select nick from `players` Where statusTime >=".(time()-3)." And inGame = 0;";
  45. $res = mysql_query($query);
  46. $id = 1;
  47. $playersList = '{"playersList":["';
  48. while ($row = mysql_fetch_array($res)){
  49. $playersList = $playersList.$row['nick'].'","';
  50. }
  51. mysql_close($dbh);
  52. $playersList = substr($playersList, 0, strlen($playersList)-2);
  53. $playersList = $playersList.']}';
  54. echo $playersList;
  55. }
  56. if($requestType == 'startGame'){
  57. $opponent = $_GET['opponent'];
  58. $nick = $_GET['nick'];
  59. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  60. mysql_select_db($database) or die("Не могу подключиться к базе.");
  61. $query = "Select inGame from `players` Where nick ='".$opponent."';";
  62. $res = mysql_query($query);
  63. $inGame = mysql_result($res,0);
  64. if ($inGame == 0){
  65. $query = "Select idPlayer from `players` Where nick ='".$opponent."';";
  66. $res = mysql_query($query);
  67. $opponentId = mysql_result($res,0);
  68. $query = "Select idPlayer from `players` Where nick ='".$nick."';";
  69. $res = mysql_query($query);
  70. $nickId = mysql_result($res,0);
  71. $query = "Select * from `games`";
  72. $res = mysql_query($query);
  73. $id = 1;
  74. $query = "Select idGame from `games`";
  75. $res = mysql_query($query);
  76. while($row = mysql_fetch_array($res)){
  77. if($row['idGame'] == $id){
  78. $id++;
  79. }
  80. }
  81. $query = "INSERT INTO `tttgame`.`games` (idGame, player1, player2, flag) VALUES ('".$id."', '".$nickId."', '".$opponentId."', 1);";
  82. mysql_query($query);
  83. $query = "UPDATE `tttgame`.`players` SET `inGame` = '".$id."' WHERE `players`.`idPlayer` = '".$nickId."';";
  84. mysql_query($query);
  85. $query = "UPDATE `tttgame`.`players` SET `inGame` = '".$id."' WHERE `players`.`idPlayer` = '".$opponentId."';";
  86. mysql_query($query);
  87. $query = "Select idGame from games";
  88. $res = mysql_query($query);
  89. for($i=0;$i<20;$i++){
  90. sleep(1);
  91. $query = "Select accept from `games` Where idGame ='".$id."';";
  92. $res = mysql_query($query);
  93. $accept = mysql_result($res,0);
  94. if($accept == 1 || $accept == -1){
  95. $i=20;
  96. }
  97. }
  98. if($accept == 0 || $accept == -1){
  99. $query = "UPDATE `tttgame`.`players` SET `inGame` = '0' WHERE `players`.`idPlayer` = '".$nickId."';";
  100. mysql_query($query);
  101. $query = "UPDATE `tttgame`.`players` SET `inGame` = '0' WHERE `players`.`idPlayer` = '".$opponentId."';";
  102. mysql_query($query);
  103. $query = "DELETE FROM `tttgame`.`games` WHERE `games`.`idGame` = '".$id."';";
  104. mysql_query($query);
  105. }
  106. echo $accept;
  107. }else{
  108. echo 0;
  109. }
  110. mysql_close($dbh);
  111. }
  112. if ($requestType == 'check'){
  113. $nick = $_GET['nick'];
  114. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  115. mysql_select_db($database) or die("Не могу подключиться к базе.");
  116. $query = "SELECT idPlayer FROM `players` WHERE nick = '".$nick."';";
  117. $res = mysql_query($query);
  118. $idPlayer = @mysql_result($res,0);
  119. $query = "SELECT accept FROM `games` WHERE player2 = '".$idPlayer."' and accept = 0;";
  120. $res = mysql_query($query);
  121. $accept = @mysql_result($res,0);
  122. if ($accept == 1 || $accept == "" || $accept == -1){
  123. echo 0;
  124. }else{
  125. echo 1;
  126. }
  127. mysql_close($dbh);
  128. }
  129. if ($requestType == 'accept'){
  130. $nick = $_GET['nick'];
  131. $acceptType = $_GET['acceptType'];
  132. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  133. mysql_select_db($database) or die("Не могу подключиться к базе.");
  134. $query = "SELECT idPlayer FROM `players` WHERE nick = '".$nick."';";
  135. $res = mysql_query($query);
  136. $idPlayer = mysql_result($res,0);
  137. $query = "UPDATE `tttgame`.`games` SET accept = '".$acceptType."' WHERE player2 = '".$idPlayer."';";
  138. mysql_query($query);
  139. mysql_close($dbh);
  140. }
  141. if ($requestType == 'move'){
  142. $nick = $_GET['nick'];
  143. $cell = $_GET['cell'];
  144. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  145. mysql_select_db($database) or die("Не могу подключиться к базе.");
  146. $query = "SELECT idPlayer FROM `players` WHERE nick = '".$nick."';";
  147. $res = mysql_query($query);
  148. $idPlayer = mysql_result($res,0);
  149. $query = "SELECT flag, ".$cell.",count FROM `games` WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  150. $res = mysql_query($query);
  151. $error = 1;
  152. while ($row = mysql_fetch_array($res)){
  153. if($row[$cell] == 0){
  154. if($row['flag'] == 1){
  155. $query = "UPDATE `tttgame`.`games` SET ".$cell." = 1, flag = 0, lastMove = '".$cell."', count = '".($row['count'] + 1)."' WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  156. mysql_query($query);
  157. $error = 0;
  158. }else{
  159. if($row['flag'] == 0){
  160. $query = "UPDATE `tttgame`.`games` SET ".$cell." = 2, flag = 1, lastMove = '".$cell."', count = '".($row['count'] + 1)."' WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  161. mysql_query($query);
  162. $error = 0;
  163. }
  164. }
  165. }
  166. }
  167. echo $error;
  168. mysql_close($dbh);
  169. }
  170. if ($requestType == 'checkMove'){
  171. $nick = $_GET['nick'];
  172. $lastMove = $_GET['lastMove'];
  173. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  174. mysql_select_db($database) or die("Не могу подключиться к базе.");
  175. $query = "SELECT idPlayer FROM `players` WHERE nick = '".$nick."';";
  176. $res = mysql_query($query);
  177. $idPlayer = mysql_result($res,0);
  178. $query = "SELECT lastMove FROM `games` WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  179. $res = mysql_query($query);
  180. $move = mysql_result($res,0);
  181. mysql_close($dbh);
  182. if($lastMove == $move){
  183. echo 0;
  184. }else{
  185. echo $move;
  186. }
  187. }
  188. if ($requestType == 'checkWin'){
  189. $nick = $_GET['nick'];
  190. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  191. mysql_select_db($database) or die("Не могу подключиться к базе.");
  192. $query = "SELECT idPlayer FROM `players` WHERE nick = '".$nick."';";
  193. $res = mysql_query($query);
  194. $idPlayer = mysql_result($res,0);
  195. $query = "SELECT * FROM `games` WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  196. $res = mysql_query($query);
  197. $row = mysql_fetch_array($res);
  198. if(($row['cell1'] == 1 && $row['cell2'] == 1 && $row['cell3'] == 1)||
  199. ($row['cell1'] == 2 && $row['cell2'] == 2 && $row['cell3'] == 2)||
  200. ($row['cell4'] == 1 && $row['cell5'] == 1 && $row['cell6'] == 1)||
  201. ($row['cell4'] == 2 && $row['cell5'] == 2 && $row['cell6'] == 2)||
  202. ($row['cell7'] == 1 && $row['cell8'] == 1 && $row['cell9'] == 1)||
  203. ($row['cell7'] == 2 && $row['cell8'] == 2 && $row['cell9'] == 2)||
  204. ($row['cell1'] == 1 && $row['cell4'] == 1 && $row['cell7'] == 1)||
  205. ($row['cell1'] == 2 && $row['cell4'] == 2 && $row['cell7'] == 2)||
  206. ($row['cell2'] == 1 && $row['cell5'] == 1 && $row['cell8'] == 1)||
  207. ($row['cell2'] == 2 && $row['cell5'] == 2 && $row['cell8'] == 2)||
  208. ($row['cell3'] == 1 && $row['cell6'] == 1 && $row['cell9'] == 1)||
  209. ($row['cell3'] == 2 && $row['cell6'] == 2 && $row['cell9'] == 2)||
  210. ($row['cell1'] == 1 && $row['cell5'] == 1 && $row['cell9'] == 1)||
  211. ($row['cell1'] == 2 && $row['cell5'] == 2 && $row['cell9'] == 2)||
  212. ($row['cell3'] == 1 && $row['cell5'] == 1 && $row['cell7'] == 1)||
  213. ($row['cell3'] == 2 && $row['cell5'] == 2 && $row['cell7'] == 2))
  214. {
  215. if($row['flag'] == 1){
  216. echo 1;
  217. }else{
  218. echo 0;
  219. }
  220. }else{
  221. if($row['count'] == 9){
  222. echo 2;
  223. }else{
  224. echo -1;
  225. }
  226. }
  227. mysql_close($dbh);
  228. }
  229. if ($requestType == 'clear'){
  230. $opponent = $_GET['opponent'];
  231. $nick = $_GET['nick'];
  232. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу подключиться к базе.");
  233. mysql_select_db($database) or die("Не могу подключиться к базе.");
  234. $query = "Select idPlayer from `players` Where nick ='".$nick."';";
  235. $res = mysql_query($query);
  236. $idPlayer = mysql_result($res,0);
  237. $query = "Select player1 from `games` Where player2 ='".$idPlayer."';";
  238. $res = mysql_query($query);
  239. $player1 = mysql_result($res,0);
  240. $query = "UPDATE `tttgame`.`players` SET `inGame` = '0' WHERE `players`.`idPlayer` = '".$player1."';";
  241. mysql_query($query);
  242. $query = "UPDATE `tttgame`.`players` SET `inGame` = '0' WHERE `players`.`nick` = '".$nick."';";
  243. mysql_query($query);
  244. $query = "DELETE FROM `tttgame`.`games` WHERE player2 = '".$idPlayer."' OR player1 = '".$idPlayer."';";
  245. mysql_query($query);
  246. mysql_close($dbh);
  247. }
  248. ?>