{"id":23443411,"url":"https://github.com/mukund-rakholiya/space-invaders-java-project","last_synced_at":"2025-04-09T22:27:23.108Z","repository":{"id":249798805,"uuid":"832582937","full_name":"mukund-rakholiya/Space-Invaders-Java-project","owner":"mukund-rakholiya","description":"Developed a Space Invaders game in Java Swing with classic gameplay, scoring, and dynamic difficulty. Features include alien waves, spaceship controls, and a game-over restart option.","archived":false,"fork":false,"pushed_at":"2024-11-25T14:58:38.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T14:20:24.081Z","etag":null,"topics":["java","java-swing","oops-in-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mukund-rakholiya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-07-23T10:09:04.000Z","updated_at":"2024-12-12T01:23:09.000Z","dependencies_parsed_at":"2024-07-23T12:36:51.266Z","dependency_job_id":"d513807d-1abb-4073-a670-b4a9495a963c","html_url":"https://github.com/mukund-rakholiya/Space-Invaders-Java-project","commit_stats":null,"previous_names":["mukund-rakholiya/space-invaders-java-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukund-rakholiya%2FSpace-Invaders-Java-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukund-rakholiya%2FSpace-Invaders-Java-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukund-rakholiya%2FSpace-Invaders-Java-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukund-rakholiya%2FSpace-Invaders-Java-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mukund-rakholiya","download_url":"https://codeload.github.com/mukund-rakholiya/Space-Invaders-Java-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248121949,"owners_count":21051212,"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":["java","java-swing","oops-in-java"],"created_at":"2024-12-23T18:19:05.696Z","updated_at":"2025-04-09T22:27:23.090Z","avatar_url":"https://github.com/mukund-rakholiya.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPACE INVADERS - Java project\n\n## Overview\nThis project is a Space Invaders Game built using Java Swing. The game challenges players to defend their spaceship by shooting down rows of advancing aliens. It features dynamic gameplay, increasing difficulty, and a scoring system.\n\n## 📜 Features\n- Classic Gameplay: Control your ship to shoot down aliens while avoiding their descent.\n- Dynamic Difficulty: The game introduces more aliens as levels progress.\n- Scoring System: Earn points for each alien defeated.\n- Restartable: Automatically resets after a game over.\n\n## 🚀 Project Structure\n```[]\nSpace Invaders/\n├── Images/               # Contains all graphics images for the game\n├── Main.java             # Entry point of the game\n├── SpaceInvaders.java    # Core game logic and rendering\n```\n\n## 🌟 How to Play\n1. Movement:\n- Use the Left Arrow (←) key to move the spaceship left.\n- Use the Right Arrow (→) key to move the spaceship right.\n\n2. Shooting:\n- Press the Space Bar to shoot bullets and destroy aliens.\n\n3. Goal:\n- Destroy all aliens before they reach your spaceship.\n- Score points for each alien eliminated.\n\n4. Game Over:\n- The game ends if the aliens reach your ship.\n\nAction | Key\n--- | ---\nMove Left\t| Left Arrow\nMove Right |\tRight Arrow\nShoot\t| Space Bar\n\n## ⚙️ Setup and Run Instructions\nPrerequisites\n- Java Development Kit (JDK) installed (version 8 or higher).\n\n## 💡Steps to Run\n1. Clone the Repository:\n```bash[]\ngit clone https://github.com/your-username/space-invaders.git\ncd space-invaders\n```\n2. Place Images:\n- Add the following images to the Images/ folder:\n- `alien.png`\n- `alien_cyan.png`\n- `alien_yellow.png`\n- `alien_magenta.png`\n- `ship.png`\n\n3. Compile and Run:\n```[]bash\njavac Main.java\n```\n\n4. Run:\n```[]bash\njava Main\n```\n\n## 🧠 Game Logic\n1. Spaceship\n- Represented by a block object (Block class).\n- Can move left or right within the game board boundaries.\n- Fires bullets upwards to destroy aliens.\n\n2. Aliens\n- Arranged in rows and columns at the start of each level.\n- Move horizontally, changing direction when hitting the screen edge.\n- Move one row down whenever the direction changes.\n- Increase in number as levels progress.\n\n3. Bullets\n- Fired from the spaceship's position.\n- Travel vertically upwards.\n- Destroy aliens on collision.\n\n4. Score and Levels\n- Players earn points for each alien destroyed.\n- Next levels spawn more aliens with increased difficulty.\n\n5. Game Over\n- The game ends when any alien reaches the spaceship's row.\n\n## 📒 Additional Notes\n- Customization:\n  - Modify tileSize, rows, or columns in Main.java to adjust board dimensions.\n  - Adjust alienVelocityX or bulletsVelocityY in SpaceInvaders.java to change gameplay speed.\n- Restart:\n  - Press any key to restart the game after a Game Over.\n\n## 📄 License\nThis project is licensed under the MIT License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmukund-rakholiya%2Fspace-invaders-java-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmukund-rakholiya%2Fspace-invaders-java-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmukund-rakholiya%2Fspace-invaders-java-project/lists"}