void qGoBoardLocalInterface::checkComputersTurn() { bool blackToPlay = getBlackTurn(); if (blackToPlay && !(boardwindow->getMyColorIsBlack())) playComputer(); else if (!blackToPlay && !(boardwindow->getMyColorIsWhite())) playComputer(); }
void loopGame() { bool fin = true; bool key[KEY_MAX]={0}; while(fin) { ALLEGRO_EVENT event = {0}; al_wait_for_event(queue, &event); switch (event.type) { case ALLEGRO_EVENT_DISPLAY_CLOSE: fin = false; break; case ALLEGRO_EVENT_KEY_DOWN: switch (event.keyboard.keycode) { case ALLEGRO_KEY_UP: key[KEY_UP] = true; break; case ALLEGRO_KEY_DOWN: key[KEY_DOWN] = true; break; case ALLEGRO_KEY_A: key[KEY_A] = true; break; case ALLEGRO_KEY_Q: key[KEY_Q] = true; break; } break; case ALLEGRO_EVENT_KEY_UP: switch (event.keyboard.keycode) { case ALLEGRO_KEY_UP: key[KEY_UP] = false; break; case ALLEGRO_KEY_DOWN: key[KEY_DOWN] = false; break; case ALLEGRO_KEY_A: key[KEY_A] = false; break; case ALLEGRO_KEY_Q: key[KEY_Q] = false; break; } break; case ALLEGRO_EVENT_TIMER: player1.y -= key[KEY_UP] * 10; player1.y += key[KEY_DOWN] * 10; if(mode == MULTI) { player2.y -= key[KEY_A] * 10; player2.y += key[KEY_Q] * 10; } ball.x += ball.dx; ball.y += ball.dy; if(mode == SOLO) playComputer(); if(al_is_event_queue_empty(queue)) drawWorld(); break; } } }