Inhaltsverzeichnis
Marvin
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()



