{"id":26796324,"url":"https://github.com/simonemoreware/pac-man-landtiger-arm-cortexm3","last_synced_at":"2025-07-19T11:34:37.834Z","repository":{"id":275014483,"uuid":"924800887","full_name":"SimoneMoreWare/PAC-MAN-LandTiger-ARM-CortexM3","owner":"SimoneMoreWare","description":"Pac-Man for LandTiger Board is a Pac-Man game implementation for the LandTiger development board (ARM Cortex-M3). It features joystick controls, AI-controlled ghosts, sound effects, CAN bus communication, and classic game mechanics.","archived":false,"fork":false,"pushed_at":"2025-01-30T17:18:41.000Z","size":482,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T18:18:14.496Z","etag":null,"topics":["ai-pathfinding","arm-cortex-m3","can-bus","embedded-systems","game-development","joystick-controls","keil-uvision","landtiger","microcontroller","pacman"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimoneMoreWare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-30T17:14:22.000Z","updated_at":"2025-01-30T17:20:50.000Z","dependencies_parsed_at":"2025-01-30T18:26:34.191Z","dependency_job_id":"16cdb8f7-1123-4aad-a06a-df0cb116f797","html_url":"https://github.com/SimoneMoreWare/PAC-MAN-LandTiger-ARM-CortexM3","commit_stats":null,"previous_names":["simonemoreware/pac-man-landtiger-arm-cortexm3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimoneMoreWare/PAC-MAN-LandTiger-ARM-CortexM3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneMoreWare%2FPAC-MAN-LandTiger-ARM-CortexM3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneMoreWare%2FPAC-MAN-LandTiger-ARM-CortexM3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneMoreWare%2FPAC-MAN-LandTiger-ARM-CortexM3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneMoreWare%2FPAC-MAN-LandTiger-ARM-CortexM3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimoneMoreWare","download_url":"https://codeload.github.com/SimoneMoreWare/PAC-MAN-LandTiger-ARM-CortexM3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneMoreWare%2FPAC-MAN-LandTiger-ARM-CortexM3/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264870613,"owners_count":23676276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-pathfinding","arm-cortex-m3","can-bus","embedded-systems","game-development","joystick-controls","keil-uvision","landtiger","microcontroller","pacman"],"created_at":"2025-03-29T18:18:17.674Z","updated_at":"2025-07-11T18:34:19.226Z","avatar_url":"https://github.com/SimoneMoreWare.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pac-Man for LandTiger Board\n\n## Project Overview\nThis project implements a Pac-Man game on the LandTiger development board, featuring an ARM Cortex-M3 processor. The implementation follows the original Pac-Man game mechanics while incorporating specific requirements for the LandTiger board, including joystick controls, game logic, AI-controlled ghosts, sound effects, and CAN bus communication.\n\n## Requirements\n### Extrapoint 1 - Basic Pac-Man Game\n1. **Labyrinth and Pills:**\n   - Display a maze on the LandTiger screen with exactly **240 Standard Pills**.\n   - Maintain a **central box**, which may be used later.\n   - Generate **6 Power Pills** in random positions at random times.\n\n2. **Game Mechanics:**\n   - Pac-Man moves continuously in the last chosen direction until a wall or new input.\n   - Joystick controls allow direction changes (left, right, up, down).\n   - Speed should be playable and user-friendly.\n   - **Teleportation:** When Pac-Man reaches a teleport point, he reappears on the opposite side.\n   - **Scoring System:**\n     - Standard Pills: **+10 points**\n     - Power Pills: **+50 points**\n     - Every **1000 points**, Pac-Man earns an extra life.\n   - **Pause Feature:** Pressing **INT0** pauses and resumes the game.\n   - **Countdown Timer:** Starts from **60 seconds**; game ends when it reaches 0.\n   - **Win Condition:** Pac-Man eats all the pills.\n   - **Lose Condition:** Countdown reaches zero.\n\n### Extrapoint 2 - Advanced Features\n1. **AI-Controlled Ghost (Blinky)**\n   - Blinky actively chases Pac-Man.\n   - Two movement strategies:\n     - **Chase Mode:** Blinky follows Pac-Man using an AI algorithm (e.g., A* pathfinding).\n     - **Frightened Mode:** Activates when Pac-Man eats a Power Pill:\n       - Blinky turns blue for **10 seconds** and runs away.\n       - If Pac-Man eats him, **+100 points**.\n       - Blinky respawns in the central box after **3 seconds**.\n   \n2. **Audio Integration**\n   - Configure the speaker to play **sound effects** and **background music**.\n\n3. **CAN Bus Communication**\n   - Send **score, remaining lives, and countdown timer** through the CAN bus.\n   - Configure **CAN1 (sender)** and **CAN2 (receiver)** for external loopback mode.\n\n## Development Environment\n- **Platform:** LandTiger Board with ARM Cortex-M3\n- **IDE:** Keil µVision\n- **Compilation Target:** SW_Debug (for emulator) / Physical Board (for advanced features)\n\n## How to Build and Run\n1. **Compile the code** in Keil µVision.\n2. **Flash the program** into the LandTiger board.\n3. **Use the joystick** to control Pac-Man.\n4. **Monitor game status** on the display and CAN bus.\n5. **Listen to sound effects** from the speaker.\n\n## Contributors\n- **Author:** Simone Candido\n\n## License\nThis project is released under the [MIT License](LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonemoreware%2Fpac-man-landtiger-arm-cortexm3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonemoreware%2Fpac-man-landtiger-arm-cortexm3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonemoreware%2Fpac-man-landtiger-arm-cortexm3/lists"}