Übersetzungen dieser Seite:

Marvin

Internet

Hallo ich bin der Marvin.

Ich bin 15 und gehe in die 5.Klasse

Kampfsimulator:

# -*- coding: utf-8 -*-
"""Das folgende ist ein kleiner Kampfsimulator"""
import random
import easygui
class Monster:
     def __init__(self,name="loretta", attack=50, defense=50, luck=20):
         self.name=name
         self.attack=attack
         self.defense=defense
         self.luck=luck
         self.leben=100
         self.kraft=10
 
zombie=Monster("zombie",50,10,5)
#print zombie.leben
vampir=Monster("vampir",25,25,25)
strelok=Monster("strelok",30,12,10)
armee_soldat=Monster("Armee-soldat",10,15,20)
geist=Monster("geist",5,50,5)
loretta=Monster("loretta",34,14,7)
banker=Monster("banker",30,10,0)
lorenz=Monster("lorenz",45,17,24)
altair=Monster("altair",50,24,38)
wahnsinniger=Monster("wahnsinniger",2,2,12)
 
monsterliste=[zombie,vampir,strelok,armee_soldat,geist,loretta,banker,lorenz,altair,wahnsinniger]
 
def schlag(angreifer, verteidiger):
    wuerfel1=random.randint(1,100)
    wuerfel2=random.randint(1,100)
    wuerfel3=random.randint(1,100)
    wuerfel4=random.randint(1,100)
    #print "wer schlägt zuerst?"
    if (angreifer.attack+wuerfel1)>(verteidiger.defense+wuerfel2):
    	# angreifer trifft
    	verteidiger.leben-=random.randint(1,angreifer.kraft)
    	print "%s greift %s an (%i+%i:%i+%i)" % (angreifer.name, verteidiger.name,
    	  angreifer.attack,wuerfel1, verteidiger.defense, wuerfel2)
    	print "der treffer war genial ! %s hat nur noch %i leben"  % (verteidiger.name,verteidiger.leben)
    else:
    	print "%s greift %s an (%i+%i:%i+%i)" % (angreifer.name, verteidiger.name,
    	  angreifer.attack,wuerfel1, verteidiger.defense, wuerfel2) 
        print " der angriff ging in den abendhimmel"
 
 
#altair vs. loretta
def kampf(angreifer, verteidiger):
 
	runde=0
	while angreifer.leben>0 and verteidiger.leben>0:
		runde+=1
		print "runde %d" % runde
		print "%s %d %s %d" % (angreifer.name, angreifer.leben, verteidiger.name, verteidiger.leben)
		print "angriff"
		schlag(angreifer,verteidiger)
		if angreifer.leben>0 and verteidiger.leben>0:
			print "gegenangriff"
			schlag(verteidiger,angreifer)
	if angreifer.leben > 0:
		sieger = angreifer.name
	else:
		sieger = verteidiger.name
	print " %s hat gesiegt"  % sieger
	return sieger
#print "angreifer %d verteidiger %d" % (angreifer.leben, verteidiger.leben)
 
#testen
ss=0
sb=0
for duell in range(1,101):
	sieger =  kampf(strelok, banker)
	print "-------------------------------------------------------------"
	print sieger
	print "-------------------------------------------------------------"
	strelok.leben=100
	banker.leben=100
	if sieger == "strelok":
		ss+=1
	else:
		sb+=1
print "strelok: banker",ss, sb

Fertiger großer Kampfsimulator

(hat ein paar Grammatik schwächen)

# -*- coding: utf-8 -*-
"""Das folgende ist ein kleiner Kampfsimulator
14:Waffen sollen in den Kämpfen eine Rolle spielen"""
 
import random
import easygui
class Waffe:
	def __init__(self, name="stock", attack=1, defense=1, kraft=0, leben=0, trefferdelta=0):
		self.name=name
		self.attack=attack
		self.defense=defense
		self.kraft=kraft
		self.deltaleben=leben
		self.trefferdelta=trefferdelta
 
class Monster:
     def __init__(self,name="loretta", attack=50, defense=50, kraft=50,  waffenliste=[]):
         self.name=name
         self.attack=attack
         self.defense=defense
         self.leben=100
         self.kraft=kraft
         #self.waffenliste=waffenliste
         self.waffe=waffendir[random.choice(waffenliste)]
         self.leben+=self.waffe.deltaleben
 
 
     def vorstellen(self):
         print "------------------------%s---------------------" % self.name
         print "ich bin unbewaffnet. Meine Werte: %i angriff %i defense und %i kraft" %(self.attack, self.defense, self.kraft)
         print "ich bin bewaffnet mit %s,  %i angriff %i defense und %i kraft" %(self.waffe.name, self.attack+self.waffe.attack, self.defense+self.waffe.defense, self.kraft+self.waffe.kraft)
 
 
 
 
waffendir = {}
waffendir["schwert"]=Waffe("einem schwert",-20,4,34,0) # -20, weil es beim angriff behindert
waffendir["schild"]=Waffe("einem schild",-24,50,2)
waffendir["aktenkoffer"]=Waffe("einem aktenkoffer",0,15,17,0)
waffendir["schuhbänder"]=Waffe("zwei schuhbändern",0,0,40,0)
waffendir["schlagring"]=Waffe("einem schlagring",0,1,26,0)
waffendir["englischbuch"]=Waffe("einem englischbuch",0,23,4,0)
waffendir["kainznerbiografie"]=Waffe("einer kainznerbiografie",-2,20,4,0)
waffendir["ast"]=Waffe("einem ast",0,1,2,0)
waffendir["flammenwerfer"]=Waffe("einem flammenwerfer",-34,2,45,0)
waffendir["maschinengewehr"]=Waffe("einem maschinengewehr",-15,1,50,0)
waffendir["bleistift"]=Waffe("einem bleistift",0,1,9,0)
waffendir["alter pc"]=Waffe("einem alten pc",-40,10,14,0)
waffendir["wasserpistole"]=Waffe("einer wasserpistole",-5,1,14,0)
waffendir["grabstein"]=Waffe("einem grabstein",-24,7,17,0)
waffendir["schaufel"]=Waffe("einer schaufel",-5,2,20,0)
waffendir["spitzer holzplock"]=Waffe("einem spitzen holzplock",0,1,23,0)
waffendir["vampirzähne"]=Waffe("vampirzähnen",0,0,29,0,5)
waffendir["titten"]=Waffe("titten",0,50,0,0)
waffendir["schwere handtasche"]=Waffe("einer schweren handtasche",3,11,19,0)
waffendir["lebende ratten"]=Waffe("lebenden ratten",-25,4,13,0) #-25, weil ratten schwer zu fangen sind... 
waffendir["dolch"]=Waffe("einem dolch",0,1,34,0)
waffendir["vergammeltes butterbrot"]=Waffe("einem vergammelten butterbrot",-24,45,3,0)
waffendir["alte spritzen"]=Waffe("alten spritzen",0,0,35,0)
waffendir["hässliche Cousinen"]=Waffe("hässlichen Cousinen",14,24,12,0)
waffendir["eigener fuß"]=Waffe("meinem fuß",-12,5,23,-10)
waffendir["verfluchte vampirzähne"]=Waffe("meinen verluchten vampirzähnen",0,0,30,0,-5)
 
 
 
 
 
zombie=Monster("zombie",5,25,45,["grabstein","schaufel","ast","eigener fuß"])
#print zombie.leben
vampir=Monster("vampir",25,25,25,["spitzer holzplock","vampirzähne","ast","verfluchte vampirzähne"])
#test monster
strelok=Monster("strelok",34,12,23,["maschinengewehr","flammenwerfer","ast"])
armee_soldat=Monster("Armee-soldat",17,15,16,["maschinengewehr","ast","schlagring"])
geist=Monster("geist",50,7,12,["ast","lebende ratten","schwert","schild"])  #schild und schwert ,weil der geist in einem schloss/burg wohnt
loretta=Monster("loretta",45,7,12,["ast","titten","schwere handtasche"])
#test monster
banker=Monster("banker",0,13,34,["ast","bleistift","alter pc","aktenkoffer","englischbuch"])
lorenz=Monster("lorenz",23,19,27,["ast","wasserpistole","kainznerbiografie","schlagring","schuhbänder"])
altair=Monster("altair",45,34,39,["ast","dolch","vergammeltes butterbrot"])
wahnsinniger=Monster("wahnsinniger",34,7,23,["ast","titten","vergammeltes butterbrot","bleistift","alter pc","aktenkoffer","schwert", "schild","wasserpistole","spitzer holzplock","dolch", "lebende ratten","schwere handtasche","schaufel","grabstein","maschinengewehr","flammenwerfer","kainznerbiografie","englischbuch","schuhbänder","schlagring","alte spritzen"])
alte_omi=Monster("alte omi",23,11,21,["ast","hässliche Cousinen"])
 
 
monsterliste=[zombie,vampir,strelok,armee_soldat,geist,loretta,banker,lorenz,altair,wahnsinniger,alte_omi]
 
def schlag(angreifer, verteidiger):
    wuerfel1=random.randint(1,100)
    wuerfel2=random.randint(1,100)
    wuerfel3=random.randint(1,100)
    wuerfel4=random.randint(1,100)
    #print "wer schlägt zuerst?"
    print "%s %d %s %d" % (angreifer.name, angreifer.leben, verteidiger.name, verteidiger.leben)
    print "%s greift %s an %i:%i (%i+%i:%i+%i)" % (angreifer.name, 
                                                  verteidiger.name,
                                                  angreifer.attack+angreifer.waffe.attack+wuerfel1,
                                                  verteidiger.defense+verteidiger.waffe.defense+wuerfel2,
                                                  angreifer.attack+angreifer.waffe.attack,wuerfel1,
                                                  verteidiger.defense+verteidiger.waffe.defense, wuerfel2)
    if (angreifer.attack+angreifer.waffe.attack+wuerfel1)>(verteidiger.defense+verteidiger.waffe.defense+wuerfel2):
     # angreifer trifft
     #verteidiger.leben-=random.randint(angreifer.kraft/4,angreifer.kraft)
     schaden=random.randint(1,angreifer.kraft)
     verteidiger.leben-=schaden
     if angreifer.waffe.trefferdelta >0:
         print "%s trinkt das Blut des Gengners und gewinnt %i Leben" % (angreifer.name,angreifer.waffe.trefferdelta)
         angreifer.leben+=angreifer.waffe.trefferdelta
     elif angreifer.waffe.trefferdelta<0:
        print "%s verletzt sich selber durch %s und verliert %i Leben" % (angreifer.name, angreifer.waffe.name, angreifer.waffe.trefferdelta)
        angreifer.leben+=angreifer.waffe.trefferdelta
     if schaden>angreifer.kraft * 0.75:
         wow="der treffer war genial!"
     elif schaden>angreifer.kraft * 0.50:
         wow="der war ordenlich, aber nicht herausragend"
     elif schaden>angreifer.kraft * 0.25:
         wow="der treffer war unter dem durchschnitt, vielleicht beim nächsten mal"
     elif schaden>angreifer.kraft * 0.10:
         wow="gerade noch getroffen"
     else:
         wow="schäm dich"
     print "%s %s verursacht %i schaden bei %s "  % (wow, angreifer.name, schaden,verteidiger.name)
    else:
     print "der angriff ging in den abendhimmel"
 
 
#altair vs. loretta
def kampf(angreifer, verteidiger):
     angreifer.vorstellen()
     verteidiger.vorstellen()
     print "---------------------------------------------------"
     runde=0
     while angreifer.leben>0 and verteidiger.leben>0 and runde<100:
          runde+=1
          print"==============---- Runde %i ----================" % runde
          print "angriff"
          schlag(angreifer,verteidiger)
          if angreifer.leben>0 and verteidiger.leben>0:
               print "gegenangriff"
               schlag(verteidiger,angreifer)
     if verteidiger.leben > 0:
          sieger = verteidiger.name
     else:
          sieger = angreifer.name
     print " %s hat gesiegt"  % sieger
     return sieger
#print "angreifer %d verteidiger %d" % (angreifer.leben, verteidiger.leben)
 
#testen
ss=0
sb=0
for duell in range(1,2):
     sieger =  kampf(zombie, vampir)
     print "-------------------------------------------------------------"
     print sieger
     print "-------------------------------------------------------------"
     zombie.leben=100
     vampir.leben=100
     if sieger == "zombie":
          ss+=1
     else:
          sb+=1
print "zombie: vampir",ss, sb
 
#jedes monster hat eine kleine gruppe,l aus möglichen waffen...zb banker mit kugelschreiber,lebender sekritärin aktenkoffer,...
#zombie wirft grabsteine oder seinen fuß...dass kostet aber leben,...

xturtle

import xturtle as xt
xt.bgcolor("black")
for marvin in range(101):
    xt.fd(12)
    xt.color("red")
    xt.fd(7)
    xt.color("blue")
    xt.left(87)
    xt.fd(marvin)
    xt.color("yellow")
xt.penup()
xt.home()
xt.fd(-151)
xt.pendown()
 
for marvin in range(201):
    xt.fd(8)
    xt.color("red")
    xt.fd(7)
    xt.penup()
    xt.right(100)
    xt.left(marvin)
    xt.pendown()
    xt.color("blue")
# -*- coding: utf-8 -*-
"""Das folgende ist ein kleiner Kampfsimulator
14:Waffen sollen in den Kämpfen eine Rolle spielen"""
 
import random
import easygui
class Waffe(object):
    def __init__(self, name="stock", speed=1, zielgenauigkeit=1 , kraft=1 , failrisk=0.9, feuerrate=10, munition=30 , defense=0, gruppe="primär"):
        self.name=name
        self.speed=speed
        self.zielgenauigkeit=zielgenauigkeit
        self.kraft=kraft
        self.failrisk=failrisk
        self.feuerrate=feuerrate
        self.munition=munition
        self.defense=defense
        self.gruppe=gruppe
 
 
 
class Monster(object):
     def __init__(self,name="loretta", speed=1, zielgenauigkeit=1, defense=1, ruestung=1, leben=100, waffe=""):
         self.name=name
         self.speed=speed
         self.zielgenauigkeit=zielgenauigkeit #fähigkeit des schützen
         self.defense=defense
         self.ruestung=ruestung
         self.leben=leben
         self.waffe=waffe
 
 
waffendir = {}
waffendir["P90"]=Waffe("p90",20, 15, 100, 0.5, 20, 30, 0, "primär")
waffendir["MP5"]=Waffe("mp5",20, 18, 100, 0.4,  15, 30, 0, "primär")
 
monolithsoldat=Monster("monolithsoldat",20, 20, 20, 5, 100,waffendir["P90"])
zombie=Monster("zombie",10, 10, 10, 5, 100,waffendir["MP5"])
 
def schusswechsel(x, y):
    wspeedx=random.randint(1,20)
    wspeedy=random.randint(1,20)
 
 
    runde=1
    print "%s greift %s an %i:%i (%i+%i+%i:%i+%i+%i)" % (x.name, y.name,
                                            x.speed+x.waffe.speed+wspeedx, y.speed+y.waffe.speed+wspeedy, x.speed, x.waffe.speed,wspeedx, 
                                       y.speed, y.waffe.speed, wspeedy)
    print "schlag"
    if x.speed+x.waffe.speed+wspeedx > y.speed+y.waffe.speed+wspeedy:
        kampfrunde (x,y) 
        if y.leben>0:
           print "gegenschlag"
           kampfrunde(y,x) 
    else:
        kampfrunde(y,x)
        if x.leben>0:
            print "gegenschlag"
            kampfrunde(x,y)
def kampfrunde(a,v):
    wzielgenauigkeita=random.randint(-10,10)
    wdefensev=random.randint(-10,10)
    #treffer?
    print "%s trifft %s %i:%i (%i+%i+%i:%i+%i+%i)" % (a.name, v.name, a.zielgenauigkeit+a.waffe.zielgenauigkeit+wzielgenauigkeita, v.defense+v.waffe.defense+wdefensev, 
                                                      a.zielgenauigkeit,a.waffe.zielgenauigkeit,wzielgenauigkeita, v.defense,v.waffe.defense,wdefensev)
 
    if a.zielgenauigkeit+a.waffe.zielgenauigkeit+wzielgenauigkeita >  v.defense+v.waffe.defense+wdefensev:
        print "treffer!"
    else:
        print "der schlag geht in den abendhimmel"
#los
schusswechsel(monolithsoldat,zombie)
# -*- coding: utf-8 -*-
 
"""Das folgende ist ein kleiner Kampfsimulator
14:Waffen sollen in den Kämpfen eine Rolle spielen"""
import Tkinter as t
import random
class Waffe(object):
    def __init__(self, name="stock", speed=1, zielgenauigkeit=1 , kraft=1 , failrisk=0.9, feuerrate=10, munition=30 , defense=0, gruppe="primär"):
        self.name=name
        self.speed=speed
        self.zielgenauigkeit=zielgenauigkeit
        self.kraft=kraft
        self.failrisk=failrisk
        self.feuerrate=feuerrate
        self.munition=munition
        self.defense=defense
        self.gruppe=gruppe
 
 
 
class Monster(object):
     def __init__(self,name="loretta", speed=1, zielgenauigkeit=1, defense=1, ruestung=1, leben=100, waffe=""):
         self.name=name
         self.speed=speed
         self.zielgenauigkeit=zielgenauigkeit #fähigkeit des schützen
         self.defense=defense
         self.ruestung=ruestung
         self.leben=leben
         self.waffe=waffe
 
 
waffendir = {}
waffendir["P90"]=Waffe("p90",20, 15, 100, 0.5, 20, 30, 0, "primär")
waffendir["MP5"]=Waffe("mp5",20, 18, 100, 0.4,  15, 30, 0, "primär")
 
monolithsoldat=Monster("monolithsoldat",20, 20, 20, 5, 100,waffendir["P90"])
zombie=Monster("zombie",10, 10, 10, 5, 100,waffendir["MP5"])
 
def schusswechsel(x, y):
    output=""
    wspeedx=random.randint(1,20)
    wspeedy=random.randint(1,20)
 
 
    zeile= "%s greift %s an %i:%i (%i+%i+%i:%i+%i+%i) \n" % (x.name, y.name,
                                            x.speed+x.waffe.speed+wspeedx, y.speed+y.waffe.speed+wspeedy, x.speed, x.waffe.speed,wspeedx, 
                                       y.speed, y.waffe.speed, wspeedy)
    #print zeile                                
    output += zeile                            
    output+= "angriff \n"
    if x.speed+x.waffe.speed+wspeedx > y.speed+y.waffe.speed+wspeedy:
        output+= kampfrunde (x,y) 
        if y.leben>0:
           output+= "gegenangriff"
           output+=kampfrunde(y,x) 
    else:
        output+=kampfrunde(y,x)
        if x.leben>0:
            output+= "gegenangriff"
    print output
    return output       
def kampfrunde(a,v):
    output=""
    wzielgenauigkeita=random.randint(-10,10)
    wdefensev=random.randint(-10,10)
    wvolltreffer=random.random()
    #treffer?
 
    zeile = "%s trifft %s %i:%i (%i+%i+%i:%i+%i+%i) \n" % (a.name, v.name, a.zielgenauigkeit+a.waffe.zielgenauigkeit+wzielgenauigkeita, v.defense+v.waffe.defense+wdefensev, 
                                                      a.zielgenauigkeit,a.waffe.zielgenauigkeit,wzielgenauigkeita, v.defense,v.waffe.defense,wdefensev)
 
    output += zeile
    if a.zielgenauigkeit+a.waffe.zielgenauigkeit+wzielgenauigkeita >  v.defense+v.waffe.defense+wdefensev:
        output+= "treffer! \n"
        impact=random.random()#*a.waffe.kraft)
        zeile= "impact: %f x kraft: %i = %i \n" % (impact, a.waffe.kraft, impact * a.waffe.kraft)
        output+=zeile
        impact =int(impact* a.waffe.kraft )
        schaden=impact- v.ruestung
        if schaden>0:
            zeile= "%s verursacht %i schaden \n" % (a.name, schaden)
            output+=zeile
            v.leben-=schaden
            output+= "so viel leben ist noch übrig: %i \n" % v.leben
        else:
            output+= " dein gegener war zu stark, haha...."
 
    else:
        output+= "der schlag geht in den abendhimmel"
    return output
 
 
# jetz gehts wirklich los
 
#gefecht(monolithsoldat, zombie)
 
spieler=monolithsoldat
 
 
def einerunde(angreifer, verteidiger):
    angreifer.leben, verteidiger.leben=kampf(angreifer, verteidiger)
 
 
def lol():
    #print"karte, etc."
    text1.set("karte")
    text2.set("medkit")
    text3.set("stein")
    text4.set("ast")
    text5.set("p90")
 
def hallo():
    #print "P90"
    #meldung.set("leben")
    pass
 
def hey():
    kampfbericht=schusswechsel(zombie, spieler)
 
def ad():
    #print"medkit"
    #meldung.set("arsch")
    pass
 
def flucht():
    pass
 
def tolles_inventar():
    inventar=["tux","fenster","appfel","fux","cod","portal"] 
 
def mies_inventar():
    inventar1=["lalala","asdasdad","st.lorenz_strom","chicago"]
 
root=t.Tk()
#meldung=t.StringVar()
#meldung.set("hallo")
gegner=zombie
statuslinks=t.StringVar()
statusrechts=t.StringVar()
kampfbericht=t.StringVar()
statuslinks.set("Status: SPD: %i DEF: %i KRT: %i HP: %i\n Waffe: %s" %(spieler.speed, spieler.defense, spieler.waffe.kraft, spieler.leben, spieler.waffe.name))
statusrechts.set("Status: SPD: %i DEF: %i KRT: %i HP: %i\n Waffe: %s" %(gegner.speed, gegner.defense, gegner.waffe.kraft, gegner.leben, gegner.waffe.name))
 
 
kampfbericht.set("")
t.Label(root, text="Ich vs. Zombie", borderwidth=1).grid(row=0,column=0, columnspan=5)
t.Label(root, textvariable=statuslinks, borderwidth=1).grid(row=1,column=0, columnspan=2)
t.Label(root, textvariable=statusrechts, borderwidth=1).grid(row=1, column=3, columnspan=2)
marvin= t.PhotoImage(file="marvin1.gif")
t.Label(root, image=marvin).grid(row=2, column=0, rowspan=5 ,columnspan=2)
marvin1= t.PhotoImage(file="marvin2.gif")
t.Label(root, image=marvin1).grid(row=2, column=3, rowspan=5, columnspan=2)
t.Button(root, text="Inventar", command=lol).grid(row=2, column=2)
t.Button(root, text="Waffe wechseln", command=hallo).grid(row=3, column=2)
t.Button(root, text="Angreiffen", command=hey).grid(row=4, column=2)
t.Button(root, text="Flüchten", command=flucht).grid(row=5, column=2)
t.Button(root, text="Medkit", command=ad).grid(row=6, column=2)
text1=t.StringVar()
text2=t.StringVar()
text3=t.StringVar()
text4=t.StringVar()
text5=t.StringVar()
t.Button(root, textvariable=text1).grid(row=7, column=0)
t.Button(root, textvariable=text2).grid(row=7, column=1)
t.Button(root, textvariable=text3).grid(row=7, column=2)
t.Button(root, textvariable=text4).grid(row=7, column=3)
t.Button(root, textvariable=text5).grid(row=7, column=4)
t.Label(root, textvariable=kampfbericht).grid(row=8, column=0, columnspan=5)
root.mainloop()

marvin200909.zip

politschlacht_3.zip


de/personen/marvin/start.txt · Zuletzt geändert: 2010/03/31 16:23 (Externe Bearbeitung)