Thanks to Melba23 for his amazing help!
Edit: 3-16-11
Added feature in the level completed MsgBox that displays how many tries it took you.
Screenshots:
Game mode selection screen:

In-game layout:

So all in all there are four modes:
Easy, Medium, Hard, Expert.
Easy is a sequence of 20 colors in which each color will be displayed for 600miliseconds apart and then you will have to repeat the sequence.
Medium is 40 colors, at a 400milisecond wait time.
Hard is 50 colors, at a 200milisecond wait time.
And Expert is 60 colors, at just 100miliseconds.
If you do not enter the sequence in right you will not be reset, but just try again. You will be shown the colors again.
Good luck, and happy playing!
Any comments or suggestions please let me know
; Idea and original code by DaMeiN. ; Cleaned up and fixed by Melba23 ; Thanks a lot Melba23 for your help! #include <GuiConstantsEx.au3> #include <GDIPlus.au3> #include <GuiButton.au3> Opt("GUIOnEventMode", 1) Global $Gui, $CheckingAnswer = 0, $sUserAnswer = "", $CurrentLevel = 1, $Var, $fGame = "", $1, $2, $3, $4, $SleepTime, $AttemptNumber = 1 Intro() While 1 If $CheckingAnswer = 0 Then Switch $fGame Case "Easy" EasyGame() Case "Medium" MediumGame() Case "Hard" HardGame() Case "Expert" ExpertGame() EndSwitch EndIf Sleep(10) WEnd Func Intro() _GDIPlus_Startup () $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $FadedBlue = GuiCtrlCreatePic("Imgs\FadedBlue.bmp", 0,0,211,211) $FadedGreen = GuiCtrlCreatePic("Imgs\FadedGreen.bmp", 211,0,211,211) $FadedRed = GuiCtrlCreatePic("Imgs\FadedRed.bmp", 0,212,211,211) $FadedPurple = GuiCtrlCreatePic("Imgs\FadedPurple.bmp", 211,212,211,211) GuiSetState() $hBrush = _GDIPlus_BrushCreateSolid (0x7F00007F) $hFormat = _GDIPlus_StringFormatCreate () $hFamily = _GDIPlus_FontFamilyCreate ("Chiller") $hFont = _GDIPlus_FontCreate ($hFamily, 63.85, 1) $tLayout = _GDIPlus_RectFCreate (0, 0, 400, 400) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) For $Count = 0 To 5 Step +1 GuiCtrlSetImage($FadedBlue, "Imgs\Blue.bmp",-1) Sleep(40) GUICtrlSetImage($FadedBlue, "Imgs\FadedBlue.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GUICtrlSetImage($FadedGreen, "Imgs\Green.bmp", -1) Sleep(40) GUICtrlSetImage($FadedGreen, "Imgs\FadedGreen.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GUICtrlSetImage($FadedRed, "Imgs\Red.bmp", -1) Sleep(40) GUICtrlSetImage($FadedRed, "Imgs\FadedRed.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GUICtrlSetImage($FadedPurple, "Imgs\Purple.bmp", -1) Sleep(40) GUICtrlSetImage($FadedPurple, "Imgs\FadedPurple.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Next For $Count = 0 To 5 Step +1 GUICtrlSetImage($FadedPurple, "Imgs\Purple.bmp", -1) Sleep(40) GUICtrlSetImage($FadedPurple, "Imgs\FadedPurple.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GUICtrlSetImage($FadedRed, "Imgs\Red.bmp", -1) Sleep(40) GUICtrlSetImage($FadedRed, "Imgs\FadedRed.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GUICtrlSetImage($FadedGreen, "Imgs\Green.bmp", -1) Sleep(40) GUICtrlSetImage($FadedGreen, "Imgs\FadedGreen.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) GuiCtrlSetImage($FadedBlue, "Imgs\Blue.bmp",-1) Sleep(40) GUICtrlSetImage($FadedBlue, "Imgs\FadedBlue.bmp", -1) _GDIPlus_GraphicsDrawStringEx ($hGraphic, " Welcome to" & @CRLF & " the" & @CRLF & "Flash Memory" & @CRLF & " Game!", $hFont, $tLayout, $hFormat, $hBrush) _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) Sleep(40) Next GuiDelete($Gui) _GDIPlus_Startup () $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $EasyButton = GuiCtrlCreateButton("Easy", 0, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($EasyButton, "Imgs\EasyImage.bmp", 1) GUICtrlSetOnEvent($EasyButton, "Easy") $MediumButton = GuiCtrlCreateButton("Medium", 211, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($MediumButton, "Imgs\MediumImage.bmp", 1) GUICtrlSetOnEvent($MediumButton, "Medium") $HardButton = GuiCtrlCreateButton("Hard", 0, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($HardButton, "Imgs\HardImage.bmp", 1) GUICtrlSetOnEvent($HardButton, "Hard") $ExpertButton = GuiCtrlCreateButton("Expert", 211, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($ExpertButton, "Imgs\ExpertImage.bmp", 1) GUICtrlSetOnEvent($ExpertButton, "Expert") GUISetState() _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) _GDIPlus_FontDispose ($hFont) _GDIPlus_GraphicsDispose ($hGraphic) _GDIPlus_FontFamilyDispose ($hFamily) _GDIPlus_StringFormatDispose ($hFormat) _GDIPlus_BrushDispose ($hBrush) EndFunc Func Easy() GuiDelete($Gui) $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $1 = GuiCtrlCreateButton("Blue", 0, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) GUICtrlSetOnEvent($1, "Blue") $2 = GuiCtrlCreateButton("Green", 211, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) GUICtrlSetOnEvent($2, "Green") $3 = GuiCtrlCreateButton("Red", 0, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) GUICtrlSetOnEvent($3, "Red") $4 = GuiCtrlCreateButton("Purple", 211, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) GUICtrlSetOnEvent($4, "Purple") GUISetState() _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) $SleepTime = "600" _GDIPlus_PenDispose ($hPen) _GDIPlus_Shutdown () $Var = "" For $i = 1 To 20 $Var &= Random(1, 4, 1) Next $fGame = "Easy" EndFunc Func Medium() GuiDelete($Gui) $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $1 = GuiCtrlCreateButton("Blue", 0, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) GUICtrlSetOnEvent($1, "Blue") $2 = GuiCtrlCreateButton("Green", 211, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) GUICtrlSetOnEvent($2, "Green") $3 = GuiCtrlCreateButton("Red", 0, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) GUICtrlSetOnEvent($3, "Red") $4 = GuiCtrlCreateButton("Purple", 211, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) GUICtrlSetOnEvent($4, "Purple") GUISetState() _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) $SleepTime = "400" _GDIPlus_PenDispose ($hPen) _GDIPlus_Shutdown () $Var = "" For $i = 1 To 40 $Var &= Random(1, 4, 1) Next $fGame = "Medium" EndFunc Func Hard() GuiDelete($Gui) $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $1 = GuiCtrlCreateButton("Blue", 0, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) GUICtrlSetOnEvent($1, "Blue") $2 = GuiCtrlCreateButton("Green", 211, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) GUICtrlSetOnEvent($2, "Green") $3 = GuiCtrlCreateButton("Red", 0, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) GUICtrlSetOnEvent($3, "Red") $4 = GuiCtrlCreateButton("Purple", 211, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) GUICtrlSetOnEvent($4, "Purple") GUISetState() _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) $SleepTime = "200" _GDIPlus_PenDispose ($hPen) _GDIPlus_Shutdown () $Var = "" For $i = 1 To 50 $Var &= Random(1, 4, 1) Next $fGame = "Hard" EndFunc Func Expert() GuiDelete($Gui) $hPen = _GDIPlus_PenCreate () $GUI = GUICreate("Flash Memory", 415, 423) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseGUI") $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($GUI) $1 = GuiCtrlCreateButton("Blue", 0, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) GUICtrlSetOnEvent($1, "Blue") $2 = GuiCtrlCreateButton("Green", 211, 0, 211, 211, $BS_BITMAP) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) GUICtrlSetOnEvent($2, "Green") $3 = GuiCtrlCreateButton("Red", 0, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) GUICtrlSetOnEvent($3, "Red") $4 = GuiCtrlCreateButton("Purple", 211, 212, 211, 211, $BS_BITMAP) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) GUICtrlSetOnEvent($4, "Purple") GUISetState() _GDIPlus_GraphicsDrawLine ($hGraphic, 0, 211, 428, 211, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphic, 211, 0, 211, 425, $hPen) $SleepTime = "100" _GDIPlus_PenDispose ($hPen) _GDIPlus_Shutdown () $Var = "" For $i = 1 To 60 $Var &= Random(1, 4, 1) Next $fGame = "Expert" EndFunc Func EasyGame() For $i = 1 To $CurrentLevel $iCurrentColor = StringMid($Var, $i, 1) Switch $iCurrentColor Case 1 GUICtrlSetImage($1, "Imgs\Blue.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) Sleep($SleepTime) Case 2 GUICtrlSetImage($2, "Imgs\Green.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) Sleep($SleepTime) Case 3 GUICtrlSetImage($3, "Imgs\Red.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) Sleep($SleepTime) Case 4 GUICtrlSetImage($4, "Imgs\Purple.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) Sleep($SleepTime) EndSwitch Next $CheckingAnswer = 1 EndFunc Func MediumGame() For $i = 1 To $CurrentLevel $iCurrentColor = StringMid($Var, $i, 1) Switch $iCurrentColor Case 1 GUICtrlSetImage($1, "Imgs\Blue.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) Sleep($SleepTime) Case 2 GUICtrlSetImage($2, "Imgs\Green.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) Sleep($SleepTime) Case 3 GUICtrlSetImage($3, "Imgs\Red.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) Sleep($SleepTime) Case 4 GUICtrlSetImage($4, "Imgs\Purple.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) Sleep($SleepTime) EndSwitch Next $CheckingAnswer = 1 EndFunc Func HardGame() For $i = 1 To $CurrentLevel $iCurrentColor = StringMid($Var, $i, 1) Switch $iCurrentColor Case 1 GUICtrlSetImage($1, "Imgs\Blue.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) Sleep($SleepTime) Case 2 GUICtrlSetImage($2, "Imgs\Green.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) Sleep($SleepTime) Case 3 GUICtrlSetImage($3, "Imgs\Red.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) Sleep($SleepTime) Case 4 GUICtrlSetImage($4, "Imgs\Purple.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) Sleep($SleepTime) EndSwitch Next $CheckingAnswer = 1 EndFunc Func ExpertGame() For $i = 1 To $CurrentLevel $iCurrentColor = StringMid($Var, $i, 1) Switch $iCurrentColor Case 1 GUICtrlSetImage($1, "Imgs\Blue.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($1, "Imgs\FadedBlue.bmp", 1) Sleep($SleepTime) Case 2 GUICtrlSetImage($2, "Imgs\Green.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($2, "Imgs\FadedGreen.bmp", 1) Sleep($SleepTime) Case 3 GUICtrlSetImage($3, "Imgs\Red.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($3, "Imgs\FadedRed.bmp", 1) Sleep($SleepTime) Case 4 GUICtrlSetImage($4, "Imgs\Purple.bmp", 1) Sleep($SleepTime) GUICtrlSetImage($4, "Imgs\FadedPurple.bmp", 1) Sleep($SleepTime) EndSwitch Next $CheckingAnswer = 1 EndFunc Func CheckAnswer() $CheckingAnswer = 0 For $i = 1 To $CurrentLevel If StringMid($sUserAnswer, $i, 1) <> StringMid($Var, $i, 1) Then MsgBox(0, "Invalid Entry", "Sorry, that was an invalid entry!" & @CRLF & "Please, try again") $AttemptNumber += 1 $sUserAnswer = "" Return EndIf Next MsgBox(0, "Good job", "You completed level: " & $CurrentLevel & " Proceeding to level: " & $CurrentLevel+1 & @CRLF & "It took you: " & $AttemptNumber & " tries!") $AttemptNumber = 1 $sUserAnswer = "" $CurrentLevel += 1 If $fgame = "Easy" Then If $CheckingAnswer = 21 Then MsgBox(0, "Congrats", "You have completed the Easy level") $CurrentLevel = 1 EndIf ElseIf $fgame = "Medium" Then If $CheckingAnswer = 41 Then MsgBox(0, "Congrats", "You have completed the Medium level") $CurrentLevel = 1 EndIf ElseIf $fgame = "Hard" Then If $CheckingAnswer = 51 Then MsgBox(0, "Congrats", "You have completed the Hard level") $CurrentLevel = 1 EndIf ElseIf $fgame = "Expert" Then If $CheckingAnswer = 61 Then MsgBox(0, "Congrats", "You have completed the Expert level") $CurrentLevel = 1 EndIf EndIf EndFunc Func Blue() If Not $CheckingAnswer Then Return $sUserAnswer &= "1" If StringLen($sUserAnswer) = $CurrentLevel Then CheckAnswer() EndIf EndFunc Func Green() If Not $CheckingAnswer Then Return $sUserAnswer &= "2" If StringLen($sUserAnswer) = $CurrentLevel Then CheckAnswer() EndIf EndFunc Func Red() If Not $CheckingAnswer Then Return $sUserAnswer &= "3" If StringLen($sUserAnswer) = $CurrentLevel Then CheckAnswer() EndIf EndFunc Func Purple() If Not $CheckingAnswer Then Return $sUserAnswer &= "4" If StringLen($sUserAnswer) = $CurrentLevel Then CheckAnswer() EndIf EndFunc Func CloseGUI() Exit EndFunc
Images:
Download link for images
(Extract and put both source + images in the same folder)
(IE: C:\FlashMemory for the source and C:\FlashMemory\Imgs for the images)
Edited by Damein, 16 March 2011 - 09:21 PM.






