#include <acknex.h>
#define ITEM_ID_RED 0
#define ITEM_ID_GREEN 1
#define ITEM_ID_BLUE 2
BMAP *item_bmaps[3];
int items[3];
int items_count = 0;
void displayItems() {
int i;
for (i = 0; i < items_count; i++) {
if (items[i] >= 0) {
draw_quad(item_bmaps[items[i]], vector(10 + i*40, 10, 0),
NULL, NULL, NULL, NULL, 100, 0);
}
}
}
void addItem(int item_id) {
if ((item_id >= 0) && (item_id < 3) && (items_count < 3)) {
items[items_count] = item_id;
items_count++;
}
}
void removeItemAt(int index) {
if ((index >= 0) && (index < 3) && (index < items_count)) {
for (; index < 2; index++) {
items[index] = items[index+1];
}
items_count--;
}
}
void main() {
wait(1);
item_bmaps[ITEM_ID_RED] = bmap_createblack(32, 32, 24);
item_bmaps[ITEM_ID_GREEN] = bmap_createblack(32, 32, 24);
item_bmaps[ITEM_ID_BLUE] = bmap_createblack(32, 32, 24);
bmap_fill(item_bmaps[ITEM_ID_RED], COLOR_RED, 100);
bmap_fill(item_bmaps[ITEM_ID_GREEN], COLOR_GREEN, 100);
bmap_fill(item_bmaps[ITEM_ID_BLUE], COLOR_BLUE, 100);
addItem(ITEM_ID_GREEN);
addItem(ITEM_ID_GREEN);
addItem(ITEM_ID_RED);
removeItemAt(1);
addItem(ITEM_ID_BLUE);
while (1) {
displayItems();
wait(1);
}
}