Game For ECE 2035

Dependencies:   mbed wave_player 4DGL-uLCD-SE MMA8452

actions.cpp

Committer:
nasiromar
Date:
2021-12-02
Revision:
13:798a4dd14c7e
Parent:
12:116a4cc85b16
Child:
14:7225da81314a

File content as of revision 13:798a4dd14c7e:

#include "actions.h"
#include "speech.h"
#include "hardware.h"
#include "globals.h"
#include "map.h"


MapItem*spot = (MapItem*) malloc(sizeof(MapItem));
int currentMap = get_map(1);


int door_open()
{
    return 1;
}

void door_locked()
{
    char line1[] = "The Door Is";
    char line2[] = "Locked...";
    horizontal_speech1(line1,line2);

    char line3[] = "Find The Key";
    char line4[] = "**Slay Mob**";
    horizontal_speech1(line3,line4);
}

void fruit()
{
    char line1[] = "Picked Fruit";
    char line2[] = "From The Tree";
    horizontal_speech1(line1,line2);

    char line3[] = "Fruit Eaten:";
    char line4[] = "5 HP gained";
    horizontal_speech1(line3,line4);
}

void god_modeOn()
{
    char line1[] = "God Mode:";
    char line2[] = "Activated";
    horizontal_speech1(line1,line2);
}

void god_modeOff()
{
    char line1[] = "God Mode:";
    char line2[] = "Deactivated";
    horizontal_speech1(line1,line2);
}

int  walkYpos;


int gob_x = 18;
int gob_y = 19;

void walk_goblin(int slain)
{

    if(slain != 1 && currentMap == 1) {
        map_erase(gob_x,gob_y);


        if ( gob_y == 18 ) {
            walkYpos = 0;
        } else if ( gob_y == 19) {
            walkYpos = 1;
            }

        if ( walkYpos == 1) {
            gob_y--;
            add_goblin(gob_x,gob_y,ENEMY1);
        } else if ( walkYpos == 0) {
            gob_y++;
            add_goblin(gob_x,gob_y,ENEMY1);
        
    }
    }
    else if(slain == 1){
        map_delete(gob_x,gob_y);
        }

}

void no_fruit()
{
    char line1[] = "Player Health:";
    char line2[] = "Full";
    horizontal_speech1(line1,line2);

    char line3[] = "Fruit Dropped:";
    char line4[] = "0 HP gained";
    horizontal_speech1(line3,line4);
}

void npc_speech1()
{

    char line1[] = "Salutations:";
    char line2[] = "Traveler!";
    horizontal_speech1(line1,line2);

    char line3[] = "Welcome to";
    char line4[] = "NasLand";
    horizontal_speech1(line3,line4);

    char line5[] = "I offer a quest";
    char line6[] = "If thee accept";
    horizontal_speech1(line5,line6);

    char line7[] = "Excellent!";
    char line8[] = "I need a dragon";
    horizontal_speech1(line7,line8);

    char line9[] = "Well not need";
    char line10[] = "but want DEAD!";
    horizontal_speech1(line9,line10);

    char line11[] = "so go to the ";
    char line12[] = "portal next..";
    horizontal_speech1(line11,line12);

    char line13[] = "Hint: ";
    char line14[] = "X[20],Y[35]";
    horizontal_speech1(line13,line14);
}

void npc_speech2()
{

    char line1[] = "Welcome Back";
    char line2[] = "Traveler!";
    horizontal_speech1(line1,line2);

    char line3[] = "The Dragon";
    char line4[] = "has been slain";
    horizontal_speech1(line3,line4);

    char line5[] = "You have saved";
    char line6[] = "NasLand";
    horizontal_speech1(line5,line6);

    char line7[] = "Go to Castle";
    char line8[] = "To collect";
    horizontal_speech1(line7,line8);

    char line9[] = "TREASURE";
    char line10[] = "TREASURE";
    horizontal_speech1(line9,line10);

    char line11[] = "Farwell Great ";
    char line12[] = "Mage...";
    horizontal_speech1(line11,line12);

    char line13[] = "Hint: ";
    char line14[] = "X[26],Y[12]";
    horizontal_speech1(line13,line14);
}


void slay_dragon()
{
    char line1[] = "Me!?!";
    char line2[] = "Dying? at the";
    horizontal_speech1(line1,line2);

    char line3[] = "hands of a";
    char line4[] = "mere MORTAL";
    horizontal_speech1(line3,line4);

    char line5[] = "Ahhhhhhhh!";
    char line6[] = "DIES:(";
    horizontal_speech1(line5,line6);

    char line7[] = "CONGRATULATIONS!";
    char line8[] = "Dragon Slain";
    horizontal_speech1(line7,line8);

    char line9[] = "Heres the key!";
    char line10[] = "Well Done!";
    horizontal_speech1(line9,line10);

}


void init_dung()
{
    Map* dung = set_active_map(1);
    for(int i = map_width() + 9; i < map_area(); i += 15) {
        add_chest(i % map_width(), i / map_width());
    }
    pc.printf("plants\r\n");

    pc.printf("Adding walls!\r\n");
    add_castle(0,              0,              HORIZONTAL, map_width());
    add_castle(0,              map_height()-1, HORIZONTAL, map_width());
    add_castle(0,              0,              VERTICAL,   map_height());
    add_castle(map_width()-1,  0,              VERTICAL,   map_height());
    pc.printf("Walls done!\r\n");


    add_portal2(10,2);

    add_dragon(15,9);

    add_goblin(5,7,ENEMY2);
    
    add_goblin(10,10,ENEMY1);

    print_map();

}