Mein klitzekleiner Beitrag zum AutoIt Kinderprojekt

  • Ich will jetzt auch mal ein Script posten!

    Langweilige Hintergrundgeschichte

    Ich habe mir endlich einmal Zeit genommen, das Kinderprojekt anzuschauen. Da ich zuerst nurOscar's Lettris-Clone entdeckt habe, dachte ich mir, das das eine Nummer zu groß für mich ist! Als ich dann auch den Maus-Zähler gesehen habe, dachte ich mir, dasss ich es doch noch posten sollte.


    Mein Beep-Piano hat 14 Tasten, vom c' bis zum cis", man kann die Tonlängen verändern und vllt mach ich auch noch eine Oktaven-Auswahltaste!
    MfG tobi_girst

    "BeepPiano 1.2"
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    $length_1 = 500
    GUICreate ("BeepPiano 1.1 - by tobi_girst", 437+60, 259)
    GUISetBkColor (0x000000)
    #Region Tasten
    $c_1 = GUICtrlCreateLabel ("", 0, 0, 40, 130)
    $c_2 = GUICtrlCreateLabel ("", 0, 130, 53+1, 259-130)
    GUICtrlSetBkColor ($c_1, 0xFFFFFF)
    GUICtrlSetBkColor ($c_2, 0xFFFFFF)
    $cis = GUICtrlCreateLabel ("", 41, 0, 94-66, 130)
    $d_1 = GUICtrlCreateLabel ("", 70, 0, 94-69, 130)
    $d_2 = GUICtrlCreateLabel ("", 58-3, 130, 50+4, 130)
    GUICtrlSetBkColor ($d_1, 0xFFFFFF)
    GUICtrlSetBkColor ($d_2, 0xFFFFFF)
    $dis = GUICtrlCreateLabel ("", 96, 0, 94-66, 130)
    $e_1 = GUICtrlCreateLabel ("", 124, 0, 162-124, 130)
    $e_2 = GUICtrlCreateLabel ("", 112-2, 130, 50+2, 130)
    GUICtrlSetBkColor ($e_1, 0xFFFFFF)
    GUICtrlSetBkColor ($e_2, 0xFFFFFF)
    $f_1 = GUICtrlCreateLabel ("", 163, 0, 94-54, 259)
    $f_2 = GUICtrlCreateLabel ("", 163+94-54, 131, 15, 130)
    GUICtrlSetBkColor ($f_1, 0xFFFFFF)
    GUICtrlSetBkColor ($f_2, 0xFFFFFF)
    $fis = GUICtrlCreateLabel ("", 163+95-53, 0, 94-66, 130)
    $g_1 = GUICtrlCreateLabel ("", 233, 0, 94-69, 130+1)
    $g_2 = GUICtrlCreateLabel ("", 221-2, 131, 50+2, 130)
    GUICtrlSetBkColor ($g_1, 0xFFFFFF)
    GUICtrlSetBkColor ($g_2, 0xFFFFFF)
    $gis = GUICtrlCreateLabel ("", 259, 0, 94-66, 130)
    $a_1 = GUICtrlCreateLabel ("", 287, 0, 94-69, 130+1)
    $a_2 = GUICtrlCreateLabel ("", 274-2, 131, 50+4, 130)
    GUICtrlSetBkColor ($a_1, 0xFFFFFF)
    GUICtrlSetBkColor ($a_2, 0xFFFFFF)
    $ais = GUICtrlCreateLabel ("", 312, 0, 94-69, 130)
    $h_1 = GUICtrlCreateLabel ("", 342, 0, 38+2, 130+1)
    $h_2 = GUICtrlCreateLabel ("", 330-3, 131, 50+5, 130)
    GUICtrlSetBkColor ($h_1, 0xFFFFFF)
    GUICtrlSetBkColor ($h_2, 0xFFFFFF)
    $c2_1 = GUICtrlCreateLabel ("", 383, 0, 421-383, 130+1)
    $c2_2 = GUICtrlCreateLabel ("", 383, 131, 437-383, 130)
    GUICtrlSetBkColor ($c2_1, 0xFFFFFF)
    GUICtrlSetBkColor ($c2_2, 0xFFFFFF)
    $cis2 = GUICtrlCreateLabel ("", 437-(437-421), 0, 437-421, 130)
    #EndRegion Tasten
    GUICtrlCreateLabel ("", 438, 0, 60, 19)
    GUICtrlSetBkColor (-1, 0xF0F0F0)
    GUICtrlCreateLabel ("", 438, 19, 4, 21)
    GUICtrlSetBkColor (-1, 0xF0F0F0)
    GUICtrlCreateLabel ("", 438+(60-6), 19, 5, 21)
    GUICtrlSetBkColor (-1, 0xF0F0F0)
    GUICtrlCreateLabel ("", 438, 40, 60, 219)
    GUICtrlSetBkColor (-1, 0xF0F0F0)
    $length_2 = GUICtrlCreateInput ("500", 437+5, 20, 50, 20, 0x2000)
    GUICtrlCreateUpdown (-1)
    GUICtrlCreateLabel ("Length: ", 437+7, 5, Default, 15)
    GUICtrlSetBkColor (-1, 0xF0F0F0)
    GUISetState ()
    While 1
    $length_1 = GUICtrlRead ($length_2)
    Switch GUIGetMsg ()
    Case -3
    Exit 0
    Case $c_1, $c_2
    Beep (261.63, $length_1)
    Case $cis
    Beep (277.18, $length_1)
    Case $d_1, $d_2
    Beep (293.66, $length_1)
    Case $dis
    Beep (311.13, $length_1)
    Case $e_1, $e_2
    Beep (329.63, $length_1)
    Case $f_1, $f_2
    Beep (349.23, $length_1)
    Case $fis
    Beep (369.99, $length_1)
    Case $g_1, $g_2
    Beep (392.00, $length_1)
    Case $gis
    Beep (415.30, $length_1)
    Case $a_1, $a_2
    Beep (440.00, $length_1)
    Case $ais
    Beep (466.16, $length_1)
    Case $h_1, $h_2
    Beep (493.88, $length_1)
    Case $c2_1, $c2_2
    Beep (523.25, $length_1)
    Case $cis2
    Beep (554.37, $length_1)
    EndSwitch
    WEnd

    [/autoit]

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • es wäre gut wenn man den beep solange hört wie gedrückt wird (ich habs beim alle meine entschen spielen eben gemerkt das es nicht so ganz optimal ist mit der länge ;) man kann ja nciht so schnell die länge an der seite ändern

    und es wäre gut wenn du auf die tasten irgendwie noch die noten(in buchstaben) draufsetzen könntest
    und es wäre gut wenn es zb oben rechts angezeigt wird was für eine note es ist mit linien und auch mit dauer zb viertel


    das mit der dauer würde ich so machen

    [autoit]


    Case $c_1, $c_2
    while _ispressed("01")
    Beep (261.63,100) ; du solltest vielleciht ne bessere msec raussuchen so klingt das wie ne triole^^
    wend

    [/autoit]

    2 Mal editiert, zuletzt von Sithlord95 (2. Juli 2009 um 21:19)

  • Danke für deine Antwort, ich erde es machen, dachdem das Schul-Projekt herum ist. (8.7.09)
    MfG

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Ganz nett :)
    Vielleicht noch ein paar Stücke die man nachspielen kann so zum üben habe nämlich null ahnung von Noten etc und nur wahllos auf die Tasten geklickt.

  • Naja, kennst du dieses Spiel wo man 4 Farben hat und die dann in verschiedenen Reihenfolgen aufleuchten. Wenn sie fertig sind muss man sie in der richtigen Reihenfolge drücken.

    Vielleicht etwas in der richtung.

  • @DevilsCry: Geile Idee, abedr ich kann kein GDI+! :(
    MfG

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Kenn mich mit GDI+ und AutoIT auch nicht besonders aus, kann man es vielleicht so machen das man einfach ein 2. Bild kurz anzeigen lässt?

    • Offizieller Beitrag

    Dazu braucht man doch gar kein GDI+. Kann man einfach mit Label machen und dort dann die Hintergrundfarbe entsprechend setzen.
    Das Spiel heißt übrigens Senso und ist auch schon ein paar Jahre alt. Das hatte ich mal im Original. ;)
    Läßt sich aber ziemlich leicht in AutoIt umsetzen, denke ich. Falls ihr kein Interesse habt, sagt Bescheid, dann würde ich das übernehmen.

  • Vielen Dank für einre Rückmeldungen! Ich habe momentan keine Lust auf AutoIt (sry), aber ich werds irgendwann wohl machen.
    MfG

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)