Skript: function ligaSpielStarten($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password){
$abfrage = "UPDATE $tableName SET fight=0 WHERE fight=1 "; $erg = mysql_db_query($database,$abfrage,$verbindung); $abfrage = "SELECT count(id) FROM $tableName"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($anzahlVerbleibende)=mysql_fetch_row($erg); if ($anzahlVerbleibende > 1){ $Text = "<tr><td colspan=2 class="main"><br>Runde $round<hr></td></tr>"; SetHTMLText($Text,$database,$verbindung); $Text = ligaEineRunden($tableName,$tableName2,$round,$htmlText,$verbindung,$database,$password); SetHTMLText($Text,$database,$verbindung); $round = $round + 1; ligaSpielStarten($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password); } else { $abfrage = "SELECT User,id FROM $tableName"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($User,$Playerid)=mysql_fetch_row($erg); $Text = "<tr><td colspan=2 class="main"><br><br><hr>Spiel Beendet - Gewinner ist $User</td></tr>"; SetHTMLText($Text,$database,$verbindung); $abfrage = "UPDATE $tableName2 SET Runde = $round WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung); } }
//--Funktion--eine Rund berechnen---------------------------------------------------------------// function ligaEineRunden($tableName,$tableName2,$round,$htmlText,$verbindung,$database,$password){
$abfrage = "SELECT id FROM $tableName WHERE fight != 1 ORDER BY agr DESC"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($id) = mysql_fetch_row($erg);
$abfrage = "SELECT count(id) FROM $tableName WHERE fight != 1 AND hitpoints >= 0 ORDER BY agr DESC"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($anzahlVerbleibende) = mysql_fetch_row($erg);
$abfrage = "SELECT count(id) FROM $tableName ORDER BY agr DESC"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($UserAnzahl) = mysql_fetch_row($erg);
//-check ob noch Player da sind die noch nicht angegriffen haben if($anzahlVerbleibende>=1){ kampfBerechnen($id,$UserAnzahl,$tableName,$tableName2,$round,$htmlText,$verbindung,$database,$password); SetHTMLText($Text,$database,$verbindung); updateAgr($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password); ligaEineRunden($tableName,$tableName2,$round,$htmlText,$verbindung,$database,$password); } } //--Funktion--eine Rund berechnen------------------------------------------ende-----------------//
//--Funktion--Kampf berechnen-------------------------------------------------------------------// function kampfBerechnen($id,$UserAnzahl,$tableName,$tableName2,$round,$htmlText,$verbindung,$database,$password){
//-Angreifer Eigenschaften einlesen $abfrage = "SELECT id,User,agr,hitpoints FROM $tableName WHERE id = $id"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($idp1,$Userp1,$agrp1,$hitpointsp1) = mysql_fetch_row($erg);
$abfrage = "SELECT MechID,PilotID FROM mmw_members WHERE id=$idp1"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($midp1,$pidp1) = mysql_fetch_row($erg); $Text = "<tr><td class="main">" . $Userp1 ."</td>"; SetHTMLText($Text,$database,$verbindung);
$abfrage = "SELECT mstaerke,mgeschw,mbeweg,mzielv,mkonst, mspezat,mresfeu,mresplas,mresene,mresstra,mresexp,pintel,preakt,prefle,praeum,ptecver,pkonz FROM mmw_pilot,mmw_mech WHERE mid=$midp1 AND pid=$pidp1"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($mstaerkep1,$mgeschwp1,$mbewegp1,$mzielvp1,$mkonstp1,$mspezatp1,$mresfeup1,$mresplasp1,$mresenep1,$mresstrap1,$mresexpp1,$pintelp1,$preaktp1,$preflep1,$praeump1,$ptecverp1,$pkonzp1) = mysql_fetch_row($erg);
//-Angreifer fight=1 $abfrage = "UPDATE $tableName SET fight=1 WHERE id=$idp1"; $erg = mysql_db_query($database,$abfrage,$verbindung);
$abfrage = "SELECT count(id) FROM $tableName WHERE hitpoints >=0 AND fight != 1 ORDER BY agr DESC"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($userMitAngriff) = mysql_fetch_row($erg); $angreiferID = $UserAnzahl - $userMitAngriff;
//-Gegner bestimmen und Eigenschaften einlesen $zz = zzGen($UserAnzahl,$angreiferID)-1; $abfrage = "SELECT id,User,agr,hitpoints FROM $tableName WHERE hitpoints >=0 ORDER BY agr DESC LIMIT $zz,1"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($idp2,$Userp2,$agrp2,$hitpointsp2) = mysql_fetch_row($erg);
$abfrage = "SELECT MechID,PilotID FROM mmw_members WHERE id=$idp2"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($midp2,$pidp2) = mysql_fetch_row($erg); $Text = "<td class="main">" . $Userp2 ."</td>"; SetHTMLText($Text,$database,$verbindung); $abfrage = "SELECT mstaerke,mgeschw,mbeweg,mzielv,mkonst, mspezat,mresfeu,mresplas,mresene,mresstra,mresexp,pintel,preakt,prefle,praeum,ptecver,pkonz FROM mmw_pilot,mmw_mech WHERE mid=$midp2 AND pid=$pidp2"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($mstaerkep2,$mgeschwp2,$mbewegp2,$mzielvp2,$mkonstp2,$mspezatp2,$mresfeup2,$mresplasp2,$mresenep2,$mresstrap2,$mresexpp2,$pintelp2,$preaktp2,$preflep2,$praeump2,$ptecverp2,$pkonzp2) = mysql_fetch_row($erg);
$agrproz = (100*$agrp1)/(($agrp1+$agrp2)+1); $zz = zzGen(100,$agrproz);
if($zz>$agrproz){ $angriff =$Userp2; $zz = rand(0,100); $wat = ((-4000/(($pkonzp2+$mzielvp2)+40))+100) - $zz*(((-4000/(($pkonzp2+$mzielvp2)+40))+100)/4); $zz = rand(0,100); if ($zz<=$wat){ $zz = rand(0,100); $wab = ((-4000/(($pkonzp1+$mzielvp1+$mbewegp1)+40))+100) - $zz*(((-4000/(($pkonzp1+$mzielvp1+$mbewegp1)+40))+100)/4); $schaden = round(($mstaerkep2 + $praeump2)-(($mstaerkep2 + $praeump2*$wab)/100)); $hitpoints = $hitpointsp1 - $schaden;
//-hitpoints berechnen
$abfrage = "UPDATE $tableName SET hitpoints=$hitpoints WHERE id = $idp1"; $erg = mysql_db_query($database,$abfrage,$verbindung);
//-verteilterSchaden berechnen
$abfrage = "UPDATE $tableName2 SET verteilterSchaden=verteilterSchaden+$schaden WHERE id = $idp2"; $erg = mysql_db_query($database,$abfrage,$verbindung);
//-empfangenerSchaden berechnen
$abfrage = "UPDATE $tableName2 SET empfangenerSchaden=empfangenerSchaden+$schaden WHERE id = $idp1"; $erg = mysql_db_query($database,$abfrage,$verbindung); $schaden=$schaden; } else{ $schaden="daneben"; }
} else { $angriff =$Userp1; $zz = rand(0,100); $wat = ((-4000/(($pkonzp1+$mzielvp1)+40))+100) - $zz*(((-4000/(($pkonzp1+$mzielvp1)+40))+100)/4); $zz = rand(0,100); if ($zz<=abs($wat)){ $zz = rand(0,100); $wab = ((-4000/(($pkonzp2+$mzielvp2+$mbewegp2)+40))+100) - $zz*(((-4000/(($pkonzp2+$mzielvp2+$mbewegp2)+40))+100)/4);
//-hitpoints berechnen $schaden = round(($mstaerkep1 + $praeump1)-(($mstaerkep1 + $praeump1*$wab)/100)); $hitpoints = $hitpointsp2 - $schaden; $abfrage = "UPDATE $tableName SET hitpoints=$hitpoints WHERE id = $idp2"; $erg = mysql_db_query($database,$abfrage,$verbindung);
//-verteilterSchaden berechnen $abfrage = "UPDATE $tableName2 SET verteilterSchaden=verteilterSchaden+$schaden WHERE id = $idp1"; $erg = mysql_db_query($database,$abfrage,$verbindung);
//-empfangenerSchaden berechnen $abfrage = "UPDATE $tableName2 SET empfangenerSchaden=$empfangenerSchaden+$schaden WHERE id = $idp2"; $erg = mysql_db_query($database,$abfrage,$verbindung); } else{ $schaden="daneben"; } }
$Text = "<td class="main">$angriff: $schaden</td></tr>"; SetHTMLText($Text,$database,$verbindung); removePlayer($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password);
}
//--Funktion--Kampf berechnen-----------------------------------------------ende-----------------//
//--Funktion--removePlayer --die Spieler entfernen die keine hitpoints mehr haben--------------// function removePlayer($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password){
$abfrage = "SELECT count(User) FROM $tableName WHERE hitpoints < 0"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($anzahlToter)=mysql_fetch_row($erg);
for ($i=0;$i<$anzahlToter;$i=$i+1){
$abfrage = "SELECT id FROM $tableName WHERE hitpoints < 0 LIMIT $i,1"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($Playerid)=mysql_fetch_row($erg);
$abfrage = "SELECT User,hitpoints FROM $tableName WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($User,$hitpoints)=mysql_fetch_row($erg);
$Text = "<tr><td colspan=2 class="main"><br>$User ist rausgeflogen mit $hitpoints<br></td></tr>"; SetHTMLText($Text,$database,$verbindung);
$abfrage = "UPDATE $tableName2 SET Runde = $round WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung);
$abfrage = "DELETE FROM $tableName WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung); } }
//--Funktion--die Spieler entfernen die keine hitpoints mehr haben---------ende---------------//
//--Funktion--agr wird neu berechnet---------------------------------------------------------// function updateAgr($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password){
$abfrage = "SELECT count(id) FROM $tableName"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($anzahl)=mysql_fetch_row($erg); for ($i=0;$i<$anzahl;$i=$i+1){
$abfrage = "SELECT id,User FROM $tableName LIMIT $i,1"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($Playerid,$User) = mysql_fetch_row($erg);
$abfrage = "SELECT MechID,PilotID FROM mmw_members WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($mid,$pid) = mysql_fetch_row($erg);
$abfrage = "SELECT mstaerke,mgeschw,mbeweg,mzielv,mkonst, mspezat,mresfeu,mresplas,mresene,mresstra,mresexp,pintel,preakt,prefle,praeum,ptecver,pkonz FROM mmw_pilot,mmw_mech WHERE mid=$mid AND pid=$pid"; $erg = mysql_db_query($database,$abfrage,$verbindung); list($mstaerke,$mgeschw,$mbeweg,$mzielv,$mkonst,$mspezat,$mresfeu,$mresplas,$mresene,$mresstra,$mresexp,$pintel,$preakt,$prefle,$praeum,$ptecver,$pkonz) = mysql_fetch_row($erg);
//AGR bestimmen $agr=$mgeschw+$preakt; $zz =rand(0,1); $agr = ($agr)- ($zz*($agr/4));
$abfrage = "UPDATE $tableName SET agr = $agr WHERE id = $Playerid"; $erg = mysql_db_query($database,$abfrage,$verbindung);
}
}
//--Funktion--agr wird neu berechnet-------------------------------------ende-----------------//
//---Funktion-----------Zufallszahl berechnen zwischen 0 und $anzahl(exklusiv $doNotUse)-----// function zzGen($anzahl,$doNotUse){ $zzReturn = rand(0,$anzahl); if ($zzReturn==$doNotUse OR $zzReturn==""){ return zzGen($anzahl,$doNotUse); } else { return $zzReturn; } } //---Funktion-----------Zufallszahl berechnen-----//
function SetHTMLText($Text,$database,$verbindung){ $datum=date(dmy); $abfrage = "UPDATE mmw_liga_stats SET htmlText= CONCAT(htmlText,' ','$Text') WHERE datum=$datum"; $erg = mysql_db_query($database,$abfrage,$verbindung); }
ligaSpielStarten($tableName,$round,$tableName2,$htmlText,$verbindung,$database,$password);
Ich bin für alle Anregungen mehr als Dankbar !!!!!!!! Pudding