Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
299
Tıklama
0
Öne Çıkarma
PHP hep -iyiler-in kazanması sorunu
P
11 yıl
Binbaşı
Konu Sahibi

2 gündür inceliyorum fakat oyunda biri öldüğünde hep iyiler kazanıyor. oyunda bir kişi öldüğünde oyunun bitimi kontrol için aşağıdaki fonksiyon çağrılıyor
turler; 1,2,3,4 tarzı vir array
oluler; 0,1,0,1,0 tarzı . 0 yaşadığı anlamına geliyor
offline; 0,0,0,1,1 tarzı 0 lar online 1ler offlie
				function oyunbittimi(){ 
global $ram_oyuncu,$dil,$vt;
// oyun bitip bitmediğini kontrol eder
// hiç vampir kalmadıysa veya köylü+doktor oyun biter.
$win_kotuler=TRUE;
$win_iyiler=true;
foreach($this->oluler as $sira => $olu)
{
if($olu==0){ //yaşayanlardan
if($this->tur[$sira]==_vampir)
{$win_iyiler=FALSE;} //vmpr yaşıyorsa iyiler kazanmaz
elseif($this->tur[$sira]==_köylü)
{$win_kotuler=FALSE;}//kylu/doktor yşyorsa kotuler -
elseif($this->tur[$sira]==_doktor)
{$win_kotuler=FALSE;}
}
}

if($win_iyiler!=$win_kotuler)
{ // eğer ikisinden biri kazandıysa
if($win_iyiler)
{ // iyiler kazandıysa
$winner="<h1>".$dil["iyilerkazandi"]."</h1>";
$kazanantip[_köylü]=TRUE;
$kazanantip[_iyibüyücü]=TRUE;
$kazanantip[_doktor]=TRUE;
$kazanantip[_vampir]=FALSE;
$kazanantip[_karabüyücü]=FALSE;
}
else
{ // kötüler kazandıysa
$winner="<h1>".$dil["kotulerkazandi"]."</h1>";
$kazanantip[_köylü]=FALSE;
$kazanantip[_iyibüyücü]=FALSE;
$kazanantip[_doktor]=FALSE;
$kazanantip[_vampir]=TRUE;
$kazanantip[_karabüyücü]=TRUE;
}
$list="<ul>";
foreach ($this->oyuncular as $sira => $no){
$list.="<li>".no2ad($no)." : ".$dil["tip".$this->turler[$sira]]."</li>";
}
$list.="</ul>";
$oyuncuyaozel=array();
foreach($this->offline as $sira => $off)
{
if($off==0)//onlinesa
{
$nosu=$this->oyuncular[$sira];
$hsp=yukle_hesap($nosu);
if($kazanantip[$this->turler[$sira]])
{ // kazanan taraftaysa
$kazanc=13*$this->oyuncuadet;
if($this->yatirim[$sira]!=-1){
//yatırım yaptıysa
$kazanc+=floor($this->yatirim[$sira]*(150+$this->oyuncuadet*$this->oyuncuadet+$hsp->seviye)/100);
}
$hsp->addAll($kazanc);
$oyuncuyaozel[$sira]=$dil["kazanc_h1"].$dil["kazandiginizpara"].$kazanc.$dil["kazandiginizpuan"].$kazanc;
}
else
{ //kaybeden taraftaysa
$kazanc=3*$this->oyuncuadet;
$hsp->addAll($kazanc);
$oyuncuyaozel[$sira]=$dil["kazanc_h1"].$dil["kazandiginizpara"].$kazanc.$dil["kazandiginizpuan"].$kazanc;
}
}
} //foreac
$this->sistem_msj($dil["gameover"]);
foreach($oyuncuyaozel as $sira => $bilgi)
{ // oyuncuların SON ekranını oluştur ram_oyuncu
$txt=$winner.$list.$bilgi;
$ram_oyuncu->yazdata("son_".$this->oyuncular[$sira],$txt);
}
// son ekranı oluşturuldu şimdi oyunu yok et
$this->bitti=1;
$this->ram_senk();
$vt->sorgu("UPDATE oyun SET bitti=1 WHERE no=:no;",array("no"=>$this->no));
$this->zamanla(3); //3sn sonra oyunu sil
}

}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil