Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; simulator_v0.4
- ; .2 Ваня внедрил процедуры
- ; .3 Толя заменил текстовое поле со ссылкой на исходники на гиперссылку
- ; .4 Толя добавил закрытие по эскейпу, переделал финальное окно + результаты
- Enumeration
- #link
- #forum
- #mkSite
- #sellSite
- #siteCnt
- #mnyCnt
- #status
- #yw ;you win
- EndEnumeration
- Sourse$ = "http://pastebin.com/bymvnHVd"
- LoadFont(#yw,"Arial Narrow", 48)
- OpenWindow(0,100,100,380,190,"Симулятор вебмастера v0.4",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
- ; для того чтобы избавиться от копипаста обычно используют процедуры
- Procedure setInfo(sites.l,money.l)
- ; твой код:
- ;text2$ = "Денег: " + bablo
- ;TextGadget(#mnyCnt, 140, 120, 100, 25, text2$)
- ;text$ = "Сайтов: " + k
- ;TextGadget(#siteCnt, 140, 70, 100, 25, text$)
- ; ты каждый раз пересоздаешь гаджет на том же месте с тем же айди
- ; это лишнее, поэтому делаем так
- moneyString.s = "Денег: " + Str(money)
- siteString.s = "Сайтов: " + Str(sites)
- ; меняем статусы
- If Not IsGadget(#mnyCnt)
- TextGadget(#mnyCnt,140,120,100,25,moneyString)
- Else
- SetGadgetText(#mnyCnt,moneyString)
- EndIf
- If Not IsGadget(#siteCnt)
- TextGadget(#siteCnt,140,70,100,25,siteString)
- Else
- SetGadgetText(#siteCnt,siteString)
- EndIf
- ; активируем/деактивируем кнопочку когда надо
- If sites
- If Not IsGadget(#sellSite)
- ButtonGadget(#sellSite, 10, 110, 120, 40, "Продать сайт")
- Else
- DisableGadget(#sellSite,0)
- EndIf
- Else
- DisableGadget(#sellSite,1)
- EndIf
- EndProcedure
- ; теперь мы просто вызываем эту процедуру с указанными параметрами
- ; когда нам нужно обновить инфу
- ButtonGadget(#forum, 10, 10, 120, 40, "Почитать форум")
- Repeat
- ev = WaitWindowEvent()
- Select ev
- Case #PB_Event_Gadget
- Select EventGadget()
- Case #forum
- ; и что за тип ивента
- Select EventType()
- Case #PB_EventType_LeftClick
- TextGadget(#status, 140, 20, 230, 25, "Вы изучили: разработка сайтов")
- ButtonGadget(#forum, 10, 10, 120, 40, "Почитать форум") : DisableGadget(#forum, 1)
- ButtonGadget(#mkSite, 10, 60, 120, 40, "Сделать сайт")
- EndSelect
- Case #mkSite
- Select EventType()
- Case #PB_EventType_LeftClick
- easysite + 1
- setInfo(easysite,bablo)
- EndSelect
- Case #sellSite
- Select EventType()
- Case #PB_EventType_LeftClick
- If bablo>0
- For i=#forum To #status : FreeGadget(i) : Next
- ;FreeGadget(#forum) : FreeGadget(#mkSite) : FreeGadget(#sellSite) : FreeGadget(#siteCnt) : FreeGadget(#mnyCnt) : FreeGadget(#status)
- ;OpenWindow(1,100,100,380,190,"Симулятор вебмастера - победа",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
- TextGadget(#yw, 10, 10, 360, 100, "You WIN")
- SetGadgetFont(#yw, FontID(#yw))
- HyperLinkGadget(#link, 10, 150, 360, 25, Sourse$, RGB(0,0,255))
- finalTxt$ = "Сделано сайтов " + easysite + ". Заработано денег " + bablo
- TextGadget(#PB_Any, 10, 130, 360, 25, finalTxt$)
- Else
- If easysite = 1
- easysite - 1
- bablo + 1
- setInfo(easysite,bablo)
- Else
- easysite - 1
- bablo + 1
- setInfo(easysite,bablo)
- EndIf
- EndIf
- EndSelect
- Case #link
- Select EventType()
- Case #PB_EventType_LeftClick
- RunProgram(Sourse$)
- EndSelect
- EndSelect
- EndSelect
- ; ссылка на исходник
- ; If ev = #PB_Event_Gadget And EventGadget() = #link : RunProgram(Sourse$) : EndIf
- ; закрытие по Esc
- If CreatePopupMenu(0) : MenuItem(1, "Quit") : EndIf
- If ev = #PB_Event_Menu And EventMenu() = 1 : End : EndIf
- AddKeyboardShortcut(0, #PB_Shortcut_Escape, 1)
- Until ev = #PB_Event_CloseWindow
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement