Skip to content

simdi/capstone-timber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timberman game written with c++ and SFML(Simple Fast Media Library).

The Timberman game clone, which is based on ideas and concepts from a "Beginning C++ Game Programming" book by John Horton.

Prerequisites

SFML Installation

Windows

  1. Download & Extract SFML to C:/SFML-2.5.1/ where the bin/lib/include folders are contained within
  2. Download & Extract MinGW to C:/mingw32/ where the bin/lib/include folders are contained within

MacOS

  1. Install "Command Line Tools" in MacOS if they're not already installed (type "xcode-select --install" in terminal)
  2. Follow the "Installing SFML" directions here: https://www.sfml-dev.org/tutorials/2.5/start-osx.php#installing-sfml

Linux

  1. Ensure the GCC Toolchain is installed (sudo apt install build-essential)
  2. Run sudo apt install libsfml-dev. The SFML version you got will vary depending on the distro. 2.5.1 is included in Ubuntu 19.04 Disco Dingo for example.

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./capstone-timber.

Class file description

+ Entity is an abstract class that all other derived class inherits from.
+ Axe class is responsible for the tree axe.
+ Bee class is responsible for creating all the bees.
+ Branch class is responsible for creating all the branches of a tree.
+ Cloud class is responsible for creating all the clouds that hover on the.
+ Game class is composed of all the objects that is required for the game to function.
+ Player class is a blueprint of the player object.
+ Rip class is a blueprint of the RIP stone.
+ Tree class is the trees blueprint.

Rubric specification


| Criteria                                                                            | File     | Lines      |
| ------------------------------------------------------------------------------------|:--------:|:----------:|
| The project demonstrates an understanding of C++ functions and control structures.  | game.cpp | 110,121,139|
| Classes use appropriate access specifiers for class members.                        | *.h      |            |
| Class constructors utilize member initialization lists.                             | game.cpp | 3 - 43     |
| Derived class functions override virtual base class functions.                      | log.cpp  | 10 - 18    |
| The project uses move semantics to move data, instead of copying it, where possible.| game.cpp | 50,56,62,71|
| The project uses smart pointers instead of raw pointers.                            | entity.h | 10,11      |


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors