コード例 #1
0
ファイル: main.c プロジェクト: cleichner/bubbly
int main(void) {
    enc_init();
    motor_init();

    encoder_debug_init();

    right_turns = 0;
    left_turns = 0;
    right_direction = REVERSE;
    left_direction = REVERSE;

    encoder_debug_init();

    //Enable all interrupts
    sei();

    DDRC &= ~(_BV(DDC5));
    while (!(has_wall(RIGHT) && has_wall(RIGHT))) {
        move_forward(1);
    }
    turn_right(1);
    move_forward(1);

    while (1) {
        if (has_wall(RIGHT)) {
            PORTC |= _BV(PORTC3);
        } else {
            PORTC &= ~(_BV(PORTC3));
        }
        if (has_wall(LEFT)) {
            PORTC |= _BV(PORTC2);
        } else {
            PORTC &= ~(_BV(PORTC2));
        }
        /*
        while ((PINC & _BV(PINC5)));
        move_forward(1);
        move_forward(1);
        turn_right(1);
        move_forward(1);
        */
    }
}
コード例 #2
0
ファイル: maze_model.c プロジェクト: thekoc/CCpp2016
element type_of(Maze *maze, int x, int y) {
    Player p1 = maze->player1;
    Exit e1 = maze->exit1;
    if (has_wall(maze, x, y)) {
        return WALL;
    } else if (x == p1.coordinate.x && y == p1.coordinate.y) {
        return PLAYER;
    } else if (x == e1.coordinate.x && y == e1.coordinate.y) {
        return EXIT;
    } else {
        return NONE;
    }
}
コード例 #3
0
ファイル: dfs-letsclimb.cpp プロジェクト: ftk/XXLDDRace
  void fill_row(char * buf, int row)
  {
    if(row < 2 || row > CELL_Y - 2)
      for(int i = 0; i < CELL_X; i++)
        buf[i] = ' ';
    else
      for(int i = 0; i < CELL_X; i++)
        buf[i] = /*(i == 1 || i == CELL_X - 2) ? ' ' :*/ RANDOM_BLOCK;
      
    if(has_wall(up))
    {
      int i0 = 0, i1 = 1;      
      if(row == i0)
        for(int i = 0; i < CELL_X; i++)
          buf[i] = '-';
      /*if(row == i1)
        for(int i = 0; i < CELL_X; i++)
          buf[i] = '-';*/
      //
    }
    if(has_wall(down))
    {
      int i0 = CELL_Y - 1, i1 = CELL_Y - 2;
      if(row == i0)
        for(int i = 0; i < CELL_X; i++)
          buf[i] = '-';
      /*if(row == i1)
        for(int i = 0; i < CELL_X; i++)
          buf[i] = '-';*/
    }

    
    //
    if(has_wall(left))
    {
      int i0 = 0, i1 = 1;
      
      buf[i0] = '-';
      /*if(buf[i1] == ' ')
        buf[i1] = '-';*/
    }
    if(has_wall(right))
    {
      int i0 = CELL_X - 1, i1 = CELL_X - 2;
      
      buf[i0] = '-';
      /*if(buf[i1] == ' ')
        buf[i1] = '-';*/
    }
    
    if(row == 0 || row == CELL_Y - 1)
    {
      buf[0] = '-';
      buf[CELL_X-1] = '-';
      /*
      buf[1] = '-';      
      buf[CELL_X-2] = '-';*/
    }
    /*
    if(row == 1 || row == CELL_Y - 2)
    {
      buf[0] = '-';
      buf[CELL_X-1] = '-';
      buf[1] = '-';      
      buf[CELL_X-2] = '-';
    }*/
  }