básicamente necesito implementar una función de pausa en mi juego (que es una versión simplificada de frogger) que detiene el desplazamiento de los registros, e ignora cualquier otra entrada hasta que se presione el carácter p nuevamente. La forma en que comencé a implementar esto en un bucle while es terminarlo una vez que se presiona otra p.
if(serial_input == 'p' || serial_input == 'P') {
while(1){
//need to pause the game
if(serial_input == 'p' || serial_input == 'P')
break;
}
Así es como mis registros se están desplazando actualmente: / * Las siguientes declaraciones cambian las velocidades de desplazamiento de los registros individuales * /
current_time = get_clock_ticks();
if(is_frog_alive() && current_time >= last_move_time1 + 1000) {
scroll_lane(0, 1);
last_move_time1 = current_time;
} else if(is_frog_alive() && current_time >= last_move_time2 + 600) {
scroll_lane(1, -1);
last_move_time2 = current_time;
} else if(is_frog_alive() && current_time >= last_move_time3 + 800) {
scroll_lane(2, 1);
last_move_time3 = current_time;
} else if(is_frog_alive() && current_time >= last_move_time4 + 900) {
scroll_log_channel(0, -1);
last_move_time4 = current_time;
} else if(is_frog_alive() && current_time >= last_move_time5 + 1200) {
scroll_log_channel(1, 1);
last_move_time5 = current_time;
Y esto se implementa mediante un temporizador como se describe:
* We update a global clock tick variable - whose value
* can be retrieved using the get_clock_ticks() function.
*/
Cualquier sugerencia sería muy apreciada