- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
Цикл для игр
' Декларируем APi
Public Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long ' Для тех кто рисует стандартными функциями (Чтоб немерцало)
' Для цикла
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function GetCurrentTime Lib "kernel32" Alias "GetTickCount" () As Long
Public rb As Boolean, FPS&
Const mFps& = 60
Sub Main()
init ' Инициализация (процедура в которой загружаются объекты)
Load frmMain
frmMain.Show frmMain.Scale (0, 0)-(200, 100): frmMain.AutoRedraw = 1 ' Загрузка формы
Dim t1&, t2&, stp&, stpM&: stpM = 1000 / mFps& ' переменные для цикла
't2 = GetCurrentTime
' Цикл
Do Until rb ' rb = 1 - Выход из цикла (например ,При выключение программы)
t1 = GetCurrentTime: stp = stpM - (t1 - t2): t2 = t1: If stp > 0 Then Sleep stp: t2 = t2 + stp ' Эта строчка регулирует кол-во ФПС , Fps<=mFps
DoEvents: FPS = FPS + 1
DoGame ' Вся игра
Loop
Unload frmMain
End Sub
Sub DoGame() ' Состав игры
DoControl ' Контроль клавиатурой
DoFiz ' Физика
Render ' Прорисовка
End Sub
Вот какие они - таланты нашего гов..городка.
Ты сука, дол.оеб и девственник
bormand 22.09.2013 08:31 # 0
Типичный игровой цикл, коих тысячи. Из багов вижу разве что зачем-то закомменченную инициализацию t2 в строке 24. Ну и строку 30 стоило бы разбить на несколько.
Stertor 22.09.2013 11:16 # −5
eth0 22.09.2013 19:39 # +7
Stertor 22.09.2013 19:41 # −5
Lure Of Chaos 22.09.2013 20:18 # +3
Stertor 23.09.2013 14:36 # −2
мне приснилось что я - опенок, растущий на опушке под березой. Недавно прошел дождь, и в углублении моей шляпки собралось уж порядочно росы. Усердно покачивая шляпкой чтобы стряхнуть влагу я вдруг услышал треск сучьев и нецензурную брань. Мимо пробежала лисица на трех ногах. Я перестал качать головой и прислушался. Я не сразу увидел, как надо мной вырастает тень. Медленно подняв глаза, я увидел как надо мной широко улыбаясь склонился огромный детина с хитрыми глазами.
-Масленок, -сказал мужик, и захохотал. -Ты-масленок, я -грибник.
-Честь имею. Я хотел поклониться но вовремя вспомнил, что ножка у меня тонкая и может обломиться, поэтому лишь слегка кивнул.
-Ахах, масленок заговорил. Мужичина присел, уперев кулачища в бедра.
Чего ты тут проседаешь? Пошли ко мне, у меня комп есть под ДОС, покажу.
-Тоже мне, невидаль. Вчерашним днем живешь, дяденька. У меня вот селерон под винду!!! - соврал я. На самом деле в магнитофоне лопнул пассик и комп придя в негодность валялся где-то рядом в траве.
-Ты что, прихуел бля? Маслята нынче борзые пошли, наххуй! Мужик осерчал.
-Извини.
-Придется тебе заявление писать по собственному желанию, отказаться от должности редактора местной лесной газеты.
Stertor 23.09.2013 14:36 # −2
Скоро мы пришли домой, меня вытащили из кузова и посадили за комп.
-Какая примитивщина, паутина тут у тебя. Вдруг я увидел себя в зеркале. Лицо у меня почему-то было в странной пыли.
-Кокаинщик?
Я еще долго болтал, жал f8, подкалывал мужика. Он был занят своими делами и казалось не замечал меня.
-А у тебя винда левая! Ахахахах...
Мужик остолбенело замер, потом медленно повернулся ко мне и широко улыбнулся.
-Масленок...
[...]
Ловкие руки вымыли меня, очистили от кожицы и уложили на тарелку просохнуть.
Эй, а кто вытирать будет?! Я не вижу у вас осиновых листьев. Я ведь так и простудиться могу.
-Перебьешься.
[...]
Потом меня сварили с лучком и специями - мы еще долго спорили, какой асм лучше. Лук был приверженцем тасма, а я - масма, специи скромно помалкивали - они кодили только на кубейсике. Потом меня подали на тарелке со сметаной.
Я смутно помню, как мужик долго тыкал мне вилкой в харю...