Мне дали рабочий код и попросили его улучшить. Я включил коды, с которыми я работаю
Я выделил скорость шарика для секции с троичным оператором, так как я могу изменить ее с 1 ? -1 : 1
на более быструю 2 ? -2 : 2
.
мой вопрос, как насчет замедления? Я попытался изменить переменные структуры для самого шара (который управляется троичным оператором) на плавающую точку, а затем вместо этого использовать дробные числа в троичном, но это привело к тому, что шар вообще не будет двигаться.
Есть ли способ использовать значения от 0 до 0,99 на троице, о котором кто-то может рассказать мне. Альтернативой является использование usleep () ... какие-либо предложения по поводу троичного?
Может кто-нибудь сказать мне, как манипулировать троичным, чтобы я мог замедлить скорость мяча, чтобы нормальные люди могли играть в игру.
struct Ball {
int px, py, dx, dy;
};
Я пытался изменить здесь dx и dy на float, и это не работает.
int main(void) {
// initialization
int hits = 0, misses = 0, best = 0, streak = 0, quit = 0, frame = 1, max_y,
max_x;
struct Ball ball;
struct Paddle paddle;
system("clear");
initscr();
curs_set(0);
cbreak();
noecho();
nodelay(stdscr, 1);
start_color();
init_pair(1, COLOR_CYAN, COLOR_BLACK);
init_pair(2, COLOR_YELLOW, COLOR_BLACK);
init_pair(3, COLOR_GREEN, COLOR_BLACK);
getmaxyx(stdscr, max_y, max_x);
ball.py = max_y / 20; //controlling where it starts on y
ball.px = max_x / 30; //controlling where starts on x
ball.dy = rand() & 1 ? -1 : 1; //these two lines control speed
ball.dx = rand() & 1 ? -1 : 1;
paddle.length = 4;
paddle.py = (max_y / 12) - (paddle.length / 6);
paddle.px = max_x - 12;