Oznámení

Fórum bylo uzavřeno. Využijte prosím služeb serverů JakPsatWeb, Builder nebo Webtrh.

#1 před rokem

NoFeara
Člen
Registrovaný: 2. 3. 2011
Příspěvky: 5

OOP akvarium

Dobrý den potřeboval bych navrhnout nebo pomoct s jedním úkolem , který jsem dostal v PHP OOP dělam poprvý takže nevím jak na to …úkol zní takto : Naprogramujte pomocí OOP interreagující objekty na nějakém herním poli (akvárko, mraveniště, souboj čehokoliv, …). nemusí tam být grafika nic …přemýšlel sem jak by to asi mělo vypadat a rekl sem si ze by to mohli byt pouze objekty v poli napriklad cisla …ktera by se mnozila nebo hynula …diky vsem kteří se mi pokusí pomoc .) smiling smiley

 

#2 před rokem

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 879

Re: OOP akvarium

Lepsi nez nechat za sebe delat domaci ukoly bude se to naucit a pochopit!!!

 

#3 před rokem

NoFeara
Člen
Registrovaný: 2. 3. 2011
Příspěvky: 5

Re: OOP akvarium

nechi udělat celej …ja zacinal s javou ne s phpkem a jeste k tomu OOP tohle sme dostali na rychlo a potrebu jen menší návod to stačí.

 

#4 před rokem

paranoiq
Moderator
Registrovaný: 14. 11. 2006
Příspěvky: 381

Re: OOP akvarium

jestliže jsi začínal s Javou, tak základy OOP znát musíš. na to ostatní je tu: http://www.php.net/…age.oop5.php

a doporučuju knihu Čistý kód. nejen na OOP a nejen na PHP (http://www.goodreads.com/…0366-ist-k-d)

 

#5 před rokem

NoFeara
Člen
Registrovaný: 2. 3. 2011
Příspěvky: 5

Re: OOP akvarium

ano ale základy objektů v jave a v php mi stejne rozhodne neprijdou …a dekuji za tip

 

#6 před rokem

pete
Člen
Registrovaný: 22. 10. 2009
Příspěvky: 25

Re: OOP akvarium

sorry ale Java a PHP je dost podobne, a ked vies javu tak php pre teba nieje problem.
To s tymi cislami som moc nepochopil, ale proste objekty by mali reprezentovat normalne veci.
takze ak mas mravenisko, tak urobis triedu mravec, dve podtriedy mravec zena, mravec muz, potom triedu mravenisko ktora ma referencie na tych mravcov.
Toto som dal iba ako taky rychli priklad.
Myslim si ze by ti viac pomohlo (ak programovanie myslis vazen a nie len rychlo spravit domacu ulohu) precitat si designove vzory a vseobecne o OOP, nie konkretne PHP.

 

#7 před rokem

NoFeara
Člen
Registrovaný: 2. 3. 2011
Příspěvky: 5

Re: OOP akvarium

no jak myslíš mě přišla java v objektech o hodně lepší než PHP ..jinak úlohu jsem už vyřešil tímto způsobem

<?php
require 'CRyba.php';
?>

<!DOCTYPE HTML PUBLIC „-W3CDTD HTML 4.01 Transitional//EN“>
<html>
<head>
<meta http-equiv=„content-type“ content=„text/html; charset=utf-8“>
<meta name=„generator“ content=„PSPad editor, www.pspad.com“>
<link rel=„StyleSheet“ type=„text/css“ href=„styl.css“ />
<title>Akvárium</title>
</head>
 <body>

<?php


$pocet_cyklu=100;
$pocet_rybek=100;
$max_x=10;
$max_y=5;
$pocet_ras=2;

echo '<h1>Akváriumm</h1>';


//generace
for($i=1; $i<=$pocet_rybek/2; $i++){
  $nazev="ryba_".(CRyba::$st_id);
  $akvarium[$nazev]=new CRyba(rand(1,$max_x/2),rand(1,$max_y),1);
}
//generace
for($i=1; $i<=$pocet_rybek/2; $i++){
  $nazev="ryba_".(CRyba::$st_id);
  $akvarium[$nazev]=new CRyba(rand($max_x/2,$max_x),rand(1,$max_y),2);
}

for($i=1;$i<=$pocet_cyklu;$i++){

  foreach($akvarium as $key1=>$val1){
    $val1->pohyb($max_x,$max_y);
    $val1->vek++;
    if($val1->pregnant>0){
      $val1->pregnant--;
      if($val1->pregnant==3){  //porod
        $nazev="ryba_".(CRyba::$st_id);
        echo $val1->id.' rodí '.(CRyba::$st_id).'.';
        $akvarium[$nazev]=new CRyba($val1->polohaX,$val1->polohaY, $val1->rasa);
      }
    }

    foreach($akvarium as $key2=>$val2){
      if( $key1!=$key2){
        //bude boj
        if($val1->rasa != $val2->rasa && $val1->test_polohy($val2->polohaX,$val2->polohaY)){
          if($val1->hit() < $val2->hit()){//nicim jednicku
            echo $val1->id.' umírá.';
            unset($akvarium[$key1]);
            break;
          }else{//nicim dvojku
            echo $val2->id.' umírá.';
            unset($akvarium[$key2]);
            break;
          }
        }

        //bude množení
        if($val1->rasa == $val2->rasa && $val1->test_polohy($val2->polohaX,$val2->polohaY)){
          if($val1->vek > 10 && $val2->vek > 10 && $val1->pregnant == 0  && $val2->pregnant == 0){
            $val1->pregnant=8;
            break;
          }
        }
      }
    }
  }

  //nakresleni akvarka
  echo '<br /><strong>'.$i.'</strong><br/>';
  echo '<table class="akvarium">';
  for($y=1;$y<=$max_y;$y++){
    echo '<tr>';
    for($x=1;$x<=$max_x;$x++){
      echo '<td>';
      foreach ($akvarium as $key=>$val) {
        if($val->test_polohy($x,$y)){
          if($val->rasa==1)$barva=((($val->zivot)*2)+50).',0,0';
          if($val->rasa==2)$barva='0,'.((($val->zivot)*2)+50).',0';
          if($val->rasa==3)$barva='0,0,'.((($val->zivot)*2)+50);
          echo '<span style="color:rgb('.$barva.')">'.$val->id.' </span>';
        }
      }
      echo '</td>';
    }
    echo '</tr>';
  }
  echo '</table>';
}


//vypis
foreach ($akvarium as $key=>$val) {
  $val->vypis_stavu();
}

?>

</body>
</html>

v cryba mam nadefinovane class rybu a jeji vlastnosti jako je jejich zivot nebo pohlaví atd…

 

#8 před rokem

NoFeara
Člen
Registrovaný: 2. 3. 2011
Příspěvky: 5

Re: OOP akvarium

a celkove to vypada takhle :) http://www.vbteub.ic.cz/ …trva to delší dobu než se to naběhne…

 

Zápatí