Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]odbijanie
Forum PHP.pl > Forum > Przedszkole
pogrom
Potrzebuję skryptu, w którym w tabelce 30x20 będzie w lewym górnym rogu czarny kwadracik i co odświeżenie będzie on szedł po skosie w dół, a potem, jak dojdzie na sam dół, to się odbije i będzie szedł w prawo i do góry i tak w kółko. Problem w tym ze nie mam pojęcia na czym ma się to opierać..jakby ktoś wpadł na jakiś pomysł, to z góry dzięki
peter13135
to pewnie flash, może js, ale napewno nie php
nospor
Cytat
ale napewno nie php
No to teraz czytamy posta pierwszego:
Cytat
i co odświeżenie

php jak znalazl smile.gif

@pogrom przechowuj w sesji aktualną pozycje, którą bedziesz modyfikowal po kazdym odswieżeniu
golaod
Ciekawa sprawa w każdym razie jaki to problem ?
Tworzysz tablice w sesji 30,20 i dla każdego indeksu dajesz 0.
Następnie rysując w pętli tabele dajesz td style="background: black;" dla elementu który ma akurat 1 w sobie.
Po narysowaniu robisz
  1. <?php
  2. #oczywiscie Twoja tablica bedzie w $_SESSION
  3. $tablica[$i][$x] = 0; $tablica[$i+1][$x+1] = 1;
  4. ?>


No oczywiście sam sobie dodaj warunek który jak kwadracik dojdzie do 30x20 to zacznie się odejmowanie $-1 $x-1
pogrom
stworzylem cos takiego ale nie dziala i nie moge znalezc bledu... sad.gif bylbym wdzieczny jesliby ktos poprawil moje bledy


<html>
<head>
<title>aaaaaa</title>
<?php
$q=1;
$w=1;
echo '<meta http-equiv="Refresh" CONTENT="1"; URL="projekt.php?x=$q&y=$w&val=2">';

if($w==20){
for($z=0; $z<30-$q; $z++){
$q++;
$w--;
}}

else if($q==30){
for($o=0; $o<20-$w; $o++){
$q--;
$w++;
}}

else if($w==1){
for($p=0; $p<$w; $p++){
$q--;
$w--;
}}

else if($q==1){
for($l=0; $l<$q; $l++){
$q++;
$w--;
}}
?>
</head>
<body>




<table border="6" width="1500", height="1000">
<?php
$is= array();
for($a=0;$a<31;$a++){
for($b=0;$b<21;$b++){
$is[$a][$b]=1;
}}
$is[$_GET['x']][$_GET['y']]=2;
for ($b=1; $b<21; $b++){
echo '<tr>';
for ($a=1; $a<31; $a++)
{
echo '<td>';
if($is[$a][$b]==1){
echo '<a href="projekt.php?x='.$a.'&y='.$b.'&val=2"><img src="czarno.jpg" height="50" width="50"></a>';
}

echo '</td>';
}
echo '</tr>';
}
echo $x;
echo '<br>';
echo $y;
fopen
?>
</table>

</form>
</body>
</html>
Nh2003
Spróbuj zmienić
  1. <html>
  2. <head>
  3. <title>aaaaaa</title>
  4. <?php
  5. $q=1;
  6. $w=1;
  7. ?>


na
  1. <html>
  2. <head>
  3. <title>aaaaaa</title>
  4. <?php
  5. $q=$_GET['q'];
  6. $w=$_GET['w'];
  7. ?>


To po pierwsze. Po drugie - najpierw wysylasz do przegladarki ze ma odswiezyc strone a dopiero potem liczysz pozycje q/w - przenies linijke
  1. <?php
  2. echo '<meta http-equiv="Refresh" CONTENT="1"; URL="projekt.php?x=$q&y=$w&val=2">';
  3. ?>
przed samo
  1. <?php
  2. ?>
  3. </head>
  4. <body>
pogrom
dzieki, ale nie pomoglo zbytnio;/ nadal nie dziala...prosilbym o dalsze pomysly bo ja juz jestem w kropce...
teherty
  1. <?php
  2. $x = 30;
  3. $y = 20;
  4.  
  5. if(isset($_GET['ix']) and isset($_GET['iy'])){
  6.   $ix = $_GET['ix'];
  7.   $iy = $_GET['iy'];
  8.   $xx = $_GET['xx'];
  9.   $yy = $_GET['yy'];
  10. } else {
  11.   $ix = 1;
  12.   $iy = 1;
  13.   $xx = 0;
  14.   $yy = 0;
  15. }
  16.  
  17. // obliczenia na następną rundę
  18.  
  19. if($ix > $x-1){
  20.   $xx = 1;
  21. }
  22.  
  23. if($iy > $y-1){
  24.   $yy = 1;
  25. }
  26.  
  27. if($iy == 1) {
  28.    $yy = 0;
  29. }
  30.  
  31. if($ix == 1) {
  32.    $xx = 0;
  33. }
  34.  
  35.  
  36.  
  37. $table[$iy][$ix] = '<b>X</b>';
  38.  
  39.  
  40.  
  41. // budowa tabeli
  42. echo '<table border="1">';
  43. for ($i=1; $i <= $y; $i++) {
  44.   echo '<tr>';
  45.   for ($k=1; $k <= $x; $k++) {
  46.       echo '<td>';
  47.       if(isset($table[$i][$k])){
  48.           echo $table[$i][$k];
  49.       } else {
  50.           echo 'O';
  51.       }
  52.       echo '</td>';
  53.   }
  54.   echo '</tr>';
  55. }
  56. echo '</table>';
  57.  
  58. if($xx == 0){
  59.    $ix++;
  60. } else {
  61.    $ix--;
  62. }
  63. if($yy == 0){
  64.    $iy++;
  65. } else {
  66.    $iy--;
  67. }
  68.  
  69. echo '<a href="?ix=' . $ix . '&iy=' . $iy . '&xx=' . $xx . '&yy=' . $yy . '">dalej</a>';
  70. ?>

Trochę dziwne rozwiązanie i na pewno możnaby to zrobić inaczej, ale działa.
pogrom
dzieki za pomoc:)
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.