void Game::handleMovement(Weaponry& grenade, Animal& user) { if (ev.type == SDL_KEYDOWN) { switch(ev.key.keysym.sym) { case SDLK_LEFT: { // Spelaren ska inte kunna röra under avfyrning if (!grenade.isActivated()) { user.setDir(LEFT); user.move(); } break; } case SDLK_RIGHT: { if (!grenade.isActivated()) { user.setDir(RIGHT); user.move(); } break; } default: { break; } } } // När vi släpper mellanslagstangenten ska skottet avfyras else if (ev.type == SDL_KEYUP && grenade.isActivated()) { grenade.activated(false); grenade.getsThrown(true, user); grenade.setSpeed(SHEEP); } }
void AI::estimateAndMove(Animal& ai) { // Välj ut en lämplig position att röra sig till // (en gång per tur) if (!move_choices_made) { desired_direction = rand() % 2 ; // left/right ai.setDir(desired_direction); desired_steps = rand() % 5; move_choices_made = true; steps = 0; } // Fortsätt tills vi kommit till målet if ( steps < desired_steps ) { ++steps; ai.move(); } }