Kleines Buttonspiel (Mehrere Wege?)

  • Hi

    Ich steh grad übelst auf dem Schlauch.
    Ich möchte auf eines Wunsches eines Kollegen ein kleines Buttonspiel machen. das kennt bestimmt jeder. Drücke nicht auf den roten Knopf ect.
    Nun, da ich unterschiedliche Wege habe, kann ich die aber nicht einfach so aufrufen.

    Ich hab mir nun überlegt ob ich es mit einer Whileschleife lösen kann oder doch mit If, ElseIf, Else.

    Freundliche Grüsse

    4 Mal editiert, zuletzt von lukiono (17. August 2012 um 10:06)

  • Das ist echt ein Spassvirus? Sry hab ich nicht gewusst. Dann muss ich halt irgendwo anders fragen...

  • Quatsch, das ist kein Spaßvirus! Erst denken, dann posten.

    Endlich bin nicht ich's der das bekommt :P

    Also ich mache dir mal n BSP, um es dir zu verdeutlichn:

    [autoit]


    ;Hier erstellste die GUI
    While 1
    Local $msg = GUIGetMsg()
    Switch $msg
    Case $Frage1Button1 ;erster Button
    Switch $msg
    Case $Frage2Button ;wie viele es da auch gibt
    EndSwitch
    Case $Frage1Button2 ;
    Switch $msg
    Case $FalscheAntwort ;was tun bei falscher antwort ?
    EndSwitch
    ;Hier kannste beliebeig viele buttons machen
    EndSwitch
    WEnd

    [/autoit]

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Zitat

    Hm ich wäre trotzdem froh wenn es ein Mod oder der Admin bestätigen würde. Möcht ja keine Verwarnung...

    Da bin ich mir sicher, ich nehm das sonst auf meine Kappe. Das Spiel ist doch das, wo man einen roten Button drücken muss und es kommen immer Botschaften, und manchmal sind es mehrere Buttons, etc.
    Zu keinem Zeitpunkt wird dem Benutzer suggeriert, es bestehe eine Bedrohung, zu keinem Zeitpunkt gibt es für den Benutzer keine Möglichkeit, das Programm zu beenden.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Zitat

    Quatsch, das ist kein Spaßvirus! Erst denken, dann posten.


    Hab ich getan und das einzige was mich auf diese Idee gebracht hat ist der Inhalt der Messageboxen und die Tatsache, dass er sie in While Schleife packen wollte.
    Ich finde es nicht so toll wenn ein Programm mich solange mit einer MsgBox nervt bis ich den richtigen Button drücke. :S
    Ich hätte eher darauf hinweisen sollen, dass man das lieber mit einer eigenen GUI macht... :D

  • ja ich denke wir sind jetzt alle von der Legalität überzeugt - und wollte direkt mal fragen was für ein Spiel damit gemient ist, ich verstehs irgendwie nicht, ist das sowas wie: Drück die Buttons doch wenn einer Rot leuchtet darfst du nicht drauf haun bis er wieder grün leuchtet, oder wie ist das?

  • Also:
    Ich wollts so machen:
    Als erstes heisst dich das Spiel willkommen. dann drückst auf ok doch dann motz er dich an und fragt: "Du hast jetzt wirklich gedrückt?"
    Und dies geht immer weiter. Egal mit welchem Button.
    Beispiel: Nein: "Du streitest das auch noch ab?" Ja: "Schäm dich. Sowas kannst du nicht machen" usw.

    Ach noch eine kleine Frage:
    Ist es möglich den Buttons eine eigene Beschriftung zu geben ohne einen GUI zu machen?

  • @EM :ja natürlich nur hilft mir das herzlich wenig das Prinzip des Spiels zu erkennen

    achso jetzt hab ichs begriffen, um da jeden weg abzuhandeln wird ein ziemlicher aufwand nötig sein... ich würde es mit
    Funcs behandeln, einfach um die Übersichtlichkeit zu wahren, sonst haste nachher 1000ende schleifen ineinander


    Zitat

    Ist es möglich den Buttons eine eigene Beschriftung zu geben ohne einen GUI zu machen?

    Nein, glaube nicht. Also du kannst keine Buttons ins nichts erstellen

  • @Stay, mit ner FUNC kommst du aufs gleiche hinaus, vielleicht übersichtlicher aber weniger code wird es dadurch auch nicht !

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Ah die Func Funktion. Die hab ich immer noch nicht so recht begriffen.

    [autoit]

    Func $msgbox_sooderso
    ;Funktion
    EndFunc

    [/autoit]


    So richtig? :D

  • Etwa so?

    Spoiler anzeigen
    [autoit]

    MsgBox(0,"Hallo","Herzlich willkommen.")
    Switch MsgBox(4,"Spiel","So, jetzt musst du dieses Spiel spielen, okay?")
    Case 6
    MsgBox(0,"Juhuu!","Vielen, vielen Dank!!!")
    Switch MsgBox(4,"1.Frage","Findest du das Skript toll?")
    Case 6
    Switch MsgBox(4,"2.Frage","Super. Soll ich noch weiter erzählen??")
    Case 6
    Switch MsgBox(4,"3.Frage","Super. Noch weiter?")
    Case 6
    MsgBox(0,"Gratulation","Du hast gewonnen!")
    Case Else
    MsgBox(0,"...","Tja, schade.")
    EndSwitch
    Case Else
    MsgBox(0,"...","Pff...dann halt nicht.")
    EndSwitch
    Case Else
    MsgBox(0,"...","Du hast dich doch hoffentlich vertippt...fang nochmal von vorne an!")
    EndSwitch
    Case Else
    Switch MsgBox(1,"Grrr...","Du bist doof!!")
    Case 1
    MsgBox(0,"...","Wengistens hast du es eingesehen")
    Case Else
    MsgBox(0,"...","Nein bedeutete Ja.")
    EndSwitch
    EndSwitch

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • @EM: Naja aber ich würd sagen lieber übersichtlicher, sodass du jederzeit reinschauen kannst und es kapierst als weniger code...
    lieber zuviel kommentieren als zuwenig...
    lieber zuviel funcen als zu wenig... :rofl:

    Func funktioniert so:

    [autoit]


    testi() ;damit rufst du im Script die Funktion testi auf...Autoit "springt" dann zu dieser Funktion und nach dessem Ende geht es nach dem Aufruf im
    ;im Script weiter

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "hi", "Diese MsgBox wird aufgerufen nachdem die Func testi ausgeführt wurde!")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func testi() ;Der Beginn der Funktion
    Msgbox(0, "Hi", "Die Funktion testi wurde aufgerufen!") ;Alles was zwischen Func testi() und EndFunc steht wird ausgeführt
    EndFunc ;das Ende der funktion-ist der Script innerhalb der Func hier angelangt, beendet es die Funktion und macht nach testi() weiter

    [/autoit]
  • Mir is das jetzt wurscht wie stulle :P
    Ich bleibe dabei, es ist das gleiche, ob du es mir glaubst oder nicht, übersichtlich wird es ja nur weil du sie unter einander schreibst, aber egal.

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal