Dim gl_antwort_1 As Integer Dim gl_antwort_2 As String Dim gl_oeffne_tor_x As String Dim gl_zufallszahl As Double Dim gl_setze_pfeil_auf As String Dim aktuelle_position_des_rosa_pfeiles As Double Sub spiel_starten() aktuelle_position_des_rosa_pfeiles = 0 Call frage_stellen_welches_tor_gewählt_werden_moechte Call setze_den_auswahlpfeil Call warte_1_sekunden Call eins_der_beiden_ziegen_tore_oeffnen Call warte_1_sekunden Call frage_stellen_ob_gewechselt_werden_moechte Call warte_1_sekunden Call auswahl_pfeil_verschieben_oder_eben_nicht Call warte_1_sekunden MsgBox "Moderator: Und Sie haben...." Call alle_tore_oeffnen Call meldung_ausgeben_ob_gewonnen_wurde_oder_verloren End Sub Sub meldung_ausgeben_ob_gewonnen_wurde_oder_verloren() If aktuelle_position_des_rosa_pfeiles = 0 Then ElseIf aktuelle_position_des_rosa_pfeiles = 140 Then ActiveWorkbook.Worksheets("ziegenproblem").Range("G17").Value = "VERLOREN !!" ElseIf aktuelle_position_des_rosa_pfeiles = 345 Then ActiveWorkbook.Worksheets("ziegenproblem").Range("G17").Value = "GEWONNEN !!" ElseIf aktuelle_position_des_rosa_pfeiles = 553 Then ActiveWorkbook.Worksheets("ziegenproblem").Range("G17").Value = "VERLOREN !!" End If End Sub Sub auswahl_pfeil_verschieben_oder_eben_nicht() If gl_antwort_2 = "b" Then MsgBox "Moderator: Okay, Sie haben sich also fürs entschieden...." ElseIf gl_antwort_2 = "w" Then MsgBox "Moderator: Gut, sie wollen also WECHSELN....." If gl_setze_pfeil_auf = "tor_1" Then 'MsgBox "a" gl_setze_pfeil_auf = "tor_2" Call pos_1_back Call pos_2 'tryagain ElseIf gl_setze_pfeil_auf = "tor_2" And gl_oeffne_tor_x = "tor_1" Then 'MsgBox "b" gl_setze_pfeil_auf = "tor_3" Call pos_2_back Call pos_3 ElseIf gl_setze_pfeil_auf = "tor_2" And gl_oeffne_tor_x = "tor_3" Then 'MsgBox "c" gl_setze_pfeil_auf = "tor_1" Call pos_2_back Call pos_1 ElseIf gl_setze_pfeil_auf = "tor_3" Then 'MsgBox "d" gl_setze_pfeil_auf = "tor_2" Call pos_3_back Call pos_2 End If End If End Sub Sub warte_1_sekunden() newHour = Hour(Now()) newMinute = Minute(Now()) newSecond = Second(Now()) + 1 waitTime = TimeSerial(newHour, newMinute, newSecond) Application.Wait waitTime End Sub Sub setze_den_auswahlpfeil() If gl_antwort_1 = 1 Then gl_setze_pfeil_auf = "tor_1" Call pos_1 ElseIf gl_antwort_1 = 2 Then gl_setze_pfeil_auf = "tor_2" Call pos_2 ElseIf gl_antwort_1 = 3 Then gl_setze_pfeil_auf = "tor_3" Call pos_3 End If Range("A1").Select End Sub Sub tore_schliessen() ' das Ergebnis Feld zurück setzen ActiveWorkbook.Worksheets("ziegenproblem").Range("G17").Value = "" ' die Vorhang Bilder wieder in den Vordergrund setzen ActiveSheet.Shapes.Range(Array("Picture 8")).Select Selection.ShapeRange.ZOrder msoBringToFront ActiveSheet.Shapes.Range(Array("Picture 9")).Select Selection.ShapeRange.ZOrder msoBringToFront ActiveSheet.Shapes.Range(Array("Picture 10")).Select Selection.ShapeRange.ZOrder msoBringToFront ' abhängig von der position des rosa pfeiles --> diesen wieder auf startposition setzen If aktuelle_position_des_rosa_pfeiles = 0 Then ElseIf aktuelle_position_des_rosa_pfeiles = 140 Then pos_1_back ElseIf aktuelle_position_des_rosa_pfeiles = 345 Then pos_2_back ElseIf aktuelle_position_des_rosa_pfeiles = 553 Then pos_3_back End If End Sub Sub alle_tore_oeffnen() ActiveSheet.Shapes.Range(Array("Picture 8")).Select Selection.ShapeRange.ZOrder msoSendToBack ActiveSheet.Shapes.Range(Array("Picture 9")).Select Selection.ShapeRange.ZOrder msoSendToBack ActiveSheet.Shapes.Range(Array("Picture 10")).Select Selection.ShapeRange.ZOrder msoSendToBack End Sub Sub eins_der_beiden_ziegen_tore_oeffnen() MsgBox "Moderator: Okay, gute wahl, dann öffne ich jetzt ein Tor hinter dem eine Ziege steht...." If gl_antwort_1 = 1 Then gl_oeffne_tor_x = "tor_3" ElseIf gl_antwort_1 = 2 Then Call zufallszahl_generiren If gl_zufallszahl < 0.5 Then gl_oeffne_tor_x = "tor_1" Else gl_oeffne_tor_x = "tor_3" End If ElseIf gl_antwort_1 = 3 Then gl_oeffne_tor_x = "tor_1" End If If gl_oeffne_tor_x = "tor_1" Then ActiveSheet.Shapes.Range(Array("Picture 8")).Select Selection.ShapeRange.ZOrder msoSendToBack ElseIf gl_oeffne_tor_x = "tor_2" Then ActiveSheet.Shapes.Range(Array("Picture 9")).Select Selection.ShapeRange.ZOrder msoSendToBack ElseIf gl_oeffne_tor_x = "tor_3" Then ActiveSheet.Shapes.Range(Array("Picture 10")).Select Selection.ShapeRange.ZOrder msoSendToBack End If ''MsgBox "... so ich habe " & gl_oeffne_tor_x & " geöffnet, jetzt kommt die netscheidende Frage..." End Sub Sub frage_stellen_ob_gewechselt_werden_moechte() Dim frage_1 As String frage_1 = "Wechseln oder Bleiben..." _ & Chr(13) _ & Chr(13) _ & Chr(13) _ & Chr(13) _ & "< w > Wechseln" _ & Chr(13) _ & Chr(13) _ & "< b > Bleiben" _ & Chr(13) _ & Chr(13) _ gl_antwort_2 = Application.InputBox(frage_1, Default:="w", Type:=2) ' 1: ganzzahl 2: string End Sub Sub frage_stellen_welches_tor_gewählt_werden_moechte() Dim frage_1 As String frage_1 = "Wähle Tor....." _ & Chr(13) _ & Chr(13) _ & Chr(13) _ & Chr(13) _ & "< 1 > Link" _ & Chr(13) _ & Chr(13) _ & "< 2 > Mitte" _ & Chr(13) _ & Chr(13) _ & "< 3 > Rechts" _ & Chr(13) _ & Chr(13) _ gl_antwort_1 = Application.InputBox(frage_1, Default:=1, Type:=1) ' 1: ganzzahl 2: string End Sub Sub zufallszahl_generiren() 'Zufallszahl zwischen Null und Eins (mit bis zu 8 Nachkommastellen) gl_zufallszahl = Rnd 'MsgBox zufallszahl End Sub Sub pos_1() delta_ = 140 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft 140 End Sub Sub pos_2() delta_ = 345 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft 345 End Sub Sub pos_3() delta_ = 553 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft 553 End Sub Sub pos_1_back() delta_ = -140 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft -140 End Sub Sub pos_2_back() delta_ = -345 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft -345 End Sub Sub pos_3_back() delta_ = -553 aktuelle_position_des_rosa_pfeiles = aktuelle_position_des_rosa_pfeiles + delta_ ActiveSheet.Shapes.Range(Array("Up Arrow 21")).Select Selection.ShapeRange.IncrementLeft -553 End Sub Sub hh() MsgBox aktuelle_position_des_rosa_pfeiles End Sub