[PR #34] [MERGED] Dev felix #34

Closed
opened 2026-05-06 12:17:27 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/BreizhHardware/project_sanic/pull/34
Author: @BreizhHardware
Created: 4/9/2025
Status: Merged
Merged: 4/9/2025
Merged by: @ClementHVT

Base: devHead: dev_felix


📝 Commits (5)

  • 8ccae49 Feat(Game Logic) - Add JumpBoost and SpeedBoost collectibles; implement collision handling for boosts, update player mechanics, and modify game state to support new collectible types.
  • cd0ae07 Feat(Game Logic) - Update player life system; increase max lives from 2 to 5 and current lives from 2 to 3, adjust life increment logic based on new max lives.
  • 1da4738 Feat(Game Logic) - Enhance speedrun timer functionality; track total and collected items during gameplay, update leaderboard to display item collection stats, and modify coin collection logic to integrate with the speedrun timer.
  • a76a713 Feat(Game Logic) - Implement BackgroundManager for dynamic background handling; integrate into menu and leaderboard screens for enhanced visual experience.
  • 3e91e85 Chore(Game Logic) - Update player life increment logic to respect max lives; fix typo in SpeedBoost collision handling method.

📊 Changes

17 files changed (+598 additions, -137 deletions)

View changed files

📝 .gitignore (+3 -1)
assets/map/collectibles/jump.png (+0 -0)
assets/map/collectibles/speed.png (+0 -0)
assets/player/Sanic.gif (+0 -0)
📝 map/levels/2.json (+16 -1)
src/Entity/JumpBoost.py (+112 -0)
📝 src/Entity/Player.py (+122 -73)
src/Entity/SpeedBoost.py (+110 -0)
📝 src/Map/Editor/LevelEditor.py (+5 -1)
📝 src/Map/Speedrun/SpeedrunTimer.py (+7 -3)
📝 src/Map/parser.py (+19 -0)
src/Menu/BackgroundManager.py (+45 -0)
📝 src/Menu/Leaderboard.py (+84 -10)
📝 src/Menu/LevelEditorSelectionMenu.py (+4 -0)
📝 src/Menu/LevelSelectMenu.py (+4 -0)
📝 src/Menu/Menu.py (+9 -39)
📝 src/handler.py (+58 -9)

📄 Description

This pull request introduces new collectible items, enhances player mechanics, and updates the game's menu and map parsing logic. The most important changes include adding jump and speed boost collectibles, updating the player class to handle these new collectibles, and modifying the map parser to recognize and place the new items.

New Collectibles:

  • src/Entity/JumpBoost.py: Added a new JumpBoost class, which temporarily increases the player's jump power when collected.
  • src/Entity/SpeedBoost.py: Added a new SpeedBoost class, which temporarily increases the player's movement speed when collected.

Player Enhancements:

  • src/Entity/Player.py: Updated the player class to include properties and methods for handling jump and speed boosts, including loading animations and handling collisions. [1] [2] [3] [4] [5] [6]

Map and Collectibles:

  • map/levels/2.json: Added new jump and speed boost collectibles to the map.
  • src/Map/parser.py: Updated the map parser to recognize and add the new jump and speed boost collectibles to the game. [1] [2]

Menu Updates:


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/BreizhHardware/project_sanic/pull/34 **Author:** [@BreizhHardware](https://github.com/BreizhHardware) **Created:** 4/9/2025 **Status:** ✅ Merged **Merged:** 4/9/2025 **Merged by:** [@ClementHVT](https://github.com/ClementHVT) **Base:** `dev` ← **Head:** `dev_felix` --- ### 📝 Commits (5) - [`8ccae49`](https://github.com/BreizhHardware/project_sanic/commit/8ccae49754a9fbf9e9f6eb0a08ffb295c06e0852) Feat(Game Logic) - Add JumpBoost and SpeedBoost collectibles; implement collision handling for boosts, update player mechanics, and modify game state to support new collectible types. - [`cd0ae07`](https://github.com/BreizhHardware/project_sanic/commit/cd0ae078d18223552b8f156b52c631e0c9fa48f6) Feat(Game Logic) - Update player life system; increase max lives from 2 to 5 and current lives from 2 to 3, adjust life increment logic based on new max lives. - [`1da4738`](https://github.com/BreizhHardware/project_sanic/commit/1da4738a73512f554559038f7e63b861d645f680) Feat(Game Logic) - Enhance speedrun timer functionality; track total and collected items during gameplay, update leaderboard to display item collection stats, and modify coin collection logic to integrate with the speedrun timer. - [`a76a713`](https://github.com/BreizhHardware/project_sanic/commit/a76a713e2ec6fd6e29a810a998eced24fd44544a) Feat(Game Logic) - Implement BackgroundManager for dynamic background handling; integrate into menu and leaderboard screens for enhanced visual experience. - [`3e91e85`](https://github.com/BreizhHardware/project_sanic/commit/3e91e855bc2b670cdac0d53bdcafcf619a4157d8) Chore(Game Logic) - Update player life increment logic to respect max lives; fix typo in SpeedBoost collision handling method. ### 📊 Changes **17 files changed** (+598 additions, -137 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+3 -1) ➕ `assets/map/collectibles/jump.png` (+0 -0) ➕ `assets/map/collectibles/speed.png` (+0 -0) ➕ `assets/player/Sanic.gif` (+0 -0) 📝 `map/levels/2.json` (+16 -1) ➕ `src/Entity/JumpBoost.py` (+112 -0) 📝 `src/Entity/Player.py` (+122 -73) ➕ `src/Entity/SpeedBoost.py` (+110 -0) 📝 `src/Map/Editor/LevelEditor.py` (+5 -1) 📝 `src/Map/Speedrun/SpeedrunTimer.py` (+7 -3) 📝 `src/Map/parser.py` (+19 -0) ➕ `src/Menu/BackgroundManager.py` (+45 -0) 📝 `src/Menu/Leaderboard.py` (+84 -10) 📝 `src/Menu/LevelEditorSelectionMenu.py` (+4 -0) 📝 `src/Menu/LevelSelectMenu.py` (+4 -0) 📝 `src/Menu/Menu.py` (+9 -39) 📝 `src/handler.py` (+58 -9) </details> ### 📄 Description This pull request introduces new collectible items, enhances player mechanics, and updates the game's menu and map parsing logic. The most important changes include adding jump and speed boost collectibles, updating the player class to handle these new collectibles, and modifying the map parser to recognize and place the new items. New Collectibles: * [`src/Entity/JumpBoost.py`](diffhunk://#diff-9d3ef4e5a52d071bbfd1fc1cfbda9d12fcd0259c8d0469af9f3c30d7789492d7R1-R112): Added a new `JumpBoost` class, which temporarily increases the player's jump power when collected. * [`src/Entity/SpeedBoost.py`](diffhunk://#diff-cdac9e86a94db37076b033962d506030b1e0fc59a8e322a70e0d86cf63c7a9a5R1-R110): Added a new `SpeedBoost` class, which temporarily increases the player's movement speed when collected. Player Enhancements: * [`src/Entity/Player.py`](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2R5): Updated the player class to include properties and methods for handling jump and speed boosts, including loading animations and handling collisions. [[1]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2R5) [[2]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2R49-R59) [[3]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2R87-R137) [[4]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2R158-R164) [[5]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2L253-R300) [[6]](diffhunk://#diff-c0effc013092db6988c4774ca8aa3c2ca0c1b1890ffeed5401b98d17d217acc2L443-R490) Map and Collectibles: * [`map/levels/2.json`](diffhunk://#diff-8b3baeef1bef08c8a71f22de95185dccb1d432cf1cab0af9d81fb666d6f41c49L169-R184): Added new jump and speed boost collectibles to the map. * [`src/Map/parser.py`](diffhunk://#diff-b7d012db5b4cdd07e07d6f78dda95be51706a586fd88f44d2e2d0e9ffa228fafR11-R12): Updated the map parser to recognize and add the new jump and speed boost collectibles to the game. [[1]](diffhunk://#diff-b7d012db5b4cdd07e07d6f78dda95be51706a586fd88f44d2e2d0e9ffa228fafR11-R12) [[2]](diffhunk://#diff-b7d012db5b4cdd07e07d6f78dda95be51706a586fd88f44d2e2d0e9ffa228fafR142-R158) Menu Updates: * [`src/Menu/Menu.py`](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL41-R41): Updated the game menu to use English text for buttons and titles. [[1]](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL41-R41) [[2]](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL53-R53) [[3]](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL65-R65) [[4]](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL77-R77) [[5]](diffhunk://#diff-5c57ac3fa84a14440425a1681237b850dc174c1f58e50a0aa74adb881e4ef3dbL103-R103) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 12:17:27 +02:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
BreizhHardware/project_sanic#34
No description provided.