Marco M.
Scratch-Würfelspiel
Python-Turtle-Grafik
- marcostadt2.py
#!/usr/bin/env python # -*- coding: utf-8 -*- # # unbenannt.py # # Copyright 2011 Horst JENS <horst@horst-Ferrari-One-200> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. import turtle as t t.speed(0) def haus(groesse=50): """ein einziges haus malen""" t.pd() t.fd(groesse) t.left(90) t.fd(groesse) t.left(90) t.fd(groesse) t.left(90) t.fd(groesse) t.fd(-groesse) t.left(90) t.left(45) t.fd(groesse*0.75) t.right(90) t.fd(groesse*0.75) t.pu() t.home() def planet(haueser=14,groesse=100,hoehe=100): """Planet zeichnen""" for a in range(haueser): t.pu() t.right(360.0/haueser*a) t.fd(-groesse*0.5) t.left(90) t.fd(hoehe) t.right(90) #t.fd(110) haus(groesse) return 0 if __name__ == '__main__': planet(21,50,150) byebye=raw_input()
Marcostern
# -*- coding: utf-8 -*-
import turtle as t import random as r
t.speed(0)
def stern(zacken=18,laenge=100,winkel=200,dif=20):
for x in range(zacken):
t.fd(laenge)
t.right(winkel)
t.fd(laenge)
t.left(winkel+dif)
zacken1=r.randint(3,30) laenge1=r.randint(50,200) winkel1=r.randint(-50,300) dif1=r.randint(-30,50) size1=1
blue1=r.randint(0,255) red1=r.randint(0,255) green1=r.randint(0,255)
blue2=r.randint(0,255) green2=r.randint(0,255) red2=r.randint(0,255)
zacken2=r.randint(3,30) laenge2=r.randint(50,200) winkel2=r.randint(-50,300) dif2=r.randint(-30,50) size2=1
t.colormode(255) #t.bgcolor(„orange“)
t.pensize(30)
text1=““ text2=““
while True:
bgred=r.randint(0,255) bggreen=r.randint(0,255) bgblue=r.randint(0,255) status1 = "Stern1 _(links) Zacken: %i Länge: %i Winkel: %i Diff.: %i Größe: %i Rot: %i Grün: %i Blau %i"%(zacken1,laenge1,winkel1,dif1,size1,red1,green1,blue1) status2 = "Stern2 _(links) Zacken: %i Länge: %i Winkel: %i Diff.: %i Größe: %i Rot: %i Grün: %i Blau %i"%(zacken2,laenge2,winkel2,dif2,size2,red2,green2,blue2) t.clear() t.bgcolor((bgred,bggreen,bgblue)) t.pu() t.goto((-200,0)) t.pd() t.pensize(size1) t.pencolor((red1,green1,blue1)) stern(zacken1,laenge1,winkel1,dif1)
t.pu() t.goto((+200,0)) t.pd() t.pensize(size2) t.pencolor((red2,green2,blue2))
stern(zacken2,laenge2,winkel2,dif2)
t.pu()
t.goto((0,-250))
t.write("Bitte 1 links besser Bitte 2 rechts besser und dann ENTER drücken !", True, align="center")
t.goto((0,+250)) t.write(status1,True,align="center") t.goto((0,+270)) t.write(status2,True,align="center")
t.goto((-0,-260)) t.write(text1,True,align="center") t.goto((0,-270)) t.write(text2,True,align="center")
print zacken1,laenge1,winkel1,dif1,size1
print zacken2,laenge2,winkel2,dif2,size2
status1 = "Stern1 _(links) Zacken: %i Länge: %i Winkel: %i Diff.: %i Größe: %i Rot: %i Grün: %i Blau %i"%(zacken1,laenge1,winkel1,dif1,size1,red1,green1,blue1)
status2 = "Stern2 _(links) Zacken: %i Länge: %i Winkel: %i Diff.: %i Größe: %i Rot: %i Grün: %i Blau %i"%(zacken2,laenge2,winkel2,dif2,size2,red2,green2,blue2)
jury=raw_input("Bitte 1 links besser Bitte 2 rechts besser und dann ENTER drücken !")
if jury =="1":
text2 = ""
schuss=r.randint(1,6)
if schuss==1:
text1="Stern1 vererbt Anzahl Zacken(%i) an Stern2"%zacken1
zacken2=zacken1
elif schuss==2:
text1="Stern1 vererbt Anzahl Länge(%i) an Stern2"%laenge1
laenge2=laenge1
elif schuss==3:
text1="Stern1 vererbt Anzahl Winkel(%i) an Stern2"%winkel1
winkel2=winkel1
elif schuss==4:
text1="Stern1 vererbt Anzahl der Differenzen(%i) an Stern2"%dif1
dif2=dif1
elif schuss==5:
text1="Stern1 vererbt Anzahl der Größe(%i) an Stern2"%size1
size2=size1
elif schuss==6:
text1="Stern1 vererbt die Farbe Rot(%i) an Stern2"%red1
red2=red1
elif schuss==7:
green2=green1
text1="Stern1 vererbt die Farbe Grün(%i) an Stern2"%green1
elif schuss==8:
text1="Stern1 vererbt die Farbe Blau(%i) an Stern2"%blue1
blue2=blue1
# Sieger schwach mutieren
zacken1+=r.randint(-1,1)
laenge1+=r.randint(-1,1)
winkel1+=r.randint(-1,1)
dif1+=r.randint(-1,1)
size1+=r.randint(-1,1)
blue1+=r.randint(-1,1)
green1+=r.randint(-1,1)
red1+=r.randint(-1,1)
# Verlierer stark mutieren
zacken2+=r.randint(-10,10)
laenge2+=r.randint(-10,10)
winkel2+=r.randint(-10,10)
dif2+=r.randint(-10,10)
size2+=r.randint(-10,10)
blue2+=r.randint(-10,10)
red2+=r.randint(-10,10)
green2+=r.randint(-10,10)
elif jury =="2":
text1=""
schuss=r.randint(1,5)
if schuss==1:
text2="Stern2 vererbt Anzahl Zacken(%i) an Stern1"%zacken2
zacken1=zacken2
elif schuss==2:
text2="Stern2 vererbt Anzahl Länge(%i) an Stern1"%laenge2
laenge1=laenge2
elif schuss==3:
text2="Stern2 vererbt Anzahl Winkel(%i) an Stern1"%winkel2
winkel1=winkel2
elif schuss==4:
text2="Stern2 vererbt Anzahl der Differenzen(%i) an Stern1"%dif2
dif1=dif2
elif schuss==5:
text2="Stern2 vererbt Anzahl der Größe(%i) an Stern1"%size1
size1=size2
elif schuss==6:
text2="Stern2vererbt die Farbe Rot(%i) an Stern1"%red1
red1=red2
elif schuss==7:
text2="Stern2 vererbt die Farbe Grün(%i) an Stern1"%green1
green1=green2
elif schuss==8:
text2="Stern2 vererbt die Farbe Blau(%i) an Stern1"%blue1
blue1=blue2
# Sieger schwach mutieren
zacken2+=r.randint(-1,1)
laenge2+=r.randint(-1,1)
winkel2+=r.randint(-1,1)
dif2+=r.randint(-1,1)
size2+=r.randint(-1,1)
blue2+=r.randint(-1,1)
green2+=r.randint(-1,1)
red2+=r.randint(-1,1)
# Verlierer stark mutieren
zacken1+=r.randint(-10,10)
laenge1+=r.randint(-10,10)
winkel1+=r.randint(-10,10)
dif1+=r.randint(-10,10)
size1+=r.randint(-10,10)
blue1+=r.randint(-10,10)
red1+=r.randint(-10,10)
green1+=r.randint(-10,10)
elif jury =="x":
break
else:
# Mutation
zacken2+=r.randint(-10,10)
laenge2+=r.randint(-10,10)
winkel2+=r.randint(-10,10)
dif2+=r.randint(-10,10)
size2+=r.randint(-10,10)
blue2+=r.randint(-100,100)
red2+=r.randint(-100,100)
green2+=r.randint(-100,100)
zacken1+=r.randint(-10,10)
laenge1+=r.randint(-10,10)
winkel1+=r.randint(-10,10)
dif1+=r.randint(-10,10)
size1+=r.randint(-10,10)
blue1+=r.randint(-100,100)
red1+=r.randint(-100,100)
green1+=r.randint(-100,100)
zacken1=max(3,zacken1)
zacken2=max(3,zacken2)
size1=max(1,size1)
size2=max(1,size2)
red1=max(0,red1)
red2=max(0,red2)
blue1=max(0,blue1)
blue2=max(0,blue2)
green1=max(0,green1)
green2=max(0,green2)
red1=min(255,red1)
red2=min(255,red2)
blue1=min(255,blue1)
blue2=min(255,blue2)
green1=min(255,green1)
green2=min(255,green2)
print „Tschüss!“



