diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cpp | 38 | 
1 files changed, 35 insertions, 3 deletions
| diff --git a/src/main.cpp b/src/main.cpp index 5c73e68..b75f7c9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -146,10 +146,42 @@ struct State        }      } -    for (const auto p : player.points) +    double x_ = +        rescale(player.points.begin()->x, HEIGHT < WIDTH, (WIDTH - HEIGHT) / 2); +    double y_ = +        rescale(player.points.begin()->y, WIDTH < HEIGHT, (HEIGHT - WIDTH) / 2); +    DrawRectangle(x_, y_, square_size, square_size, YELLOW); +    // Eyes based on direction +    double x_eye_1 = x_; +    double y_eye_1 = y_; +    double x_eye_2 = x_; +    double y_eye_2 = y_; +    switch (player.dir)      { -      double x_ = rescale(p.x, HEIGHT < WIDTH, (WIDTH - HEIGHT) / 2); -      double y_ = rescale(p.y, WIDTH < HEIGHT, (HEIGHT - WIDTH) / 2); +    case Direction::UP: +      x_eye_2 += (9.0 / 10) * square_size; +      break; +    case Direction::DOWN: +      y_eye_1 += (9.0 / 10) * square_size; +      y_eye_2 += (9.0 / 10) * square_size; +      x_eye_2 += (9.0 / 10) * square_size; +      break; +    case Direction::RIGHT: +      x_eye_1 += (9.0 / 10) * square_size; +      x_eye_2 += (9.0 / 10) * square_size; +      y_eye_2 += (9.0 / 10) * square_size; +      break; +    case Direction::LEFT: +      y_eye_2 += (9.0 / 10) * square_size; +      break; +    } +    DrawRectangle(x_eye_1, y_eye_1, square_size / 10, square_size / 10, BLACK); +    DrawRectangle(x_eye_2, y_eye_2, square_size / 10, square_size / 10, BLACK); +    for (size_t i = 1; i < player.points.size(); ++i) +    { +      const auto &p = player.points[i]; +      x_            = rescale(p.x, HEIGHT < WIDTH, (WIDTH - HEIGHT) / 2); +      y_            = rescale(p.y, WIDTH < HEIGHT, (HEIGHT - WIDTH) / 2);        DrawRectangle(x_, y_, square_size, square_size, GREEN);      }    } | 
