diff options
author | nathansmith117 <thenathansmithsmith@gmail.com> | 2024-05-06 18:23:19 +0000 |
---|---|---|
committer | nathansmith117 <thenathansmithsmith@gmail.com> | 2024-05-06 18:23:19 +0000 |
commit | 926f3b1467efa314bb667ddbfd45a01c0edcd426 (patch) | |
tree | 0d6beeaedea151199332e20c2c3dbbb3bf7028ed /src/shooterScreen.c | |
parent | f6635129ef339ffa4c3725b6a04b0dd644f2c7cf (diff) | |
download | PenguinYippies-926f3b1467efa314bb667ddbfd45a01c0edcd426.tar.gz PenguinYippies-926f3b1467efa314bb667ddbfd45a01c0edcd426.tar.bz2 PenguinYippies-926f3b1467efa314bb667ddbfd45a01c0edcd426.zip |
Working on shooter penguins
Diffstat (limited to 'src/shooterScreen.c')
-rw-r--r-- | src/shooterScreen.c | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/src/shooterScreen.c b/src/shooterScreen.c index 4feeb9a..07b77fa 100644 --- a/src/shooterScreen.c +++ b/src/shooterScreen.c @@ -16,8 +16,11 @@ void initShooterScreeen(ShooterScreen* shooterScreen, Game* game) .direction = (Vector3){0.0, 0.0, 1.0}, .velocity = Vector3Zero(), .cameraAngle = Vector2Zero(), - .jumpStage = 0 + .jumpStage = 0, + .sleepyness = 0.0 }; + + resetShooterScreen(shooterScreen); } void updateShooterScreenControls(ShooterScreen* shooterScreen, Game* game) @@ -99,6 +102,14 @@ void updateShooterScreenJump(ShooterScreen* shooterScreen, Game* game) } } +void updateShooterScreenPenguins(ShooterScreen* ShooterScreen, Game* game) +{ + for (int i = 0; i < SHOOTER_PENGUIN_COUNT; ++i) + { + + } +} + void updateShooterScreen(ShooterScreen* shooterScreen, Game* game) { ShooterPlayer* player = &shooterScreen->player; @@ -120,7 +131,9 @@ void updateShooterScreen(ShooterScreen* shooterScreen, Game* game) // Draw 3d scene. BeginMode3D(shooterScreen->player.camera); - DrawGrid(32, 2.0); + DrawGrid(SHOOTER_MAP_SIZE, 2.0); + + updateShooterScreenPenguins(shooterScreen, game); EndMode3D(); } @@ -129,6 +142,34 @@ void closeShooterScreen(ShooterScreen* shooterScreen) { } +void resetShooterScreen(ShooterScreen* shooterScreen) +{ + // Player. + ShooterPlayer* player = &shooterScreen->player; + player->position = (Vector3){0.0, PLAYER_HEIGHT, 0.0}; + player->direction = (Vector3){0.0, 0.0, 1.0}; + player->cameraAngle = Vector2Zero(); + player->jumpStage = 0; + player->sleepyness = 0.0; + player->velocity = Vector3Zero(); + + // Penguins. + SetRandomSeed(time(NULL)); + + for (int i = 0; i < SHOOTER_PENGUIN_COUNT; ++i) + { + Vector3 randomPosition = (Vector3){ + GetRandomValue(-SHOOTER_MAP_SIZE, SHOOTER_MAP_SIZE), + SHOOTER_PENGUIN_HEIGHT, + GetRandomValue(-SHOOTER_MAP_SIZE, SHOOTER_MAP_SIZE) + }; + + shooterScreen->penguins[i].position = randomPosition; + shooterScreen->penguins[i].velocity = Vector3Zero(); + shooterScreen->penguins[i].sleepyness = 0.0; + } +} + void enterShooterScreen(Game* game) { game->currentScreen = SHOOTER_SCREEN; |