Try out this game, but make sure you have an Escape key on your keyboard in case you need to surrender.
Colors := ["cBlue", "cBlack", "cSilver", "cGray", "cWhite", "cMaroon"
, "cRed", "cPurple", "cFuchsia", "cGreen", "cLime", "cOlive", "cYellow"
, "cNavy", "cTeal", "cAqua"]
Fonts := ["Courier New", "MS Sans Serif", "Times New Roman", "Arial Bold"
, "Arial", "Courier New Bold Italic", "Verdana Bold", "Georgia Italic Impact"]
Distractions := ["Calc", "Notepad"]
chars := ""
loop, 200
chars .= chr(A_Index + 32)
chars := RegExReplace(chars, "[^[:punct:]]")
Punct := []
loop, parse, chars
Punct.Insert(A_LoopField)
Loop 16
{
Gui, %A_Index%: Default
RandomPunct := Punct[ Rand( Punct.MaxIndex() ) ]
Gui, Font, % "s" Rand(25,30), % Fonts[ Rand( Fonts.MaxIndex() ) ]
String := RandomPunct RandomPunct . " Gui #" . A_Index " " RandomPunct RandomPunct
Gui, Add, Text, % Colors[ Rand(16) ], %String%
Gui, Show, % "x" Rand(A_ScreenWidth-300) " y" Rand(A_ScreenHeight-300), Close me`, I dare ya'
Gui, +LabelEvilGui
}
Stack := {}
SetTimer, Reshow, 1500
SetTimer, Distract, 10000
return
Rand(min, max="") {
if (max != "")
Random, Rand, % Min, % Max
else
Random, Rand, 1, % Min
return Rand
}
EvilGuiClose:
Gui, Cancel
Stack[A_Gui] := true
return
Reshow:
debug := ""
for key in stack
{
if (A_Index = 16)
Win()
ToShow := key
}
if !ToShow
return
Stack.Remove(ToShow)
Gui, %ToShow%: Show, % "x" Rand(A_ScreenWidth-300) " y" Rand(A_ScreenHeight-300)
return
distract:
R := Rand(4)
if Distractions.HasKey(R)
run % Distractions[R]
return
Win() {
Msgbox, 48, Congrats, You Win!
ExitApp
}
esc::ExitApp
I'd like to note that I didn't spend a lot of time on this. Sorry the code is so messy :evil:




