From f3306ade87229040cbb181770839ba80f188b682 Mon Sep 17 00:00:00 2001 From: Simponic Date: Wed, 1 Jul 2020 21:29:11 -0600 Subject: [PATCH] Added restart and level feature --- LICENSE | 21 --------------------- README.md | 14 -------------- UML Diagram.pdf | Bin 42670 -> 0 bytes src/game.cpp | 45 ++++++++++++++++++++++++++++++++++----------- src/game.h | 1 + 5 files changed, 35 insertions(+), 46 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 UML Diagram.pdf diff --git a/LICENSE b/LICENSE deleted file mode 100644 index bc341d0..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Logan Hunt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 2dba81e..0000000 --- a/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Asteroids-CPP -The game asteroids in c++ using the simplified drawing library provided by my school. - -## Requirements - -* libglut-dev -* g++ -* make - -## Running - -All that is needed to run is a simple ```make```, and then run the game with ```./a.out``` - -[![2020-06-30-20-24-32-1.gif](https://i.postimg.cc/k4ZNhdKw/2020-06-30-20-24-32-1.gif)](https://postimg.cc/zbCRV6dR) diff --git a/UML Diagram.pdf b/UML Diagram.pdf deleted file mode 100644 index 0396c3630b7a80bc2d6c68a68bc6e5008e7ab276..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42670 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 diff --git a/src/game.cpp b/src/game.cpp index a2aa491..f7d4054 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -26,7 +26,7 @@ Game :: Game ( const Point &tl , const Point &br ) : topLeft ( tl ) , bottomRigh vector Game :: createRocks() { vector initRocks; - for ( int i = 0; i < random ( 5 , 8 ); i++ ) + for ( int i = 0; i < random ( 5 + 2 * this->level , 8 + 2 * this->level ); i++ ) { Point rockPoint = Point ( random( -190 , 190 ) , random ( -190 , 190 ) ); Velocity velocity; @@ -136,14 +136,16 @@ void Game :: cleanUpZombies() bullets.erase( bullets.begin() + i ); } } - for ( int i = 0; i < rocks.size(); i++ ) - { - if ( !rocks[i]->isAlive() ) - { - delete rocks[i]; - rocks[i] = NULL; - rocks.erase( rocks.begin() + i ); - } + if (rocks.size() > 0) { + for ( int i = 0; i < rocks.size(); i++ ) + { + if ( !rocks[i]->isAlive() ) + { + delete rocks[i]; + rocks[i] = NULL; + rocks.erase( rocks.begin() + i ); + } + } } } @@ -209,6 +211,14 @@ void Game :: draw ( const Interface &ui ) drawBullets(); drawNumber ( Point ( -170 , 170 ) , (int) ship->getFuel() ); drawText ( Point ( -170 , 180 ) , "FUEL:" ); + drawNumber ( Point (-170, 130) , (int) level); + drawText ( Point(-170, 140), "LEVEL:"); + if (!ship->isAlive()) { + drawText( Point ( -90 , 0 ) , "Play again? (space to continue)"); + } + if (rocks.size() == 0 && ship->isAlive()) { + drawText( Point ( -90 , 0 ) , "Press space to continue to next level "); + } } // Draw rocks @@ -241,7 +251,7 @@ void Game :: drawBullets() // Handle in-game input void Game::handleInput(const Interface & ui) { - if ( ship->isAlive() ) + if ( ship->isAlive() && rocks.size() > 0 ) { if ( ui.isUp() ) { @@ -274,5 +284,18 @@ void Game::handleInput(const Interface & ui) ship->setThrusting ( false ); } } - + else if ( !ship->isAlive() && rocks.size() > 0){ + if ( ui.isSpace() ) { + rocks = createRocks(); + ship = new Ship ( Point() ); + level = 0; + } + } + else if ( ship->isAlive() && rocks.size() == 0) { + if ( ui.isSpace() ) { + rocks = createRocks(); + ship = new Ship ( Point() ); + level++; + } + } } diff --git a/src/game.h b/src/game.h index d64efc6..943ed63 100644 --- a/src/game.h +++ b/src/game.h @@ -26,6 +26,7 @@ private: vector rocks; vector bullets; Ship* ship; + int level = 0; float getClosestDistance( const FlyingObject &obj1 , const FlyingObject &obj2 ) const;