Coder Social home page Coder Social logo

bomberman's Introduction

bomberman

Build StatusBuild statuscodecovCodeFactor

How To Start

1 Requirements

Beside of code You also need to install:

  • compiler that supports C++ 20
  • git
  • cmake
  • boost
  • sfml (minimum version 2.5.1)

2 Downloading and compiling code

The easiest way to get code is using git:

git clone https://github.com/NadzwyczajnaGrupaRobocza/bomberman.git

To get all external dependencies please run (this should be done only once for new repository):

git submodule init
git submodule update

You could also do this in simpler way:

git submodule update --init

Or download repository and init submodules in one step:

git clone --recurse-submodules -j <n> https://github.com/NadzwyczajnaGrupaRobocza/bomberman.git

where n is number of submodules cloned in parallel.

When You have code and all dependencies You are ready to compile. Go to bomberman directory:

cd bomberman

Inside it run cmake command, which create new directory and generate inside it files needed for compilation:

cmake . -B<build_directory>

After cmake finish creating files You can run compilation for all targets:

cmake --build <build_directory>

To compile specified target add --target flag:

cmake --build <build_directory> --target <target>

To check available targets run command:

cmake --build <build_directory> --target help

3 Running code

It's time to run code. By default cmake will put binaries in directory:

<build_directory>\bin

To check if everything wokrs fine You may run: simple-rectangle-draw (it should open window with white rectangle on black background) simple-moving-rectangle (You should see some moving white rectangles)

4 Running UTs

...

bomberman's People

Contributors

abergard avatar czeslavo avatar feldmarszalekduda avatar jochaska avatar kn65op avatar moose-x86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bomberman's Issues

Missing functionality in class_diagram.png

RenderEngine and PhysicsEngine interfaces doesn't have register/deregister functions.
We should consider to add RenderEngine::register(texture_id, size={1,1}, pos={0,0}) and
PhysicsEngine::register(size={1,1}, pos={0,0})

Unify externals in CI

Add least

  • Use one variable for travis for SFML version
  • Use one variable for appveyor for SFML version

Optionally:

  • Use one SFML version in both CIs
  • Use one variable for other externals (boost?)

appveyor pr freeze

Sometimes appveyor build can not be run. The build status is: continuous-integration/appveyor/pr — Waiting for status to be reported

speedy gonzales

During test with the real hardware not a virtual machine it turned out that neither sf::Clock::asMilliseconds nor sf::Clock::asMicroseconds is sufficient. PC is too speed and calculated delta time is equal 0 most of time.

sf::Clock need to replaced by std::chrono::high_resolution_clock

No building instructions

There are no instructions on how to compile and run the project or what the dependencies are.

Getting more done in GitHub with ZenHub

Hola! @lukasz-m-maciejewski has created a ZenHub account for the NadzwyczajnaGrupaRobocza organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @lukasz-m-maciejewski.

ZenHub Board

Fix missing TimeBomb and LimitedBombLauncher functionality

LimitedBombLauncher shuold create Bomb
LimitedBombLauncher should register Bomb to GameWorld

Bomb should register itself to Physics and Render Engines
Bomb should notify LimitedBombLauncher about explosion.
Bomb should notify GameWorld about explosion
Bomb should deregister from Physics and Render Engines after explosion.
Bomb should create explosion when explodes.
Bomb should register explosion in GameWorld

Uninterrupted explosion

Issue list:

  1. TimeBomb can be exploded many times
  2. TimeBomb are never unregister from game world.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.