deejoe / sugarizer-lite

A lightweight, shallow-clone fork of Sugarizer stripped of the two largest activities
Apache License 2.0
3 stars 5 forks source link

Describe math-hurdler #11

Open DennisSSDev opened 4 years ago

DennisSSDev commented 4 years ago

This will be the issue where we will describe aspects, features and components of the math-hurdler activity.

At the moment I couldn't find @BlueJay89 in the contributors list so please let me know as soon as possible when I can add him as an assignee.

Prelude: math-hurdler is a python sugar math game. It is to be ported into the js (sugarizer) link: https://github.com/sugarlabs/math-hurdler setup: check project readme.

DennisSSDev commented 4 years ago

Installation and first run:

image

DennisSSDev commented 4 years ago

So the way the game work after you hit play is fairly simple:

The gist

You are basically a "math" horse that is running along a track and jumping over obstacles. In order to jump over an obstacle you need to solve a fraction problem as fast as possible, otherwise, the horse trips over and hits the obstacle.

Example view:

NotLoss

The way you solve the fraction problem is by clicking one of the 4 answers at the bottom of the screen. You are given a limited amount of time to select one, I'd even say it's a little too harsh on the timing as I struggled to even take a screenshot without dying on the first problem:

score

Once you select one of the 4 options you'll have to wait until the jump state. If the answer is correct - you continue onwards, if not you lose...

Other notes

DennisSSDev commented 4 years ago

The project uses pygame as a dependency and obviously some of the sugar labs.

DennisSSDev commented 4 years ago

Code Notes

You can also go take a look at the custom classes for the Horse and Sun.

I also have an overall note that I'm not happy how the original creator put all of their py code in one file without abstracting away a lot of the rendering code (at least 100-150 lines could have been replaced by adding items to a render list and just calling render)

Everything else seems miscellaneous and easy to do it's not really interesting to bring up

ghost commented 4 years ago

The Github web interface has already made note, but I explicitly want to mention for benefit of the notifications system (and for my email inbox) that there is also a corresponding Sugarizer development issue for this activity:

21

as participants in each issue can earn credit working across the lines with their counterparts in the other, corresponding issue (developers seeking or offering feedback from/to describers and vice versa).