Exemplo n.º 1
0
/**
 *  Twitch or shudder.
 */
void ModeLibrary::twitch() {
  // Pick random motors to twitch
  double twitchValA = 0.0;
  double twitchValB = 0.0;
  double twitchValC = 0.0;
  
  if ( coinFlip() ) {
    twitchValA = 0.2;
  }
  if ( coinFlip() ) {
    twitchValB = 0.2;
  }
  if ( coinFlip() ) {
    twitchValC = 0.2;
  }
  
  for ( int i=0; i<rand()%20+10; i++ ) {
    robotDo(  
       servoA + twitchValA, 
       servoB + twitchValB,
       servoC + twitchValC,  
       ledR, ledG, ledB );
    robotDo(  
       servoA, 
       servoB, 
       servoC,  
       ledR, ledG, ledB );
  }
}
Exemplo n.º 2
0
float randomFloat(int max, int divide, bool neg)
{
	if (neg)
		if (coinFlip())
			return ((static_cast<float>(rand() % max) / divide) * -1);

	return (static_cast<float>(rand() % max) / divide);
}
Exemplo n.º 3
0
/**
 *  Jab in some direction and return back
 */
void ModeLibrary::jab() {
  // Remember our starting position.
  double svA = servoA;
  double svB = servoB;
  double svC = servoC;
  
  // Pick a random direction to jab in.
  switch( rand()%6 ) {
    case 0:
      servoC =- 0.5;
      updateServos();
      robotRamp(2, 1.0, 1.0, -1.0 );
      break;
    case 1:
      servoB =- 0.5;
      updateServos();
      robotRamp(2, 1.0, -1.0, 1.0 );
      break;
    case 2:
      servoB =- 0.5;
      servoC =- 0.5;
      updateServos();
      robotRamp(2, 1.0, -1.0, -1.0 );
      break;
    case 3:
      servoA =- 0.5;
      servoC =- 0.5;
      updateServos();
      robotRamp(2, -1.0, 1.0, -1.0 );
      break;
    case 4:
      servoA =- 0.5;
      servoB =- 0.5;
      updateServos();
      robotRamp(2, -1.0, -1.0,  1.0 );
      break;
    case 5:
      servoA =- 0.5;
      updateServos();
      robotRamp(2, -1.0, 1.0,  1.0 );
      break;
  }
  pause(100, 300);
  
  // Sometimes recoil from jab
  if ( coinFlip() ) {
    robotRamp( 6, svA, svB, svC );
    pause(1, 300);
  }
}
Exemplo n.º 4
0
/**
 * Set up game with default values
 */
void setUpGame (ticTacToeBoard* selector, char *charPtr, unsigned short int* intPtr)
{
    // Sets turn number to 0
    *intPtr = 1;

    // Stores number of players as "num_players"
    intPtr[1] = numberOfPlayers();

    // Stores selected player as "user"
    charPtr[41] = playerSelect();

    // If there is an AI, ask for difficulty
    if(intPtr[1] == 1)
        intPtr[2] = findDifficulty(selector);

    // Flip coin to see who goes first
    coinFlip(charPtr);

    // Create a fresh board
    initBoard(charPtr);
}