Jogo no Mathematica (Polka Dot)

Usaremos principalmente a função “MousePosition[ ]”, que retorna a posição do mouse (um ponto {x,y}) com relação a um sistema de coordenadas específico, podendo ser um gráfico ou a janela inteira, além da função “Dynamic[ ]”, para manter o programa interativo. Veja um exemplo abaixo:

Dynamic[MousePosition[]]

Agora, definimos uma resolução e elaboramos um “Graphics[ ]” dinâmico (lembre de rodar o código e esconda clickando x2 na barra lateral direita da célula do jogo):

resol=CurrentValue[EvaluationNotebook[],"WindowSize"];(*Resolução da janela*)
Graphics[{
Dynamic[
If[(*Condicional, se dentro do gráfico -> Temos o disco, se fora -> Surge uma mensagem*)
TrueQ[MousePosition["Graphics"]==None],
messageError=Text[Style[Framed["Retorne o mouse à região do jogo!"],White,Bold,26],{resol[[1]]/2,resol[[2]]/2}],
you=Style[Disk[Dynamic[MousePosition["Graphics"]],10],White]
]
],
bolas=Table[Style[Disk[{RandomInteger[{0,960}],RandomInteger[{0,516}]},i*RandomInteger[{0,6}]],Red],{i,1,10}]},
(*If[you[[1,1,1]]>200,you[[2]]=Green,you[[2]]=Blue],*)
PlotRange->{{0,resol[[1]]},{0,resol[[2]]}},Background->RGBColor[0.,0.19,0.32],ImageSize->{resol[[1]],resol[[2]]},
Frame->True,FrameStyle->Directive[White,Thick],FrameTicks->{{None,None},{None,None}},
FrameLabel->{{None,None},{"By Bruno Gehlen","Polka Dot Game\n(Wolfram Version)"}},LabelStyle->Directive[White,Bold,12],
GridLines->{Table[i,{i,0,resol[[1]],40}],Table[i,{i,0,resol[[2]],40}]},GridLinesStyle->Directive[Dashed, White]
]

{you[[1,2]],bolas[[9,1,2]]}