Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Kampfscript fertigstellen ( brauch hilfe ) [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Kampfscript fertigstellen ( brauch hilfe )


 
tfklosi
01-07-2009, 13:50 
 
Hallo,

Ich bräuchte hilfe mal bei coden, ich will ein rundenkampfscript coden
deswegen habe ich mich in forum angemeldet damit mir einer hilft
<?php

$schlagen = 100;
$treten = 100;
if(isset($_POST['schlagen']))
{
$schlagen - 10;
}

?>


mfg tfklosi

 
unset
01-07-2009, 13:58 
 
Und wo ist dein Problem?!

 
tfklosi
01-07-2009, 14:01 
 
ich weis ja da dar noch paar codes fehlen aber ich weis nicht welche ich will das es so viele runden gibst bis einer K.O ist und welche attacke wählt zieht immer unterschiedlich sollte so sein








sry wegen mein schlechten

 
onemorenerd
01-07-2009, 14:03 
 
Wie sehen deine Ansätze aus?
Wie gut kannst du PHP?

 
tfklosi
01-07-2009, 14:03 
 
zurzeit ein bischchen gut und ein bischchen schlehct

 
litterauspirna
01-07-2009, 14:50 
 
Hallo,

du solltest erstmal ganz genau beschreiben was dieses kampfrunden script überhaupt alles können soll, zum beispiel hat das auch was mit specialmoves und so zu tun. Bezieht sich das ganze auf Boxen oder einen anderen Kampfsport, da gibt es nämlich auch gewaltige Unterschiede, in dem einen gibt es Low-Kicks, Side-kicks, Reverse-Kicks, front-Kicks und so weiter. Auch Uppercuts.

Egal das wird zu weit jetzt, jedenfalls diese Sachen fliesen da ein und haben verschiedene Punktwertungen.

Wo sind eben dann deine Ansätze für de Rundenrechnung, die Schlagrechnungen und so weiter?

Keiner wird dir hier einfach mal so deine Arbeit abnehmen.

Und das was du da an Code gepostet hast ist mehr als Mager und wird auch so nicht unbedingt zum Erfolg führen.

 
BananaJo
01-07-2009, 16:50 
 
<?php

$schlagen = 100;
$treten = 100;
if(isset($_POST['schlagen']))
{
$schlagen -= 10;
}

if(isset($_POST['treten']))
{
$treten -= 10;
}

?>

 
gourmet
01-07-2009, 20:49 
 
moin,

hab dir mal nen kleines "Kampfscript" gebastelt, die Spieler treten und schlagen sich dabei unkontrolliert und völlig wahllos.


$player[111] = array('id' => 1, 'name' => 'HANS', 'leben' => 120);
$player[222] = array('id' => 2, 'name' => 'MAX', 'leben' => 120);

$run = true;

while($run) {
$players = array(1 => 111, 2 => 222);
$opfer = rand(1,2);

$aktionen = array(1 => 'schlagen', 2 => 'treten');
$was = rand(1,2);

switch($aktionen[$was]) {
case 'schlagen':
$player[$players[$opfer]]['leben'] -= 10;
break;
case 'treten':
$player[$players[$opfer]]['leben'] -= 10;
break;
}
if($player[111]['leben'] <= 0) {
$run = false;
echo $player[222]['name'].' hat gewonnen';
}
if($player[222]['leben'] <= 0) {
$run = false;
echo $player[111]['name'].' hat gewonnen';
}
}


vg
gourmet

 
tfklosi
02-07-2009, 09:37 
 
aber es sollte man sich seine attacke wählen können

 
unset
02-07-2009, 09:40 
 
Du hast für die dürftige Beschreibung und den mageren Versuch schon eine ganze Menge Hilfe bekommen. Eventuell schreibst du, was du überhaupt willst. Das ist nämlich bisher immer noch nicht ersichtlich.

 
tfklosi
02-07-2009, 09:44 
 
egal ich versuche es mal selbst wenn ich das nicht schaffe dann schreib ich

Trotzdem :danke:

 
tfklosi
20-09-2009, 21:39 
 
hallo,

Ich brauche wirklich hilfe da soll nicht automatisch es sollte man wie bei dbzog.de so seine Technicken wählen können bitte hilft also ich brauche aber ein rundenbassiertes kampfscript.




mfg
Tfklosi

 
Kropff
20-09-2009, 21:45 
 
Du hast hier schon einige Tipps inklusive Codebeispiele bekommen. Aber trotzdem noch immer keine eigenen vernünftigen Ansätze geliefert. Daher verschiebe ich das jetzt ins richtige Forum.

Peter

PS: Wenn du bereit bist, dafür Geld auszugeben, poste dein Angebot in den Jobangeboten (http://www.php-resource.de/jobs/)

 
splasch
29-09-2009, 10:26 
 
hallo,

Ich brauche wirklich hilfe da soll nicht automatisch es sollte man wie bei dbzog.de so seine Technicken wählen können bitte hilft also ich brauche aber ein rundenbassiertes kampfscript.


mfg
Tfklosi


Wie wers wenn du dir erst mal einen Ansatz überlegst wie die Berechnung durchgeführt werden soll? Danach kann man sich an die Php umsetzung machen. Allerdings mußt du dann schon wissen was und wie es Berechnet werden soll.

Hier ein Beispiel mit ein paar andere Faktoren aber in Grunde das selbe wie bei den Technicken nur das es sich hier um Waffen und viele andere Faktoren handelt. Inklusive eines Zufallfaktors weil ja man den Gegner nicht immer gleich gut trifft.


<?php
/**
* Kampfscript
* @version 1
* @author Splasch
* Filename: kampf.php
*
**/

class Kampf
{
protected $def; #Rüstung abwehr /Defense
protected $angr; #Waffe /Angriff
protected $stk; # Char stärke kommt zum angriff dazu
protected $iq; # Inteligenz
#Gegner Werte
protected $gdef; #Rüstung abwehr /Defense
protected $gangr; #Waffe /Angriff
protected $gstk; # Char stärke kommt zum angriff dazu
protected $giq; # Inteligenz

function __construct($angr,$def,$stk,$iq)
{
if($angr <=0 ){$angr=1;}
if($def <=0 ){$def=1;}
if($stk <=0 ){$stk=1;}
if($iq <=0 ){$iq=1;}
$this->angr=$angr;
$this->def=$def;
$this->stk=$stk;
$this->iq=$iq;
}

function set_gegner($gangr,$gdef,$gstk,$giq)
{
if($gangr <=0 ){$gangr=1;}
if($gdef <=0 ){$gdef=1;}
if($gstk <=0 ){$gstk=1;}
if($giq <=0 ){$giq=1;}
$this->gangr=$gangr;
$this->gdef=$gdef;
$this->gstk=$gstk;
$this->giq=$giq;
}

function runde() #Livepunkte
{
#Zufall einfluss festlegen
srand(microtime()*1000000);
$zufall = rand(20,100); #20 bis 100%
$gzufall = rand(20,100); #20 bis 100%

#Angriff errechnen
$angriff=$this->angr+(round($this->angr/70*$this->stk,0)); #Waffe plus Stärke in Prozent von angriff
$gangriff=$this->gangr+(round($this->gangr/70*$this->gstk,0)); # Gegner Waffe plus Stärke
#Verdeitigung errechnen
$defense=$this->def+(round($this->def/20*$this->iq,0)); # Rüstung plus Inteligenz
$gdefense=$this->gdef+(round($this->gdef/20*$this->giq,0)); # Rüstung plus Inteligenz

#Zufall bei angriff ausrechnen
$schaden['angriff']=(round($angriff/100*$zufall,0)); #Angriff punkte auf grund der Treffer Prozent berechnen
$schaden['gangriff']=(round($gangriff/100*$gzufall,0));
#Abwehr bei angriff errechnen
$schaden['block']=(round($defense/100*$zufall,0));
$schaden['gblock']=(round($gdefense/100*$gzufall,0));

#Wenn Block höher zurück setzen
if($schaden['angriff']< $schaden['gblock']) #Gegner
{$schaden['gblock']=$schaden['angriff']-1;}
if($schaden['gangriff']<$schaden['block']) #Spieler
{$schaden['block']=$schaden['gangriff']-1;}

$gegner=($schaden['angriff']-$schaden['gblock']); #lp Gegner
$spieler=($schaden['gangriff']-$schaden['block']); #lp Spieler
#Auf negative Werte prüfen:
if ($gegner < 0){$gegner=0;}
if($spieler < 0){$spieler=0;}

$schaden['gegner']=$gegner;
$schaden['spieler']=$spieler;

return $schaden;

}


}


Verwendung der Klasse bzw Ausgabe.

//////////////////////////////////////////
/// Kampfschleife ///
//////////////////////////////////////////
$ang1 = $waffenschaden;
$runde = 0;

#Werte festlegen
$kampf=new Kampf($waffenschaden,$abwehr,$stk,$iq); #Spieler
$kampf->set_gegner($g_ang,$def2,$stk2,$giq); #Gegner


while(($lp1>=0 && $lp2>=0))
{
$runde++;
$schaden=$kampf->runde(); #Ergebniss der Berechnung

$lp1 = $lp1 - $schaden['spieler'];;
$lp2 = $lp2 - $schaden['gegner'];

#Runden zwischen Ergebniss speichern für spätere Ausgabe
$rund['runde'][]=$runde;
$rund['gegner'][]=$gegner;
$rund['user'][]=$_SESSION['user'];
$rund['ang1'][]=$schaden['angriff'];
$rund['ang2'][]=$schaden['gangriff'];
$rund['block'][]=$schaden['block'];
$rund['gblock'][]=$schaden['gblock'];
$rund['lp1'][]=$lp1;
$rund['lp2'][]=$lp2;
$rund['waffe'][]=$waffe;
$rund['waffe2'][]=$waffe2;
}


Mfg Splasch

 
tfklosi
23-10-2009, 18:08 
 
Danke Splash es klappt alles gut


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:41 Uhr.