slangin/slangin.ino

105 lines
1.6 KiB
C++

/*
Slangin'
Author: Rudis Muiznieks
License: WTFPL
*/
#include <Arduboy2.h>
Arduboy2 arduboy;
enum GameState {
STATE_TITLE = 0,
STATE_TURN_MENU,
STATE_JET_MENU,
STATE_PRICE_LIST,
STATE_INVENTORY,
STATE_BUY_MENU,
STATE_SELL_MENU,
STATE_FIGHT_MENU,
STATE_SHARK_MENU,
STATE_BANK_MENU,
STATE_INFO_DIALOG,
STATE_QUESTION_DIALOG,
STATE_AMOUNT_DIALOG,
STATE_SUBWAY
};
enum GameLocation {
LOC_BRONX = 0,
LOC_GHETTO,
LOC_CENTRAL_PARK,
LOC_MANHATTEN,
LOC_CONEY_ISLAND,
LOC_BROOKLYN
};
enum Drug {
DRUG_COCAINE = 0,
DRUG_HEROINE,
DRUG_ACID,
DRUG_WEED,
DRUG_SPEED,
DRUG_LUDES
};
enum StatusType {
STATUS_NONE = 0,
STATUS_TURN,
STATUS_FIGHT
};
enum DialogType {
DIALOG_INFO = 0,
DIALOG_YESNO,
DIALOG_AMOUNT
};
bool screenInitialized;
StatusType showStatus;
GameState gameState;
int sCurrentDay;
char sTitle[21] = {0};
char sMenuItems[8][9] = {0};
int pMoney;
int pLoanAmount;
int pSavingsAmount;
GameLocation pLocation;
int pGuns;
int pCapacity;
int pHealth;
int pInventory[6] = {0};
void setup() {
gameState = STATE_TITLE;
screenInitialized = false;
arduboy.begin();
arduboy.setFrameRate(15);
}
void loop() {
if (!(arduboy.nextFrame()))
return;
if (!screenInitialized) {
switch (gameState) {
case STATE_TITLE:
showStatus = STATUS_NONE;
strcpy(sTitle, " Slangin' v0.9");
break;
default:
showStatus = STATUS_NONE;
strcpy(sTitle, "[UNIMPLEMENTED]");
break;
}
drawScreen();
}
}
void drawScreen() {
arduboy.clear();
arduboy.setCursor(6, 12);
arduboy.print(sTitle);
arduboy.display();
}