{"id":22495497,"url":"https://github.com/cameronbeneteau/tenacious-tanks","last_synced_at":"2025-03-27T21:17:27.629Z","repository":{"id":61402682,"uuid":"121830108","full_name":"CameronBeneteau/tenacious-tanks","owner":"CameronBeneteau","description":"A two-player tank game made using Java!","archived":false,"fork":false,"pushed_at":"2023-08-21T05:23:57.000Z","size":8268,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T23:41:19.177Z","etag":null,"topics":["arcade","arcade-game","game","java","object-oriented-programming","scorchedearch"],"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/CameronBeneteau.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}},"created_at":"2018-02-17T05:28:05.000Z","updated_at":"2023-08-17T00:55:11.000Z","dependencies_parsed_at":"2023-08-21T06:38:51.777Z","dependency_job_id":null,"html_url":"https://github.com/CameronBeneteau/tenacious-tanks","commit_stats":null,"previous_names":["cameronbeneteau/tenacious-tanks"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronBeneteau%2Ftenacious-tanks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronBeneteau%2Ftenacious-tanks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronBeneteau%2Ftenacious-tanks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronBeneteau%2Ftenacious-tanks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CameronBeneteau","download_url":"https://codeload.github.com/CameronBeneteau/tenacious-tanks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924499,"owners_count":20694731,"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":["arcade","arcade-game","game","java","object-oriented-programming","scorchedearch"],"created_at":"2024-12-06T19:29:21.773Z","updated_at":"2025-03-27T21:17:27.586Z","avatar_url":"https://github.com/CameronBeneteau.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tenacious Tanks\n\nA remake of the classic arcade game [Scorched Earth](https://en.wikipedia.org/wiki/Scorched_Earth_(video_game)) using Java! ([Demo Video](https://youtu.be/iMbGX3d2MWY))\n\nBy [Cameron Beneteau](https://github.com/CameronBeneteau) and [Tailai Wang](https://github.com/tailaiwang)  \nCourse: Computer Science ICS4U (Grade 12)  \nDate: February 16th, 2018  \nGrade: 100%\n\n![Tenacious Tanks Gif](assets/TenaciousTanksGif.gif)  \n\n## Table of Contents\n[1. Intro](#Intro)  \n[2. Gameplay](#Gameplay)  \n[3. Environment Setup](#Environment-Setup)  \n[4. How to Play](#How-to-Play)  \n[5. Results](#Results)  \n[6. Next Steps](#Next-Steps)  \n[7. Development Changelog](#Development-Changelog)\n\n## Intro\n\nTenacious Tanks is a two-player turn-based strategy game inspired by the classic arcade game [Scorched Earth](https://en.wikipedia.org/wiki/Scorched_Earth_(video_game)).\n\nThis game was made using Java. It utilizes object-oriented programming and other ICS4U computing techniques.\n\n## Gameplay\n\nCheck out the demo video for this project [here](https://youtu.be/iMbGX3d2MWY)!\n\n![Tenacious Tanks Main](assets/TenaciousTanksMain.png)  \n![Tenacious Tanks Game](assets/TenaciousTanksGame.png)\n\n## Environment Setup\n\nTo successfully run this project, please follow these steps to set up your environment:\n\n1. Any IDE that runs Java (we recommend [IntelliJ IDEA](https://www.jetbrains.com/idea/), [JCreator](https://www.deepcrazyworld.com/how-to-download-jcreator-pro/) or [VS Code](https://code.visualstudio.com/download))\n2. Java SE 8 (which includes JDK 1.8.0_333) ([Download from Oracle](https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html))\n3. Ensure your IDE is configured to use the above version of Java SE and JDK\n\n## How to Play\n\nAll instructions can be found in the game after pressing space bar on the main screen.\n\nRun the [TenaciousTanks.java](TenaciousTanks.java) file to play!\n\n## Results\n\nAll-in-all, the project was a great success! We had an enjoyable time developing this game while learning Java and object-oriented programming.\n\nEven better: Our classmates and teachers had a great time fighting on the battlefield for ultimate bragging rights!\n\n**Grade: 100%**\n\n## Next Steps\nSome fun things we would like to build on or explore relating to this project would be:\n\n- Ability for players to customize their tank\n- Ability for players to choose different map themes\n- Ability for players to play against the computer (at various difficulties)\n- Display previous shot trajectory and info to help users make their next shot more precise\n- Controls icons next to power and angle text fields in case users forget their controls\n- Add sound effects to shots and explosions\n\n## Development Changelog\nJanuary 22nd, 2018: The project begins\n\nJanuary 23rd, 2018: Cameron starts developing Bullet Class and Testing\n\nJanuary 24th, 2018: Tailai has PISKEL and PNG files created for basic 2-player movement.\n\nJanuary 25th, 2018: Tailai updated TenaciousTanks.java to test out KeyListener.\n\nJanuary 26th, 2018: Cameron has map generation with an added background JPG file.\n\nJanuary 27th, 2018: Cameron debugged map generation and integrated with TenaciousTanks.java.\nTanks now fall from the sky on initial startup.\nRescaled tank images can now sit on the terrain while moving and at rest.\nBegan tank object class (deals with health, damage, etc).\n\nFebruary 5th, 2018: Cameron finished angle and movement inputs from users.\n\nFebruary 6th, 2018: Cameron created the turning process. Each player has a selection phase and a shooting phase.\nTailai created and implemented turn images for each user.\n\nFebruary 7th, 2018: Cameron finished the movement restriction for tanks. (Can only move up to 50 pixels left or right during the selection phase)\n\nFebruary 8th, 2018: Cameron started bullet class.  \nBullets now fly using power, angle, and positions given by users.  \nBullets are affected by \"gravity\" and end turn when it collides with ground and tank rectangles.\n\nFebruary 9th, 2018: Tailai made an Update to GamePanel and TenaciousTanks. The game now has text displays and damage is calculated with collisions.  \nCameron created power for bullets. Users can now select a power between 0 and 100.\n\nFebruary 12th, 2018: Tailai made an Update to all files, allowing players to actually win the game. No Play Again button yet though...\n\nFebruary 16th, 2018: Cameron created the menu and instruction screens. Players can now go through the menu and instructions before starting the game. When the game finishes, players can choose to play again (all variables will reset) or exit the window.  \nTailai and Cameron added explosion sprites for bullet impacts. Added a new Python 3.2 file that splits sprites into png. files. Added explosion animation and polished up User Interface. Comments added to code.\n\nFebruary 16th, 2018: Project finished.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronbeneteau%2Ftenacious-tanks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcameronbeneteau%2Ftenacious-tanks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronbeneteau%2Ftenacious-tanks/lists"}