Hallo,
ich spiele das Browsergame Syndicates. Für dieses Game gab es immer einen Angriffsrechner, bis der Entwickler aufgehört hat zu spielen. Ich habe den Rechner jetzt soweit für die neue Runde angepasst. Ich habe einen neuen Konzerntyp usw. eingebaut. Ging durch Copy & Paste recht simpel. Hab nämlich eigentlich keien Ahnung von PHP aber jeder hat mal angefangen^^
Erstmal Grundlegendes zu dem Spiel:
Es gibt 4 verschiedene Fraktionen:
BF
UIC
SL
NEB
Die ersten drei gab es schon immer, NEB ist jetzt neu hinzugekommen. Jede Fraktion hat konzernspezifische Einheiten. BF besitzt z.B. Wartanks, Strike Fighter usw.
Erklärung der Einheiten und Name Anhand des Konzerntyps BF im Quellcode:
Marines = marine
Ranger = ranger
Wartank = elite1
Strike Fighter = elite2
Titan = elite3
Dieser neue Konzerntyp (NEB) hat nun eine Einheit die folgendes macht:
EMP Cannon
1. Angriffspunkte: 0
2. Verteidigungspunkte: 1
3. Kosten: 925 t, 750 MWh, 200 P
4. Eigenschaften: Jede EMP Cannon neutralisiert im Kampf die Angriffspunkte einer gegnerischen Einheit, angefangen mit den stärksten gegnerischen Einheiten nach Verrechnung aller Boni.
Genau um Punkt 4 geht es. Das heißt also im Klartext:
Greift ein BF z.B. mit
100 Wartanks
150 Strike Fightern
200 Titanen
an und besitzt NEB
250 EMP Cannons
werden also angefangen bei den stärksten gegnerischen Einheiten 250 abgezogen.
Das beudeutet also das der BF nur noch mit
100 Wartanks
100 Strike Fightern
angreift.
Es gibt jetzt für jeden Konzerntyp zwei PHP Datein. In der einen Datei (z.B. defNEB.php) wird die Defensivkraft ausgerechnet. In der anderen ( z.B. attNEB.php) wird die Offensivkraft ausgerechnet.
Ich muss jetzt also irgendwie in die Defensivdatei von NEB reinbringen das von dem Angreifer die jeweils stärksten Einheiten abgezogen werden.
Jo, leider habe ich überhaupt keien ahnung wie ich das machen soll.
Hier mal der Quelltext der Datei defNEB.php (die Verteidiger)
Jetzt die Datei attBF.php (die der Angreifer):
Hm, ich hoffe das ich das irgendwie verständlich ausgedrückt habe. Wenn nicht einfach fragen.
Ich hoffe das mir irgendjemand helfen kann, auch wenn es sicherlich schwer ist die Anforderung zu verstehen....
Danke
ich spiele das Browsergame Syndicates. Für dieses Game gab es immer einen Angriffsrechner, bis der Entwickler aufgehört hat zu spielen. Ich habe den Rechner jetzt soweit für die neue Runde angepasst. Ich habe einen neuen Konzerntyp usw. eingebaut. Ging durch Copy & Paste recht simpel. Hab nämlich eigentlich keien Ahnung von PHP aber jeder hat mal angefangen^^
Erstmal Grundlegendes zu dem Spiel:
Es gibt 4 verschiedene Fraktionen:
BF
UIC
SL
NEB
Die ersten drei gab es schon immer, NEB ist jetzt neu hinzugekommen. Jede Fraktion hat konzernspezifische Einheiten. BF besitzt z.B. Wartanks, Strike Fighter usw.
Erklärung der Einheiten und Name Anhand des Konzerntyps BF im Quellcode:
Marines = marine
Ranger = ranger
Wartank = elite1
Strike Fighter = elite2
Titan = elite3
Dieser neue Konzerntyp (NEB) hat nun eine Einheit die folgendes macht:
EMP Cannon
1. Angriffspunkte: 0
2. Verteidigungspunkte: 1
3. Kosten: 925 t, 750 MWh, 200 P
4. Eigenschaften: Jede EMP Cannon neutralisiert im Kampf die Angriffspunkte einer gegnerischen Einheit, angefangen mit den stärksten gegnerischen Einheiten nach Verrechnung aller Boni.
Genau um Punkt 4 geht es. Das heißt also im Klartext:
Greift ein BF z.B. mit
100 Wartanks
150 Strike Fightern
200 Titanen
an und besitzt NEB
250 EMP Cannons
werden also angefangen bei den stärksten gegnerischen Einheiten 250 abgezogen.
Das beudeutet also das der BF nur noch mit
100 Wartanks
100 Strike Fightern
angreift.
Es gibt jetzt für jeden Konzerntyp zwei PHP Datein. In der einen Datei (z.B. defNEB.php) wird die Defensivkraft ausgerechnet. In der anderen ( z.B. attNEB.php) wird die Offensivkraft ausgerechnet.
Ich muss jetzt also irgendwie in die Defensivdatei von NEB reinbringen das von dem Angreifer die jeweils stärksten Einheiten abgezogen werden.
Jo, leider habe ich überhaupt keien ahnung wie ich das machen soll.
Hier mal der Quelltext der Datei defNEB.php (die Verteidiger)
PHP-Code:
<?php
if($krieg ==1){
if($tmp_v_ranger < $verteidiger_syn_ranger){
$tmp_v_ranger=$tmp_v_ranger * 2;
$anz_syn_ranger = $tmp_v_ranger / 2;
}else{
$tmp_v_ranger= $tmp_v_ranger + $verteidiger_syn_ranger;
}
$anz_syn_ranger = $tmp_v_ranger / 2;
$anz_syn_ranger = $verteidiger_syn_ranger;
if($verteidiger_forschung_fs ==1){
if($tmp_v_marine < $verteidiger_syn_marine){
$tmp_v_marine=$tmp_v_marine * 2;
$anz_syn_marine = $tmp_v_marine / 2;
}else{
$tmp_v_marine= $tmp_v_marine + $verteidiger_syn_marine;
}
$anz_syn_marine = $tmp_v_marine / 2;
$anz_syn_marine = $verteidiger_syn_marine;
}}
if($verteidiger_forschung_fs==1){
$VPMarine=$tmp_v_marine*5;
}else{
$VPMarine=0;
}
$VPRanger=$tmp_v_ranger*(8+$verteidiger_forschung_rmt + $verteidiger_forschung_ru*2);
### Anfang Verteidigungspunkte der Einheit Elite1 (Anzahl der Einheiten * 6) ###
$VPPatriot=$tmp_v_elite1*6;
### Anfang Verteidigungspunkte der Einheit Elite2 (Anzahl der Einheiten * 13) ###
$VPPhoenix=$tmp_v_elite2*13;
### Anfang Verteidigungspunkte der Einheit Elite3 (Anzahl der
### Einheiten * 1 / Jede EMP Nannon neutralisiert im Kampf die
### Angrissfpunkte einer gegnerischen Einheit! Wie rechen ich das??) ###
$VPCannon = $tmp_v_elite3*1;
$gesamt = $VPMarine + $VPRanger + $VPPatriot + $VPPhoenix + $VPCannon;
$VPElite1 = $VPPatriot;
$VPElite2 = $VPPhoenix;
$VPElite3 = $VPCannon;
$forts_bonus = ($verteidiger_forts / $verteidiger_land * 100)*2.5;
if ($forts_bonus>50){
$forts_bonus=50;
}
$Bonus_bdt = $verteidiger_forschung_bdt*5;
$Bonus_dn = $verteidiger_forschung_dn*5;
$Bonus_ods = $verteidiger_forschung_ods*5;
$prozentbonus_gesamt = $Bonus_bdt + $Bonus_dn + $Bonus_ods + $forts_bonus;
$prozentbonus_gesamt2 = ($gesamt / 100 * $prozentbonus_gesamt);
$vp = $gesamt + ($gesamt / 100 * $prozentbonus_gesamt);
if($vp<$verteidiger_land*2){
$vp= $verteidiger_land*2;
}
?>
Jetzt die Datei attBF.php (die der Angreifer):
PHP-Code:
<?php
$tmp_marine = $angreifer_marine;
$tmp_ranger = $angreifer_ranger;
$tmp_def_ranger = $verteidiger_ranger;
$tmp_elite1 = $angreifer_elite1;
$tmp_elite2 = $angreifer_elite2;
$tmp_elite3 = $angreifer_elite3;
$tmp_aussenposten = $angreifer_aussenposten;
if($krieg ==1){
if($tmp_marine < $angreifer_syn_marine){
$tmp_marine=$tmp_marine * 2;
$anz_syn_marine = $tmp_marine / 2;
}else{
$tmp_marine= $tmp_marine + $angreifer_syn_marine;
}
$anz_syn_marine = $tmp_marine / 2;
$anz_syn_marine = $angreifer_syn_marine;
if($angreifer_forschung_fs ==1){
if($tmp_ranger < $angreifer_syn_ranger){
$tmp_ranger=$tmp_ranger * 2;
$anz_syn_ranger = $tmp_ranger / 2;
}else{
$tmp_ranger= $tmp_ranger + $angreifer_syn_ranger;
}
$anz_syn_ranger = $tmp_ranger / 2;
$anz_syn_ranger = $angreifer_syn_ranger;
}}
#MARINE - Anfang
$tmp_marine_wert = $tmp_marine*(12+$angreifer_forschung_rmt);
#MARINE - Ende
#RANGER - Anfang
if($angreifer_forschung_fs=="1"){
$tmp_ranger_wert = $tmp_ranger*(5);
}else{
$tmp_ranger_wert = 0;
};
#RANGER - Ende
#ELITE 1 - Anfang
$tmp_elite1_wert = $tmp_elite1*(20);
#ELITE 1 - Ende
#ELITE 2 - Anfang
if($tmp_elite2>$tmp_def_ranger){
$tmp_elite2_wert = $tmp_elite2 * 24 - $tmp_def_ranger * 6;
}else{
$tmp_elite2_wert = $tmp_elite2 * 18;
};
#ELITE 2 - Ende
#ELITE 3 - Anfang
$tmp_elite3_wert = $tmp_elite3*(20);
if($tmp_elite3>$tmp_marine/2){
$tmp_bonus_titan = $tmp_marine * 3;
}else{
$tmp_bonus_titan = ($tmp_marine - ($tmp_marine - $tmp_elite3 * 2)) * 3;
};
#ELITE 3 - Ende
#Boni(Aussenposten) - Anfang
$tmp_ap_bonus_1 = ($tmp_aussenposten / $angreifer_land * 100)*3;
if ($tmp_ap_bonus_1>60){
$tmp_ap_bonus_1=60;
}
#Boni(Aussenposten) - Ende
#Boni(BOT) - Anfang
$tmp_bot = $angreifer_forschung_bot*5;
#Boni(BOT) - Ende
#Boni (IWT)- Anfang
$tmp_iwt = $angreifer_forschung_iwt*10;
#Boni (IWT)- Ende
#Zusammenzaehlen
$tmp_units = $tmp_marine_wert + $tmp_ranger_wert + $tmp_elite1_wert + $tmp_elite2_wert + $tmp_elite3_wert + $tmp_bonus_titan;
$tmp_malus = $verteidiger_forschung_dn * 5;
$tmp_bonus = $tmp_iwt + $tmp_bot + $tmp_ap_bonus_1 + 10;
$tmp_marine_wert_a = $tmp_marine_wert;
$tmp_ranger_wert_a = $tmp_ranger_wert;
$tmp_elite1_wert_a = $tmp_elite1_wert;
$tmp_elite2_wert_a = $tmp_elite2_wert;
$tmp_elite3_wert_a = $tmp_elite3_wert;
$angreifer_bonus = $tmp_bonus - $tmp_malus;
$angreifer_bonus2 = ($tmp_units / 100 * $tmp_bonus) - ($tmp_units / 100 * $tmp_malus);
$ap = $tmp_units + ($tmp_units / 100 * $tmp_bonus) - ($tmp_units / 100 * $tmp_malus) + $angreifer_ap_waffenlager;
?>
Ich hoffe das mir irgendjemand helfen kann, auch wenn es sicherlich schwer ist die Anforderung zu verstehen....

Danke
Kommentar