forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Равны ли переменные (http://forum.boolean.name/showthread.php?t=19890)

softcrasoft 03.07.2015 17:49

Равны ли переменные
 
Приветствую.
Язык Blitz3D является не объектно ориентированным, поэтому возникает вопрос:
Как сделать условие, если player x и = enemy x то тото-тото.
и еще кто знает подскажите, как сделать проверку между player и enemy если на z расстояние меньше допустим 15, то?
Просто делаю шутер, аудио игру, с 3d звуком, хочу использовать при стрельбе. т.к по другому не представляю как. читать инфу о создании fps не выдерживаю, т.к "Делаем спрайты" и т.д, а нафига мне спрайты в аудио игре?

Arton 03.07.2015 18:11

Ответ: Равны ли переменные
 
Так и писать:
If player = x and enemy = z then
действие
End If

Проверка расстояния между объектами:
If EntityDistance# ( player, enemy ) < 15 Then
действие
End If

softcrasoft 03.07.2015 18:21

Ответ: Равны ли переменные
 
С entity тем так всё ясно, не ясен зна #. Зачем он?
If player = x and enemy = z then
ммм, по идее сусловие должно быть примерно таким
if player x = enemy x.
а and это уже условный оператор и. т.е проверет на что-то player x и enemy . И как я понимаю, не важно куб это или сфера? буедт работать?

softcrasoft 03.07.2015 18:24

Ответ: Равны ли переменные
 
вы походу не поняли меня с первым вопросом. я спрашивал, как узнать, равны ли x игрока и врага. т.е 1 значение.

ABTOMAT 03.07.2015 18:29

Ответ: Равны ли переменные
 
Что такое player и что такое enemy?
Это Entity? Если да, то координаты можешь получить через функции

EntityX(ent), EntityY(ent), EntityZ(ent)

Соответственно например
Код:

If(EntityX(player) > EntityX(enemy)) Then ... End If
Если тебе нужно узнать расстояние между двумя энтити, то есть уже готовая функция EntityDistance(ent1, ent2). Прочитай справку по этим функциям, там есть подробности и примеры.

softcrasoft 03.07.2015 18:34

Ответ: Равны ли переменные
 
Спасибо!!!!!!!!!!!!!!!!!!

L-ee-X 06.07.2015 01:43

Ответ: Равны ли переменные
 
Цитата:

Сообщение от softcrasoft (Сообщение 297173)
Приветствую.
Язык Blitz3D является не объектно ориентированным, поэтому возникает вопрос:
Как сделать условие

Чтооооо???? Причем тут ООП и условия? Юноша Вам скорее всего надо основы программирования изучать а не шутер звуковой писать. Впервые слышу что условия нельзя сделать если язык не ООП :-D

softcrasoft 06.07.2015 09:36

Ответ: Равны ли переменные
 
а при том.
в c# мы можем написать так:
enemy = new enemys
и проверять
if(enemy.x == player.x)
{
//код
}
А от куда я знал, как в блице проверять это. так же я там то не напишу)

L-ee-X 06.07.2015 11:03

Ответ: Равны ли переменные
 
Мда... Так тебе тоже самое и говорят тут сделать командами EntityX EntityY.
If entX# = enumX# Then "бла бла бла

L-ee-X 06.07.2015 12:32

Ответ: Равны ли переменные
 
Держи недопрограммист
PHP код:

Graphics3D 800,600,32,2
camera 
CreateCamera()
PositionEntity camera010, -10


cube_1 
CreateCube()
PositionEntity cube_120060

cube_2 
CreateCube()
PositionEntity cube_20010
MovPlay
# = 0.1
Repeat
UpdateWorld
()
RenderWorld()
PosZ# = EntityZ(cube_1)
PosCZ# = EntityZ(cube_2)
If KeyDown(200Then MoveEntity cube_200MovPlay#




Text 1010"Z Position Bot: = " PosZ#
Text 1020"Z Position Player: = " PosCZ#
If PosCZ# > PosZ#
MovPlay# = 0
Text 400300"Position Player = Position Bot"
EndIf

Flip()

Until (KeyHit(1))

End 


softcrasoft 06.07.2015 14:49

Ответ: Равны ли переменные
 
А я то что? я поблагодарил за функцию и все. теперь буду по чаще заглядывать в справку.

ABTOMAT 07.07.2015 10:54

Ответ: Равны ли переменные
 
Цитата:

Сообщение от L-ee-X (Сообщение 297252)
Мда... Так тебе тоже самое и говорят тут сделать командами EntityX EntityY.
If entX# = enumX# Then "бла бла бла

Не могу не отметить: проверять на равенство числа с плавающей точкой — это дело ненадёжное по ряду причин.

Это относится не только к Блицу, а вообще см. https://rsdn.ru/forum/cpp/2640596.1

softcrasoft 07.07.2015 13:06

Ответ: Равны ли переменные
 
Та этот l-ee-x вообще какой-то странный. сам по моему ничего не знает и пишет. см тему про условия.

tormoz 07.07.2015 13:32

Ответ: Равны ли переменные
 
Цитата:

Сообщение от softcrasoft (Сообщение 297310)
Та этот l-ee-x вообще какой-то странный. сам по моему ничего не знает и пишет. см тему про условия.

Пиздец. Единственный, кто реально помог - странный.
Чувак, ты реально упоролся.

L-ee-X 07.07.2015 15:55

Ответ: Равны ли переменные
 
Цитата:

Сообщение от ABTOMAT (Сообщение 297306)
Не могу не отметить: проверять на равенство числа с плавающей точкой — это дело ненадёжное по ряду причин.

Это относится не только к Блицу, а вообще см. https://rsdn.ru/forum/cpp/2640596.1

Да я в курсе что с плавающей точкой лучше не проверять :)


Часовой пояс GMT +4, время: 00:41.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot