Losowe przypisanie wartosci do zmiennej bool

0

Mam dwa inty:

gd->ball->mv_right;
gd->ball->mv_left;

I teraz, jesli wydarzy sie pewna rzecz chce nadac im losowo prawde albo falsz, i mysle jak to zrobic, zrobilem zmienna bool i kombinowalem cos z funkcja rand() ale nie mam pomyslu, chce zeby gdy funkcja wejdzie do if'a to nadaje jednej zmiennej losowo wartosc albo true albo false a drugiej przeciwna do tej ktora nadala pierwszej, jak moglbym to zrobic ?

a jesli chodzi o rand, to jak zrobic np mam dwie wartosci, true i false i chce zeby do zmiennej zapisalo losowo jedna z nich ?
pamietam ze to cos takiego bylo w podobie:

move = rand() % 2 == 0 : true ? false;

dobrze tak jest ?

0
gd->ball->mv_right = (rand() & 1);
gd->ball->mv_left = !gd->ball->mv_right;
2
pingwindyktator napisał(a):
gd->ball->mv_right = (rand() & 1);

Jestem przeciwny takim trikom. Owszem, jest krótkie i działa, ale nie wyjaśnia jaka jest intencja programisty. Wypadałoby dopisać komentarz. A skoro tak, to już lepiej pisać trochę więcej kodu, tak żeby komentarz był zbędny.

@Buzzxs rand() % 2 == 0 : true ? false jest ok, możesz tego użyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1