Das Hauptmenue
das Hauptmenue-Skript
Tetrismenue.py — text/python-source, 6 KB (6404 bytes)
Dateiinhalt
from visual import * from random import random scene.title='T3DRIS - Hauptmen\xc3\xbc' scene.fullscreen=True scene.userspin=False scene.userzoom=False scene.center=(.8,0,-100) depth=0.5 aus_ein=0 t=0 y=-0.1 GesamtesHauptmenue=frame() alleBuchstaben=frame(frame=GesamtesHauptmenue) T=frame(frame=alleBuchstaben) s3=frame(frame=alleBuchstaben) D=frame(frame=alleBuchstaben) R=frame(frame=alleBuchstaben) Iframe=frame(frame=alleBuchstaben) S=frame(frame=alleBuchstaben) scene.leicht=label(frame=GesamtesHauptmenue,pos=(1.4,y,0),text="Leicht",visible=False) scene.leichtBox=box(frame=GesamtesHauptmenue,pos=(1.4,y,0),size=(.25,.1,0),opacity=0,visible=False) scene.mittel=label(frame=GesamtesHauptmenue,pos=(1.4,y-.2,0),text="Mittel",visible=False) scene.mittelBox=box(frame=GesamtesHauptmenue,pos=(1.4,y-.2,0),size=(.25,.1,0),opacity=0,visible=False) scene.schwer=label(frame=GesamtesHauptmenue,pos=(1.4,y-.4,0),text="Schwer",visible=False) scene.schwerBox=box(frame=GesamtesHauptmenue,pos=(1.4,y-.4,0),size=(.25,.1,0),opacity=0,visible=False) # Erzeugung der Buchstaben T1=box(frame=T,pos=(-1,1,0),length=.6,height=.2,width=depth,color=color.cyan) #oberer Strich T2=box(frame=T,pos=(-1,0.6,0),length=.2,height=.6,width=depth,color=color.cyan) #T-Saeule s31=box(frame=s3,pos=(-.2,1,0),length=.4,height=.2,width=depth,color=color.white) #oberer Strich s32=box(frame=s3,pos=(0.1,0.7,0),length=.2,height=.8,width=depth,color=color.white) #3er-Saeule s33=box(frame=s3,pos=(-0.1,0.7,0),length=.2,height=.2,width=depth,color=color.white) #mittlerer Strich s34=box(frame=s3,pos=(-0.2,0.4,0),length=.4,height=.2,width=depth,color=color.white) #unterer Strich D1=box(frame=D,pos=(0.6,0.7,0),length=.2,height=.8,width=depth,color=color.red) #D-Saeule D2=box(frame=D,pos=(0.8,1,0),length=.2,height=.2,width=depth,color=color.red) #obere Box D3=box(frame=D,pos=(0.8,.4,0),length=.2,height=.2,width=depth,color=color.red) #untere Box D4=box(frame=D,pos=(1,0.7,0),length=.2,height=.4,width=depth,color=color.red) #rechter Strich nach unten R1=box(frame=R,pos=(1.4,0.7,0),length=.2,height=.8,width=depth,color=color.yellow) #R-Saeule R2=box(frame=R,pos=(1.6,1,0),length=.2,height=.2,width=depth,color=color.yellow) #oberer Punkt R3=box(frame=R,pos=(1.8,0.8,0),length=.2,height=.2,width=depth,color=color.yellow) #mittlerer Punkt R4=box(frame=R,pos=(1.6,0.6,0),length=.2,height=.2,width=depth,color=color.yellow) #unterer Punkt R5=box(frame=R,pos=(1.8,0.4,0),length=.2,height=.2,width=depth,color=color.yellow) #R-Strich I=box(frame=Iframe,pos=(2.2,0.7,0),length=.2,height=.8,width=depth,color=color.magenta) #das I S1=box(frame=S,pos=(3,1.02,0),length=.2,height=.16,width=depth,color=color.green) #oberer rechter Block S2=box(frame=S,pos=(2.8,1.02,0),length=.2,height=.16,width=depth,color=color.green) #oberer mittlerer Block S3=box(frame=S,pos=(2.6,0.86,0),length=.2,height=.16,width=depth,color=color.green) #oberer linker Block S4=box(frame=S,pos=(2.8,0.7,0),length=.2,height=.16,width=depth,color=color.green) #Mittelblock S5=box(frame=S,pos=(3,0.54,0),length=.2,height=.16,width=depth,color=color.green) #unterer rechter Block S6=box(frame=S,pos=(2.8,0.38,0),length=.2,height=.16,width=depth,color=color.green) #unterer mittlerer Block S7=box(frame=S,pos=(2.6,0.38,0),length=.2,height=.16,width=depth,color=color.green) #unterer mittlerer Block # Erzeugen der Menuebuttons es=label(frame=GesamtesHauptmenue,pos=(.8,-.3,0),text="Einzelspieler",align='center',linecolor=color.black) esBox=box(frame=GesamtesHauptmenue,pos=(.8,-.3,0),size=(.5,.1,0),opacity=0) ms=label(frame=GesamtesHauptmenue,pos=(.8,-.65,0),text="Highscore",align='center',linecolor=color.black) msBox=box(frame=GesamtesHauptmenue,pos=(.8,-.65,0),size=(.5,.1,0),opacity=0) end=label(frame=GesamtesHauptmenue,pos=(.8,-1,0),text="Beenden",align='center',linecolor=color.black) endBox=box(frame=GesamtesHauptmenue,pos=(.8,-1,0),size=(.5,.1,0),opacity=0) #Funktionendeklaration def Ausklappen(ausklappen): global scene if ausklappen==True: scene.leicht.visible=True scene.leichtBox.visible=True scene.mittel.visible=True scene.mittelBox.visible=True scene.schwer.visible=True scene.schwerBox.visible=True elif ausklappen==False: scene.leicht.visible=False scene.leichtBox.visible=False scene.mittel.visible=False scene.mittelBox.visible=False scene.schwer.visible=False scene.schwerBox.visible=False def reagiereAufMaus(): global aus_ein global scene global t if scene.mouse.events: event=scene.mouse.getevent() if event.pick==esBox and event.press: ms.color=color.white if aus_ein==True: es.color=color.white aus_ein=False elif aus_ein==False: es.color=color.blue aus_ein=True Ausklappen(aus_ein) elif event.pick==msBox and event.press: Ausklappen(False) es.color=color.white if ms.color==color.white: ms.color=color.blue elif ms.color==color.blue: ms.color=color.white elif event.pick==scene.leichtBox and event.press: t=100 GesamtesHauptmenue.visible=False elif event.pick==scene.mittelBox and event.press: t=75 GesamtesHauptmenue.visible=False elif event.pick==scene.schwerBox and event.press: t=50 GesamtesHauptmenue.visible=False if event.pick==endBox and event.press: scene.visible=False del scene def einzelnRotieren(): while 1: rate(50) T.rotate(angle=radians(2),axis=(0,1,0),origin=T2.pos) s3.rotate(angle=radians(2),axis=(0,1,0),origin=s33.pos) D.rotate(angle=radians(2),axis=(0,1,0),origin=D2.pos) R.rotate(angle=radians(2),axis=(0,1,0),origin=R2.pos) Iframe.rotate(angle=radians(2),axis=(0,1,0),origin=I.pos) S.rotate(angle=radians(2),axis=(0,1,0),origin=S2.pos) reagiereAufMaus() def alleRotieren(): while 1: rate(50) alleBuchstaben.rotate(angle=radians(2),axis=(0,1,0),origin=(1,0,0)) reagiereAufMaus() #Hauptmenue: Durch Zufall alle oder nur die einzelnen Buchstaben drehen zufall=random() if zufall<0.4: alleRotieren() elif zufall>=0.4: einzelnRotieren()