summaryrefslogtreecommitdiff
path: root/src/resource.cpp
blob: fdb4bf08da22a6cb7ab76b4d844d8a46c5c51b4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "resource.hpp"

Resource::Resource(Rectangle t)
{	
    L        = t;
    
    if(L.x == 0 && L.y == 0){
        L.x  = -30 + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX/(30.0-(-30.0))));
        L.y  = -30 + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX/(30.0-(-30.0))));
    }

    gfxData.x = L.x;
    gfxData.y = L.y;
    gfxData.r = 0.0;
    gfxData.g = 1.0;
    gfxData.b = 0.0;
    gfxData.sides = 10.0;

    type        = RESOURCE_TYPE;
	amount      = RESOURCE_AMOUNT_START;
    growAmount  = RESOURCE_GROW;
}

void Resource::eat(int bite)
{
	amount-=bite;
}

void Resource::grow()
{
    if(amount < RESOURCE_AMOUNT_MAX){
        amount+=growAmount; 
        L.h = L.w = map(amount,0,RESOURCE_AMOUNT_MAX,0,RESOURCE_SIZE_MAX);
    }
}