Wir haben in Info seit nem halbem Jahr das Thema Python und ich blicke kaum noch durch... jetzt haben wir eine Aufgabe aufbekommen die lautet wie folgt:
In einer Militärkapelle spielen eine Anzahl Trompeter. Dann kommt irgendwann der Befehl "Rechts-Um" und prompt gibt eine (zufällige)Anzahl von Trompetern, die rechts und links vertauschen.
--> Sprich, da stehen sagen wir mal 6 Trompter (in 2D) und "random"-mäßig links oder nach rechts schauend
Weiter im Text:
Nun ht der Feldwebel das vorausgesehen und folgenden Befehl erlassen:
Wenn dem Start-Kommando zwei Trompeter von Gesicht zu Gesicht gegenüber stehen, dann sollen diese beiden beim nächsten Takt der Musik(Mausklick) eine Kehrtwende von 180° machen. Das soll bei jedem Folgenden Takt auch passieren, bis alle Trompeter wieder in der richtigen Position stehen. Dabei hat der Feldwebel denjenigen Trompeter, der bei dem Befehl "Rechts-Um" als letzter in der Reihe steht so ausgesucht, dass er immer richtig bleibt und dann während der folgenden Takte immer richt steht.
Die Aufgabe besteht nun darin, das in einem Fenster grafisch darzustellen.
Die Anzahl soll(in vermünftigen Grenzen natürlich) frei wählbar sein. Es soll zwei Ablaufmodi geben:
1. Das Betätigen einer Taste ist genau ein Takt.
2. Das Ganze soll im Sekunden-Takt automatisch ablaufen.
Die Simulation endet, wenn alle Trompeter wieder in einer richtung stehen.
In einem Fenster wird die Anzahl der Takte bis dahin mitgezählt
sooooo ich habe mir die Aufgabe lange angeguckt und die ein wenig "komisch" versucht zu verwirklichen..(leider nicht wirklich funktionstüchtig ) habe dabei die meisten bedingungen ausgelassen ^^
Code: Alles auswählen
from xturtle import *
import random
winsize(1024, 768)
hideturtle()
tro01=Turtle()
screen=tro01.getscreen()
tro02=Turtle()
screen=tro02.getscreen()
tro03=Turtle()
screen=tro03.getscreen()
tro04=Turtle()
screen=tro04.getscreen()
tro05=Turtle()
screen=tro05.getscreen()
tro06=Turtle()
screen=tro06.getscreen()
screen.addshape("trompeter.gif")
screen.getshapes()
screen.addshape("trompeter2.gif")
screen.getshapes()
tro01.pu()
tro02.pu()
tro03.pu()
tro04.pu()
tro05.pu()
tro06.pu()
tro01.fd(360)
tro02.fd(240)
tro03.fd(120)
tro05.lt(180)
tro05.fd(120)
tro06.lt(180)
tro06.fd(240)
links=("trompeter.gif")
rechts=("trompeter2.gif")
trompeterwahl = random.randint(0,1)
liste =[links, rechts]
tro01.shape("trompeter.gif")
trompeterwahl = random.randint(0,1)
tro02.shape(liste[trompeterwahl])
trompeterwahl = random.randint(0,1)
tro03.shape(liste[trompeterwahl])
trompeterwahl = random.randint(0,1)
tro04.shape(liste[trompeterwahl])
trompeterwahl = random.randint(0,1)
tro05.shape(liste[trompeterwahl])
trompeterwahl = random.randint(0,1)
tro06.shape(liste[trompeterwahl])
pu()
oe=0
def Paar1() :
if (tro02 == links):
tro02.shape(rechts)
else:
print"test"
#def Paar2() :
#if (tro03.shape(liste[trompeterwahl]) == tro03.shape(rechts)):
#tro02.shape(rechts)
#tro03.shape(links)
#else:
#print"Trompeter stehen richtig!"
#def Paar3() :
#if (tro04.shape(liste[trompeterwahl]) == tro04.shape(rechts)):
#tro03.shape(rechts)
#tro04.shape(links)
#else:
#print"Trompeter stehen richtig!"
#def Paar4() :
#if (tro05.shape(liste[trompeterwahl]) == tro05.shape(rechts)):
#tro04.shape(rechts)
#tro05.shape(links)
#else:
#print"Trompeter stehen richtig!"
#def Paar5() :
#if (tro06.shape(liste[trompeterwahl]) == tro06.shape(rechts)):
#tro05.shape(rechts)
#tro06.shape(links)
Paar1()
ich weiß es is ziemlich im "arsch"
kann mir jemand helfen? tipps geben? evtl eine muster lösung, an der ich mich orientieren kann ?
mfg