Giter VIP home page Giter VIP logo

rose's Introduction

ROSE Project

Build Status

This project is a game developed to help teach kids python. The students must code the behavior of the car to achieve the best score.

Here is video of a race (running code from students):

ROSE Race Car Game

In the game, two race cars compete in order to achieve the most points. The race car must recognize the race track, the obstacles, and the bonus areas. The race car must calculate which path is best to avoid the pitfalls and finally, collect bonus points. The cars move autonomously on the screen within the race track game with no interference from the students. No joystick or mouse shall be used.

In order to control the car movements, the students needs to implement a 'driver'. The code is controlling the car and will decide what will be the next action of the car.

For each type of obstacle, there is a different action and different point values assigned.

See examples/README for explanation on how to write a driver module.

Requirements

To install the dependencies, run:

pipenv install

Or in the old-fashioned way

pip install -r requirements.txt

You can also install packages from your distribution.

Running the game

Start the server on some machine:

./rose-server

Open a browser at http://<server-address>:8880 to view and control the game.

Start up to 2 clients:

./rose-client mydriver.py

For driver modules, see the examples directory.

Command line interface

You can control the game from the command line using the rose-admin tool.

To start a race, use rose-admin tool on any machine:

./rose-admin <server-address> start

To stop a race, use rose-admin tool on any machine:

./rose-admin <server-address> stop

To modify the game rate, you can use set-rate command. The following command would change game rate to 10 frames per second:

./rose-admin <server-address> set-rate 10

Creating a tarball

python setup.py sdist

Developing

Before submitting patches, please run the following test:

pytest

Creating coverage report in html format:

pytest --cov-report html
xdg-open htmlcov/index.html

rose's People

Contributors

nirs avatar emesika avatar bronhaim avatar rollandf avatar tareqalayan avatar kobihk avatar uda avatar yodem avatar mureinik avatar rawteech avatar amicucc23 avatar syed-shah-zepto avatar

Watchers

James Cloos avatar  avatar

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.