ELEC2645 (2018/19) / Mbed 2 deprecated el17dg

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

game/stars.h

Committer:
Noximilien
Date:
2019-03-27
Revision:
21:0eb394495b8a
Child:
23:240bc00ef25b

File content as of revision 21:0eb394495b8a:

#ifndef STARS_H
#define STARS_H

void newSmallStarFlies() {
    // Search the array of stars if inactive we can use it. - the same as with blasts
    int found = -1;
    for (int i = 0; i < MAX_SMALL_STARS; ++i) {
        if (!small_stars[i].active) {
            found = i;
            break;
        }
    }
    
    if (found != -1) {
        small_stars[found].active = true;
        small_stars[found].pos.x = screen_width;
        small_stars[found].pos.y = rand() % screen_height + game_area_y;
    }
}

void updateAndDrawSmallStars(){
    const int small_star_speed = 5;
    for (int i = 0; i < MAX_SMALL_STARS; ++i) {
        if (small_stars[i].active) {
            small_stars[i].pos.x -= small_star_speed;
            if (small_stars[i].pos.x <= 0){
                small_stars[i].active = false;   
            }
            lcd.drawSprite(small_stars[i].pos.x, small_stars[i].pos.y, 3, 3, (int*)starSmall);
        }
    }
}

void newMediumStarFlies() {
    // Search the array of stars if inactive we can use it. - the same as with blasts
    int found = -1;
    for (int i = 0; i < MAX_MEDIUM_STARS; ++i) {
        if (!medium_stars[i].active) {
            found = i;
            break;
        }
    }
    
    if (found != -1) {
        medium_stars[found].active = true;
        medium_stars[found].pos.x = screen_width;
        medium_stars[found].pos.y =rand() % screen_height + game_area_y;
    }
}

void updateAndDrawMediumStars(){
    const int medium_star_speed = 5;
    for (int i = 0; i < MAX_MEDIUM_STARS; ++i) {
        if (medium_stars[i].active) {
            medium_stars[i].pos.x -= medium_star_speed;
            if (medium_stars[i].pos.x <= -2){
                medium_stars[i].active = false;   
            }
            lcd.drawSprite(medium_stars[i].pos.x, medium_stars[i].pos.y, 5, 5, (int*)starMedium);
        }
    }
}

#endif