GPN13:Rocket Scissor Spacegoo: Unterschied zwischen den Versionen
aus dem Wiki des Entropia e.V., CCC Karlsruhe
Cupe (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Cupe (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
[[Datei:spacegoo_02_kampfsystem.png|thumb|300px]] | [[Datei:spacegoo_02_kampfsystem.png|thumb|300px]] | ||
'''spacegoo.gpn.entropia.de''' | ==Server== | ||
mehr doku und '''http://spacegoo.gpn.entropia.de''' | |||
'''spacegoo.gpn.entropia.de:6000''' | |||
==Code fürs Kampfsystem== | |||
def battle_round(attacker,defender): | |||
#nur eine asymmetrische runde. das hier muss mal also zweimal aufrufen. | |||
numships = len(attacker) | |||
defender = defender[::] | |||
for def_type in range(0,numships): | |||
for att_type in range(0,numships): | |||
multiplier = 0.1 | |||
absolute = 1 | |||
if (def_type-att_type)%numships == 1: | |||
multiplier = 0.25 | |||
absolute = 2 | |||
if (def_type-att_type)%numships == numships-1: | |||
multiplier = 0.01 | |||
defender[def_type] -= (attacker[att_type]*multiplier) + (attacker[att_type] > 0) * absolute | |||
defender[def_type] = max(0,defender[def_type]) | |||
return defender | |||
def battle(s1,s2): | |||
ships1 = s1[::] | |||
ships2 = s2[::] | |||
while sum(ships1) > 0 and sum(ships2) >0: | |||
new1 = battle_round(ships2,ships1) | |||
ships2 = battle_round(ships1,ships2) | |||
ships1 = new1 | |||
#print ships1,ships2 | |||
ships1 = map(int,ships1) | |||
ships2 = map(int,ships2) | |||
#print ships1,ships2 | |||
return ships1, ships2 | |||
Version vom 30. Mai 2013, 19:50 Uhr
Server
mehr doku und http://spacegoo.gpn.entropia.de
spacegoo.gpn.entropia.de:6000
Code fürs Kampfsystem
def battle_round(attacker,defender): #nur eine asymmetrische runde. das hier muss mal also zweimal aufrufen. numships = len(attacker) defender = defender[::] for def_type in range(0,numships): for att_type in range(0,numships): multiplier = 0.1 absolute = 1 if (def_type-att_type)%numships == 1: multiplier = 0.25 absolute = 2 if (def_type-att_type)%numships == numships-1: multiplier = 0.01 defender[def_type] -= (attacker[att_type]*multiplier) + (attacker[att_type] > 0) * absolute defender[def_type] = max(0,defender[def_type]) return defender
def battle(s1,s2): ships1 = s1[::] ships2 = s2[::] while sum(ships1) > 0 and sum(ships2) >0: new1 = battle_round(ships2,ships1) ships2 = battle_round(ships1,ships2) ships1 = new1 #print ships1,ships2 ships1 = map(int,ships1) ships2 = map(int,ships2) #print ships1,ships2 return ships1, ships2