- Original design and implementation meant to be done with python, ansd should be available here soon
- Move around in a 2D environment, in up, down left and right directions
- Move in a consistent and regulated speed throughout the game, and process special commands : ie " Double Jump"
- Collect materials and coins as he progresses through the game.
- Contain obstacles that allow him to utilize all ranges of motion ( Up, Down , Left and right)
- Contain coins, powerups and trigger points for next levels/ new enemies/ other easter eggs.
- Change background position as the player moves through the environment.
- The powerups to be implemented must only augment a property already posessed by the player , and like so :
class Powerup {
public:
virtual void activate(Player& player) = 0;
};
class StrengthBoost : public Powerup {
public:
virtual void activate(Player& player) {
// Increase the player's strength by 10
player.strength += 10;
}
};
class Player {
public:
int strength;
// Other stats here
void activatePowerup(Powerup& powerup) {
powerup.activate(*this);
}
};
or with python:
class Powerup:
def activate(self, player):
pass
class StrengthBoost(Powerup):
def activate(self, player):
# Increase the player's strength by 10
player.strength += 10
class Player:
def __init__(self):
self.strength = 50
# Other stats here
def activate_powerup(self, powerup):
powerup.activate(self)
player = Player()
boost = StrengthBoost()
player.activate_powerup(boost)
print("Player strength after boost: ", player.strength)
# Output: Player strength after boost: 60
NOTE: This is not an exact implementation of the syntax, it is merely for demonstration porposes
- It could be one property, or a combination of properties that could be changed when activated
- This is a simple virtual machine that will be implemented in C++ and will be able to run a simple assembly language program.
- The virtual machine should be able to run a simple assembly language program.
- The virtual machine should be able to run a simple assembly language program that can perform basic arithmetic operations.