Тема: Vivo
Показать сообщение отдельно
Старый 03.05.2012, 19:40   #321
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Vivo

Graphics3D 640,480,32,2
FPS=CreateTimer(60)

Global px#,py#,pvx#,pvy#

;px,py - координты плеера
;pvx,pvy - вектора скорости


Dim map(10,10)

For t=0 To 10
map(t,10)=1
Next 
map(6,9)=1
map(7,9)=1
map(8,9)=1
map(8,8)=1
map(8,7)=1


Repeat
Cls 
WaitTimer(FPS)

;============================
;Отрисовка карты 
For y=0 To 10
For x=0 To 10
If map(x,y)<>0 Then 

Color 200,200,200
Rect x*20,y*20,20,20,1
Color 100,100,100
Rect x*20,y*20,20,20,0

If RectsOverlap(x*20,y*20,20,20,px,py,20,20) Then  ;Условие для y оси не предустмотренно если блок выше перса
If py>y Then
py=py-pvy
pvy=-Abs(pvy)
coll=1
EndIf 

EndIf 

If RectsOverlap(x*20,y*20,20,20,px,py,20,20) Then ;Условие для x оси
px=px-pvx
pvx=-pvx
EndIf 

EndIf 
Next
Next
;==================================

;==================================
;Управление
If KeyDown(30) Then pvx#=pvx#-0.1
If KeyDown(32) Then pvx#=pvx#+0.1
If KeyHit(57) And coll=1 Then 
pvy=pvy-7
coll=0
EndIf 
;=================================


;=================================
;Вычисления
pvy#=pvy#+0.3
pvy#=pvy#*0.9
py#=py#+pvy#
px#=px#+pvx#
pvx#=pvx#*0.95
;=================================


Rect px#,py#,20,20,0  ; Отрисовка перса 

Flip 
Until KeyHit(1)
вот накатал на коленке
еще пилить и пилить
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием