Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] kolko i krzyzyk
Forum PHP.pl > Forum > Przedszkole
webmatt
witam,

proboje napisac gre kolko i krzyzyk
oto moj kod php

  1. <?php
  2. $plansza='plansza.txt';
  3. $kopia='plansza.tmp';
  4. $fd2 = @fopen($kopia, "w+"); /*kasuje zawartosc i open zapis*/
  5. if(!$fd = @fopen($plansza, "r")) /*otwiera plik do odczytu*/
  6. {
  7. echo("Nie mozna otworzyc pliku");
  8. }
  9. else
  10. {
  11. $ip1=trim(fgets($fd));
  12. $ip2=trim(fgets($fd));
  13. $ip3=trim(fgets($fd));
  14. /* fwrite($fd2,$ip1."r\n");
  15. fwrite($fd2,$ip2."r\n");
  16. fwrite($fd2,$ip3."r\n");*/
  17. echo ("<center>Witamy w grze KóŁKO I KRZYŻYK.<br />");
  18. echo ("<b>Twój adres IP to:</b> ".$_SERVER['REMOTE_ADDR']."<br />");
  19.  
  20. if ($REMOTE_ADDR==$ip3) 
  21. {
  22. echo("<h3>Aktualnie ruch ma gracz <u>2</u></h3>");
  23. for ($y=0; $y<=9; $y++)
  24.  {
  25.  $line=fgets($fd); /*ile znaków funkcja może odczytać.*/
  26.  echo("<br>");
  27.  for ($x=0; $x<=9; $x++)
  28. { 
  29. $znak=$line{$x}; /*odczytuje kolejne znaki*/
  30. echo("<a href=index.php?px=$x&py=$y><img border=0 src=".$znak.".gif></a>");
  31.  
  32. }
  33.  }
  34. }
  35. else 
  36. {
  37. fwrite($fd2,$ip1."r\n");/*zapisuje je do pliku tmp*/
  38. fwrite($fd2,$ip2."r\n");
  39. fwrite($fd2,$REMOTE_ADDR."r\n");  
  40.  
  41. }
  42.  
  43. if ($REMOTE_ADDR==$ip1)
  44.  {
  45.  $gracz='2';
  46.  }
  47. else 
  48.  {
  49.  $gracz='1';
  50.  }
  51. for ($y=0; $y<=9; $y++)
  52.  {
  53.  $line=fgets($fd);
  54. echo("<br>");
  55.  
  56. for ($x=0; $x<=9; $x++)
  57. {
  58.  
  59.  $znak=$line{$x};
  60.  
  61. if (($x==$px)&&($y==$py))  
  62.  
  63. { 
  64.  echo("<a href=index.php?x=$px&y=$py><img border=0 src=".$gracz.".gif></a>");  
  65.  fputs($fd2,$gracz); 
  66. } 
  67. else  
  68.  
  69. {
  70.  echo("<a href=index.php?px=$x&py=$y><img border=0 src=".$znak.".gif></a>");
  71.  fputs($fd2,$znak);
  72. }
  73.  
  74. }
  75.  fwrite($fd2,"r\n");
  76.  }
  77.  
  78. }
  79. echo("</center>");
  80. fclose($fd);
  81. fclose($fd2);
  82. unlink($plansza);/*usuniecie*/
  83. rename($kopia, $plansza);
  84. ?>


plansza:
Kod
192.168.1.16
192.168.1.12
192.168.1.10
1000000000
0000100000
0000000000
1000000200
0000000000
0000000000
0000000000
0000002000
0002000000
0000000000


mam problem zeby zapisywal moje i przeciwnika klikniecia i zapisywal je do pliku plansza.
Aktualnie po kliknieciu plansza jest usuwana i nie wiem dlaczego tak sie dzieje.
prosze o pomoc
pomocnik
Po pierwsze, te IP, przydałoby się to jakoś inaczej zrobić. Bo rozumiem że zadanie na jakieś zaliczenie? Z sesjami np. pokombinować... Albo po nickach graczy rozpoznawać... Bo jeśli to na zaliczonko to prawdopodobnie program będziesz testował w pracowni, i jeśli będzie umieszczony na jakimś serwerze w Internecie, to obydwa kompy testowe będą miały dla niego to samo IP

Po drugie... Trzymaj planszę w tablicy 3x3 w której każde pole będzie miało wartość 'X', 'O' albo ''. I zapisujesz do pliku: fputs($plik, serialize($tablica)), odczytujesz $tablica = unserialize(chop(fgets($plik)))

Po trzecie sprawdzanie warunku na wygraną:
Sprawdzasz po prostu czy w 3 kolejnych polach w danym rzędzie lub kolumnie jest ten sam znak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.