
Расписывать код комментариями не стал, в нем всего чуть более 60 строчек.
Код:
LoadImage(1,"череп.ico")
LoadImage(0,"пусто.bmp")
Global Dim tic.b(36)
Procedure Open_Window_0()
If OpenWindow(0, 216, 0, 430, 450, "ЧЕРЕПА", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar|#PB_Window_ScreenCentered )
d=1 : e=10 : f=10
For b=1 To 6
For a=1 To 6
ButtonImageGadget(d,e,f,60,60,ImageID(1))
tic(d)=1
d+1 : e+70
Next
e=10 : f+70
Next
EndIf
ButtonGadget(37,355,428,70,20,"Сгенерить")
EndProcedure
Procedure OPRED(a)
If a-6>=1
v= tic(a-6)!1
tic(a-6)=v
SetGadgetAttribute(a-6, #PB_Button_Image,ImageID(v))
EndIf
If a+6<=36
v= tic(a+6)!1
tic(a+6)=v
SetGadgetAttribute(a+6, #PB_Button_Image,ImageID(v))
EndIf
If a-1>=1 And a-1<>6 And a-1<>12 And a-1<>18 And a-1<>24 And a-1<>30
v= tic(a-1)!1
tic(a-1)=v
SetGadgetAttribute(a-1, #PB_Button_Image,ImageID(v))
EndIf
If a+1<=36 And a+1<>7 And a+1<>13 And a+1<>19 And a+1<>25 And a+1<>31
v= tic(a+1)!1
tic(a+1)=v
SetGadgetAttribute(a+1, #PB_Button_Image,ImageID(v))
EndIf
tic(a)=tic(a)!1
SetGadgetAttribute(a, #PB_Button_Image,ImageID( tic(a)))
EndProcedure
Procedure GENER()
Repeat
OPRED(Random(35)+1)
c+1
Until c=100
EndProcedure
Open_Window_0()
GENER()
Repeat
ev=WaitWindowEvent()
If ev=#PB_Event_Gadget
Select EventGadget()
Case 1 To 36
OPRED(GetActiveGadget())
Case 37
GENER()
EndSelect
ElseIf ev=#PB_Event_CloseWindow
End
EndIf
ForEverP.S. Заметил баг, подредактировал код, архив тоже обновил
Отредактировано haav (13.04.2010 19:34:43)