| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

18-10-2002, 12:06
|
|
tomtherock
Registrierter Benutzer
|
|
Registriert seit: Jun 2002
Ort: München
Beiträge: 328
|
|
*fg* ist mir auch schon aufgefallen...tja aber ob das ein Programmierfehler ist denke eher halt ein versuch´s Account da das stehts erweitert wird.
Aber ich fände is richtig interessant so ein "Kampfscript" bzw OnlineStrategie script und wenn beide ihre "Einsetze" getätigt haben und die Werte in die DB eingetragen worden sind kommt je nach einsatz von Einheiten zb an die 10 verschiedene FlashFilme so würde das ganze echt
einen OnlineStrategie Flair annehmen...
so alla:
IF ($anzahl_catapult < "5") {
$flashfight = "flash_film6.swf";
}
das würde das ganze doch ansehnlicher machen oder :-)!?
Könnte man ja auch zwischensequenzen so einschalten mit Timing etc...
aber das is natürlich ein größerer Aufwand an Flashing  !
|

18-10-2002, 12:22
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
in flash kannste ja auch variablen nehmen. da kannst du dann viel weiter gehen. halt 5 mal soldaten mit schwertern, oder was die damals hatten, 3 stück mit pfeil+bogen oder so. aber das wird dann echt ziemlich aufwendig, obwohl es natürlich den spielspass erhöht.
|

18-10-2002, 12:23
|
|
tomtherock
Registrierter Benutzer
|
|
Registriert seit: Jun 2002
Ort: München
Beiträge: 328
|
|
ja stimmt ja hat ich ganz vergessen...langsam hätte ich selbst lust drauf das zu machen wenn ich nicht so wenig Zeit hät ;-)!
|

18-10-2002, 17:26
|
|
zuzu
Junior Member
|
|
Registriert seit: Oct 2002
Beiträge: 61
|
|
Ne mit Flash will ich das nicht machen *g*
Und nochmal dazu wegen der Anzeige der Kampfruden oder so :
der Kampf wird nicht(!) irgendwie dargestellt  Wenn er vorbei ist bekommen Angreiffer und Verteidiger ne NAchricht mit dem Bericht
Aber nochmal zurück zu diesem Script :
Also Sieger berechnen usw. ist ja kein Problem . Bloß meine Frage ist folgende :
Wie soll cih berechnen was von beiden noch überig ist am ende .
Er soll ja immer erst von dem TypA die Truppen abziehen , dann von TypB dann TypC und dann erst TypD
Und wenn er von irgendeinem keine haben sollte , dann wird dieser Truppentyp halt übersprungen 
Das ganze bis keine Punkte mehr übrig sind .
|

18-10-2002, 17:49
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
mach die truppen von angreifer und verteidiger in je ein array
($angreifer[0] - $angreifer[3])
dann machst du (falls die angreifer verloren haben) ne for-schleife von 0 bis 3 und dadrin ne while schliefe (solange abzuziehende punkte > 0 und $angreifer[zaehler der for-schleife]>0, ziehe 1 punkt ab und vermindere abzuziehende punkte um 1)
so in etwa würd ich's machen
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

18-10-2002, 18:02
|
|
zuzu
Junior Member
|
|
Registriert seit: Oct 2002
Beiträge: 61
|
|
Verstehe idhc da gerade nicht ganz 
Kannst du evtl. mal ein kl. Beispiel geben ?
|

19-10-2002, 00:53
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
na super, da kommt man sternhagelnüchtern heim und soll noch denken!
stell dir vor, du musst 12,375898 punkte abziehen und hast ein array mit 4 elementen $angreifer[0..3] (0=Typ A, 3=Typ D)
PHP-Code:
for ($welcher_typ=0;$welcher_typ<4;$welcher_typ++)
{
while (($abzuziehende_punkte>0) && ($angreifer[$welcher_typ]>0))
{
$abzuziehende_punkte--;
$angreifer[$welcher_typ]--;
}
if ($abzuziehende_punkte==0) break;
}
mal eben auf die schnelle, keine garantie ob's geht.
gedacht isses so: er fängt bei typ a an und zieht 1 punkt ab, solange er punkte abziehen muss (sinnig gelle *g*). aufhören tut er entweder, wenn er keine punkte mehr abziehen muss, oder wenn er einen typ komplett abgezogen hat (dann macht er beim nächsten typ weiter).
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-10-2002, 01:12
|
|
zuzu
Junior Member
|
|
Registriert seit: Oct 2002
Beiträge: 61
|
|
genauso ist es gedacht 
danke
werde es mir morgen nochmal genauer ansehen
|

24-10-2002, 20:14
|
|
zuzu
Junior Member
|
|
Registriert seit: Oct 2002
Beiträge: 61
|
|
hmmm
Bekomme das aber nicht so wirklich in das script das ich ich habe
PHP-Code:
<?
function kampf($k_id,$id,$kampf1,$kampf2,$kampf3,$kampf4,$kampf5,$kampf6,$kampf7,$ende,$dorf_geg)
{
$kampf1_angriff=$kampf1;
$kampf2_angriff=$kampf2;
$kampf3_angriff=$kampf3;
$kampf4_angriff=$kampf4;
$kampf5_angriff=$kampf5;
$kampf6_angriff=$kampf6;
$kampf7_angriff=$kampf7;
$gegner_dorf=$dorf_geg;
$kampfende=$ende;
if($kampfende<time()) {
$kampfpoints_angriff=($kampf1_angriff+$kampf2_angriff+$kampf3_angriff+$kampf4_angriff+$kampf5_angriff+$kampf6_angriff+$kampf7_angriff);
$truppen_gegner_sel=mysql_query("SELECT kampf1,kampf2,kampf3,kampf4,kampf5,kampf6,kampf7 from felder WHERE feldid='".$dorf_geg."'");
$truppen_gegner=mysql_fetch_array($truppen_gegner_sel);
$kampf1_gegner=$truppen_gegner[kampf1];
$kampf2_gegner=$truppen_gegner[kampf2];
$kampf3_gegner=$truppen_gegner[kampf3];
$kampf4_gegner=$truppen_gegner[kampf4];
$kampf5_gegner=$truppen_gegner[kampf5];
$kampf6_gegner=$truppen_gegner[kampf6];
$kampf7_gegner=$truppen_gegner[kampf7];
$kampfpoints_gegner=($kampf1_gegner+$kampf2_gegner+$kampf3_gegner+$kampf4_gegner+$kampf5_gegner+$kampf6_gegner+$kampf7_gegner);
if($kampfpoints_angriff>$kampfpoints_gegner) { $winner=angriff; } else { $winner=gegner; }
if($winner=="angriff") {
$result="UPDATE felder set account=".$id." , kampf1=".$kampf1_angriff.", kampf2=".$kampf2_angriff.", kampf3=".$kampf3_angriff.", kampf4=".$kampf4_angriff.", kampf5=".$kampf5_angriff.", kampf6=".$kampf6_angriff.", kampf7=".$kampf7_angriff." WHERE feldid='".$dorf_geg."'";
mysql_query($result);
$result2="DELETE from kampf WHERE id=$k_id";
mysql_query($result2);
print "<b>Den Kampf gewann der Angreifer !</b><br>";
} }
}
$truppen_angreifer_sel=mysql_query("SELECT id,kampf1,kampf2,kampf3,kampf4,kampf5,kampf6,kampf7,ende,dorf_geg from kampf WHERE angreifer='".$id."'");
while($truppen_angreifer=mysql_fetch_array($truppen_angreifer_sel)) {
kampf($truppen_angreifer[id],$id,$truppen_angreifer[kampf1],$truppen_angreifer[kampf2],$truppen_angreifer[kampf3],$truppen_angreifer[kampf4],$truppen_angreifer[kampf5],$truppen_angreifer[kampf6],$truppen_angreifer[kampf7],$truppen_angreifer[ende],$truppen_angreifer[dorf_geg]);
}
?>
Weiß jemand noch ne andere Möglichkeit ??
|

24-10-2002, 20:19
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von zuzu
hmmm
Bekomme das aber nicht so wirklich in das script das ich ich habe 
PHP-Code:
$kampf1_gegner=$truppen_gegner[kampf1];
$kampf2_gegner=$truppen_gegner[kampf2];
$kampf3_gegner=$truppen_gegner[kampf3];
$kampf4_gegner=$truppen_gegner[kampf4];
$kampf5_gegner=$truppen_gegner[kampf5];
$kampf6_gegner=$truppen_gegner[kampf6];
$kampf7_gegner=$truppen_gegner[kampf7];
Weiß jemand noch ne andere Möglichkeit ??
|
Wie wärs wenn du ein array dadraus machst?
Bzw. wie w#rs wenn du das array $truppen_gegner nutzt um die punkte abzuziehen?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

24-10-2002, 20:51
|
|
zuzu
Junior Member
|
|
Registriert seit: Oct 2002
Beiträge: 61
|
|
Das überfordert mich irgendwie ....
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|