Показать сообщение отдельно
Старый 03.07.2015, 23:15   #1
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Условия не работают правильно. В чём может быть причина?

Приветствую.
Есть код, где идут проверки на нажатия клавиш. И там подусловия, т.к как останавливать звуки я не знаю. где:
если x или y игрока превышает предел, или наоборот меньше нуля. так как используется else if, то else происходить должно если все условия не верны. тут же наоборот, условия не верны, а я иду вниз. по крайней мере, я слышу звук ходьбы, хоть x меньше 0 и я жму идти назад.
Помогите пожалуйста разобраться.
Вот весь код:
Graphics3D 800,600,16,2
SetBuffer BackBuffer()
player = CreateSphere()
cam = CreateCamera(player)
enemy = CreateCube()
PositionEntity enemy,0,0,20
stepsound = LoadSound("step.wav")
While Not KeyHit(1)
If KeyHit(200) Then
MoveEntity player,0,0,0.1
If EntityY#(player) > 40 Then
EntityY# = 40
Else If EntityX#(player) > 40 Then
EntityX# = 40
Else
PlaySound(stepsound)
EndIf
EndIf
If KeyHit(208) Then
MoveEntity player,0,0,-0.1
If EntityY#(player) < 0 Then
EntityY# = 0
Else If EntityX#(player) < 0 Then
EntityX# = 0
Else
PlaySound(stepsound)
EndIf
EndIf
If KeyHit(203) Then TurnEntity player,0,1,0
If KeyHit(205) Then TurnEntity player,0,-1,0
Wend
End
Заранее благодарен!

Последний раз редактировалось SBJoker, 04.07.2015 в 00:32.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям: