Ejemplo n.º 1
0
void IntroView::Update() {
	Clear();
	string toDraw = ". . . t r a n s m i s s i o n . . .";
	int wd2 = toDraw.length() / 2;
	SetStringAt(40 - wd2, 11, toDraw, YELLOW_BOLD);
	toDraw = "(press any key to continue)";
	wd2 = toDraw.length() / 2;
	SetStringAt(40 - wd2, 13, toDraw, WHITE);
}
Ejemplo n.º 2
0
void InventoryView::DrawPaperDollItem(Item* i, int y, int idx) {
	string toDraw;
	int attr = WHITE_BOLD;
	if(i) {
		toDraw = i->GetDisplayName();
	}
	else {
		toDraw = "<empty>";
	}
	if(!m_inInventoryArea && idx == m_selectIdx) {
		attr = YELLOW_BOLD;
	}
	SetStringAt(16, y, toDraw, attr);
}
Ejemplo n.º 3
0
bool View::RequestInput() {
	char ch = getch();
	//TODO: remove this once we have real game screens, for now just so we reset
	// term
	string testString = "This is a test.";
	switch(ch) {
		case 'q':
			m_parent->RequestQuit();
			break;
		case 'n':
			start++;
			ClearWith(start);
			break;
		case 't':
			SetStringAt(10, 10, testString, RED_BOLD);
			break;
		case 'p':
			start--;
			ClearWith(start);
			break;
	}

	return false;
}
Ejemplo n.º 4
0
void HelpView::Update() {
	Clear();
	string todraw = "Help & Legend";
	int wd2 = todraw.length() / 2;
	SetStringAt(40 - wd2, 1, todraw, YELLOW_BOLD);

	todraw = "('x' to exit this screen)";
	wd2 = todraw.length() / 2;
	SetStringAt(40 - wd2, 23, todraw, YELLOW_BOLD);

	todraw = "Keys";
	SetStringAt(4, 4, todraw, WHITE_BOLD);
	todraw = "Arrow Keys - Move Around";
	SetStringAt(4, 6, todraw, WHITE_BOLD);
	todraw = "t - Select Target";
	SetStringAt(4, 8, todraw, WHITE_BOLD);
	todraw = "a - Attack";
	SetStringAt(4, 10, todraw, WHITE_BOLD);
	todraw = "i - Open Inventory";
	SetStringAt(4, 12, todraw, WHITE_BOLD);
	todraw = "x - Close Info Screens";
	SetStringAt(4, 14, todraw, WHITE_BOLD);
	todraw = "q - Quit Game";
	SetStringAt(4, 16, todraw, WHITE_BOLD);

	todraw = "Legend";
	SetStringAt(40, 4, todraw, WHITE_BOLD);
	SetCharAt(40, 6, '^', GREEN_BOLD);
	todraw = " - Stairs up";
	SetStringAt(41, 6, todraw, WHITE_BOLD);

	SetCharAt(40, 8, 'v', GREEN_BOLD);
	todraw = " - Stairs down";
	SetStringAt(41, 8, todraw, WHITE_BOLD);

	SetCharAt(40, 10, 'i', CYAN_BOLD);
	todraw = " - Item. Walk over to pick up.";
	SetStringAt(41, 10, todraw, WHITE_BOLD);

	SetCharAt(40, 12, 'M', RED_BOLD);
	todraw = " - Xoich. Short range, lots of HP";
	SetStringAt(41, 12, todraw, WHITE_BOLD);

	SetCharAt(40, 14, 'R', RED_BOLD);
	todraw = " - Reaper. Long range, low HP";
	SetStringAt(41, 14, todraw, WHITE_BOLD);
	
	SetCharAt(40, 16, 'M', WHITE_BOLD);
	SetCharAt(42, 16, 'M', BLUE_BOLD);
	SetCharAt(44, 16, 'M', GREEN_BOLD);
	SetCharAt(46, 16, 'M', YELLOW_BOLD);
	SetCharAt(48, 16, 'M', RED_BOLD);
	todraw = " - Color signifies difficulty";
	SetStringAt(49, 16, todraw, WHITE_BOLD);

}
Ejemplo n.º 5
0
void InventoryView::Update() {
	Clear();
	for(int y = 0; y < 24; y++) {
		SetCharAt(49, y, '|', WHITE);
	}
	string toDraw = "Equipped Items";
	int wd2 = toDraw.length() / 2;
	SetStringAt(25 - wd2, 1, toDraw, WHITE);

	toDraw = "Inventory";
	wd2 = toDraw.length() / 2;
	SetStringAt(65 - wd2, 1, toDraw, WHITE);

	toDraw = "(Arrows navigate, Enter selects, 'd' discards, Esc exits. List scrolls)";
	wd2 = toDraw.length() / 2;
	SetStringAt(40 - wd2, 23, toDraw, WHITE);

	toDraw = DataManager::Instance()->GetStatusString();
	DataManager::Instance()->ClearStatusString();
	if(toDraw != "()") {
		wd2 = toDraw.length() / 2;
		SetStringAt(1, 22, toDraw, YELLOW_BOLD);
	}

	toDraw = "Head: ";
	SetStringAt(10, 6, toDraw, WHITE);
	toDraw = "Body: ";
	SetStringAt(10, 8, toDraw, WHITE);
	toDraw = "Legs: ";
	SetStringAt(10, 10, toDraw, WHITE);
	toDraw = "Weapon: ";
	SetStringAt(8, 12, toDraw, WHITE);
	toDraw = "Implant: ";
	SetStringAt(7, 14, toDraw, WHITE);

	// Show inventory items
	Player* p = DataManager::Instance()->GetPlayer();
	Inventory inv = p->GetInventory();
	if(inv.NumItems() == 0) {
		int attr = WHITE;
		if(m_inInventoryArea) {
			attr = YELLOW_BOLD;
		}
		toDraw = "<empty>";
		SetStringAt(51, 3, toDraw, attr);
	}
	else {
		ItemList items = inv.GetItems();
		int counter = m_scrollY;
		stringstream s;
		for(ItemList::iterator i = items.begin(); i != items.end(); i++) {
			if(counter < m_scrollY) {
				continue;
			}
			if(counter >= m_scrollY + 19) {
				break;
			}
			int attr = WHITE;
			if(m_inInventoryArea && counter == m_selectIdx) {
				attr = YELLOW_BOLD;
			}
			Item* toShow = *i;
			s.str("");
			s << (counter + 1) << ". " << toShow->GetDisplayName();
			if(toShow->CanStack()) {
				s << " (" << toShow->GetStackSize() << ")";
			}
			toDraw = s.str();
			if(toDraw.length() > 28) {
				toDraw.erase(28);
			}
			SetStringAt(51, 3 + counter - m_scrollY, toDraw, attr);
			counter++;
		}
	}

	// Show the equipped items
	DrawPaperDollItem(p->GetHeadItem(), 6, 0);
	DrawPaperDollItem(p->GetBodyItem(), 8, 1);
	DrawPaperDollItem(p->GetLegsItem(), 10, 2);
	DrawPaperDollItem(p->GetWeaponItem(), 12, 3);
	DrawPaperDollItem(p->GetImplantItem(), 14, 4);

	//stringstream s;
	//s << "scrolly: " << m_scrollY << " selectidx: " << m_selectIdx;
	//toDraw = s.str();
	//SetStringAt(1, 22, toDraw, WHITE);
}