UsePNGImageDecoder() Enumeration #Window_0 EndEnumeration Enumeration #Text_0 #Font_Text_0 #image_0 EndEnumeration Global x, Rand, speed=1 For e=1 To 4 LoadImage(e, Str(e)+".png") Next ExamineDesktops() x=600 Procedure OpenWindow_Window_0() If OpenWindow(#Window_0, 391, 371, 315, 200, "Тестируем знания клавиатуры", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered | #PB_Window_ScreenCentered) TextGadget(#Text_0, 600, 130, 25, 25, "", #PB_Text_Center | #SS_CENTERIMAGE) SetGadgetFont(#Text_0, LoadFont(#Font_Text_0, "Arial", 18, 272)) PureCOLOR_SetGadgetColor(#Text_0, $aa, #PureCOLOR_DontSetBackColor) ImageGadget(#image_0, 0, 0, 330, 210, ImageID(4)) EndIf EndProcedure Procedure LowResTimer(num, time) SetTimer_(WindowID(#Window_0), num, time, 0) EndProcedure Procedure.s ran() rand=Random(25)+65 REZ.s=Chr(rand) Static y y=y+1 If y=20 speed=speed+1 y=0 EndIf If speed=5 MessageRequester("", "Поздравляю,вы хорошо знаете клавиатуру, до свидания!") End EndIf ProcedureReturn REZ EndProcedure Procedure Proverka(x) Static t If x<=145 SetGadgetText(#Text_0, ran()) SetGadgetState(#image_0, ImageID(1)) t+1 If t=5 Select speed Case 1 MessageRequester("", "Очень плохо, советую вам получше изучить клавиатуру!") End Case 2 MessageRequester("", "Неважно, советую вам получше изучить клавиатуру!") End Case 3 MessageRequester("", "Нормально, вы неплохо знаете клавиатуру!") End EndSelect EndIf ProcedureReturn 600 Else ProcedureReturn x EndIf EndProcedure Procedure Proverka2(x) If x<=250 And x>190 SetGadgetState(#image_0, ImageID(2)) ElseIf x<=190 SetGadgetState(#image_0, ImageID(3)) EndIf EndProcedure OpenWindow_Window_0() LowResTimer(1, 3000) LowResTimer(0, 10) ran() SetGadgetText(#Text_0, ran()) For e=65 To 90 AddKeyboardShortcut(#Window_0, e, e) Next Repeat Event=WaitWindowEvent() Select Event Case #WM_TIMER Select EventwParam() Case 1 If GO=0 KillTimer_(WindowID(#Window_0), 1) ResizeGadget(#image_0, 1, 1, 198, 198) SetGadgetState(#image_0, ImageID(1)) ResizeWindow(#Window_0,(DesktopWidth(k)-600)/2,#PB_Ignore,600,200) GO=1 EndIf Case 0 If GO=1 ResizeGadget(#Text_0, x, #PB_Ignore, #PB_Ignore, #PB_Ignore) x=x-speed x=Proverka(x) proverka2(x) EndIf EndSelect Case #PB_Event_Menu m=EventMenu() Select m Case 65 To 90 If m=Rand x=600 SetGadgetText(#Text_0, ran()) EndIf EndSelect EndSelect Until Event=16
Отредактировано haav (07.04.2010 20:22:51)