Beispiel #1
0
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);       
  }
}
Beispiel #2
0
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();
  }      
    
}