Как сделать «если (переменная1 <X более или менее Y)»? - PullRequest
0 голосов
/ 13 февраля 2019

Я сейчас создаю небольшую игру, и мне нужно создать условие.

В псевдокоде это будет выглядеть примерно так:

if (a < x with x included in [b -10; b +10]) 
{
    then c = 2
}

Есть липростой способ сделать это?

Я знаю, что это может быть не совсем понятно, поэтому спросите меня, если вы не поняли.

Ответы [ 4 ]

0 голосов
/ 13 февраля 2019

Несколько более краткий способ написать это:

#include <stdlib.h>

if (a < x && abs(x-b) <= 10) {
    c = 2;
}

Если ваши переменные отличаются от int, вы можете использовать labs, llabs, fabs, fabsf, fabsl, в зависимости от ситуации.

Может произойти сбой в случае целочисленного переполнения (например, если x, b являются 32-битными int с и отличаются более чем на 2 ^ 31), поэтому не используйтеесли это возможно.

0 голосов
/ 13 февраля 2019

Вы хотите, чтобы условие было истинным, если a меньше x И x больше или равно b-10 И x меньше или равно b+10.Вы написали бы это как:

if ((a < x) && (x >= (b-10)) && (x <=(b+10))) {
    c = a;
}
0 голосов
/ 13 февраля 2019

Если я правильно понимаю, a, b и C являются постоянными переменными, и вы хотите присвоить значение в C. Тогда это будет похоже на

if( a < X && ( b - 10 <= X && b + 10 >= X ) {
    C = 2;
}
0 голосов
/ 13 февраля 2019
if(a < x && x >= b-10 && x <= b + 10){

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...