ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Levelengine.cpp

Committer:
el17arm
Date:
2019-04-01
Revision:
18:ff0a53dcb862
Parent:
17:b4079bd0e551
Child:
19:4789cb4ca550

File content as of revision 18:ff0a53dcb862:

#include "Levelengine.h"

Levelengine::Levelengine()
{
    key_collect1 = false;
    key_collect2 = false;
    key_collect3 = false;
    key_collect4 = false;
    key_collect5 = false;
}

Levelengine::~Levelengine()
{
}

void Levelengine::soft_blocks(int x, int y, N5110 &lcd)
{
    if((lcd.getPixel(x,y))||(lcd.getPixel(x+1,y))||(lcd.getPixel(x+2,y))
            ||(lcd.getPixel(x+3,y))||(lcd.getPixel(x+4,y))||(lcd.getPixel(x+5,8)) == 1) {
        lcd.drawRect(x,y+1,6,1,FILL_WHITE);
    } else {
        lcd.drawRect(x,y+1,6,1,FILL_BLACK);
    }
}

void Levelengine::draw_solid_block(int x, int y, N5110 &lcd)
{
    lcd.drawSprite(x,y,3,3,(int *)solid_block);
    lcd.drawSprite(x,y,3,3,(int *)solid_block);
}

void Levelengine::draw_key1(int x, int y, N5110 &lcd)
{
    if(key_collect1 == false) {
        lcd.drawSprite(x,y,3,4,(int *)key);
    }
    if(lcd.getPixel(x-1,y+2)&& key_collect1 == false) {
        key_collect1 = true;
        _keys++;
        lcd.drawSprite(x,y,3,4,(int *)key_collected);
    }
}

void Levelengine::draw_key2(int x, int y, N5110 &lcd)
{
    if(key_collect2 == false) {
        lcd.drawSprite(x,y,3,4,(int *)key);
    }
    if(lcd.getPixel(x-1,y+2)&& key_collect2 == false) {
        key_collect2 = true;
        _keys++;
        lcd.drawSprite(x,y,3,4,(int *)key_collected);
    }
}

void Levelengine::draw_key3(int x, int y, N5110 &lcd)
{
    if(key_collect3 == false) {
        lcd.drawSprite(x,y,3,4,(int *)key);
    }
    if(lcd.getPixel(x-1,y+2)&& key_collect3 == false) {
        key_collect3 = true;
        _keys++;
        lcd.drawSprite(x,y,3,4,(int *)key_collected);
    }
}

void Levelengine::draw_key4(int x, int y, N5110 &lcd)
{
    if(key_collect4 == false) {
        lcd.drawSprite(x,y,3,4,(int *)key);
    }
    if(lcd.getPixel(x-1,y+2)&& key_collect4 == false) {
        key_collect4 = true;
        _keys++;
        lcd.drawSprite(x,y,3,4,(int *)key_collected);
    }
}

void Levelengine::draw_key5(int x, int y, N5110 &lcd)
{
    if(key_collect5 == false) {
        lcd.drawSprite(x,y,3,4,(int *)key);
    }
    if(lcd.getPixel(x-1,y+2)&& key_collect5 == false) {
        key_collect5 = true;
        _keys++;
        lcd.drawSprite(x,y,3,4,(int *)key_collected);
    }
}

int Levelengine::keys_collected()
{
    int k = _keys;
    return k;
}

int Levelengine::spike1(int x, int y, N5110 &lcd)
{
    lcd.drawSprite(x,y,3,3,(int *)spike);

    if (lcd.getPixel(x,y-1) || lcd.getPixel(x+2,y-1) == 1) {
        return 1;
    } else {
        return 0;
    }
}

int Levelengine::spike2(int x, int y, N5110 &lcd)
{
    lcd.drawSprite(x,y,3,3,(int *)spike);

    if (lcd.getPixel(x,y-1) || lcd.getPixel(x+2,y-1) == 1) {
        return 1;
    } else {
        return 0;
    }
}

int Levelengine::spike3(int x, int y, N5110 &lcd)
{
    lcd.drawSprite(x,y,3,3,(int *)spike);

    if (lcd.getPixel(x,y-1) || lcd.getPixel(x+2,y-1) == 1) {
        return 1;
    } else {
        return 0;
    }
}

int Levelengine::spike4(int x, int y, N5110 &lcd)
{
    lcd.drawSprite(x,y,3,3,(int *)spike);

    if (lcd.getPixel(x,y-1) || lcd.getPixel(x+2,y-1) == 1) {
        return 1;
    } else {
        return 0;
    }
}