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
Lepsi nez nechat za sebe delat domaci ukoly bude se to naucit a pochopit!!!
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čí.
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)
ano ale základy objektů v jave a v php mi stejne rozhodne neprijdou …a dekuji za tip
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.
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…
a celkove to vypada takhle :) http://www.vbteub.ic.cz/ …trva to delší dobu než se to naběhne…