Esempio n. 1
0
void MyDialog::GetHiscoreName() {
	MAS::Window win;
	Dialog clientArea;
	ClearScreen clr;
	EditBox edit;
	Label l1, l2;
	Button but;

	clientArea.Add(clr);
	win.title.SetText("Game Over!");
	clientArea.Resize(278, 98);

	l1.Setup(10, 10, 200, 16, 0, 0, "You have a high score!", 0);
	l2.Setup(10, 38, 128, 16, 0, 0, "Enter your name:", 0);
	edit.Setup(150, 26, 100, 28, 0, D_EXIT, "player", 8);
	but.Setup(50, 60, 130, 24, ALLEGRO_KEY_O, D_EXIT, "&OK");

	clientArea.Add(l1);
	clientArea.Add(l2);
	clientArea.Add(edit);
	clientArea.Add(but);

	win.SetClientArea(&clientArea);
	win.Centre();
	edit.Select();
   //TODO
	//win.Popup(this, win.x(), win.y(), &edit);
	hsc->Add(edit.GetText(), eScore.GetInt(), eLines.GetInt());
}
Esempio n. 2
0
void MyDialog::ShowScores() {
	MAS::Window win;
	Dialog clientArea;
	ClearScreen clr;
	Panel pan;
	Label lName[10], lScore[10], lLines[10];
	Button but;

	clientArea.Add(clr);
	clientArea.Add(pan);
	std::list<HighscoreItem *>::iterator iter = hsc->items.begin();
	for (int i=0; i<10; i++, ++iter) {
		lName[i].ClearFlag(D_AUTOSIZE);
		lName[i].Shape(16, i*20 + 10, 80, 20);
		lName[i].SetText((*iter)->name);
		clientArea.Add(lName[i]);

		lScore[i].ClearFlag(D_AUTOSIZE);
		lScore[i].AlignCentre();
		lScore[i].Shape(108, i*20 + 10, 40, 20);
		lScore[i].SetNumber((*iter)->score);
		clientArea.Add(lScore[i]);

		lLines[i].ClearFlag(D_AUTOSIZE);
		lLines[i].AlignCentre();
		lLines[i].Shape(150, i*20 + 10, 40, 20);
		lLines[i].SetNumber((*iter)->lines);
		clientArea.Add(lLines[i]);
	}

	but.Setup(40, 220, 120, 24, ALLEGRO_KEY_O, D_EXIT, "&OK");
	clientArea.Add(but);
	pan.Shape(4, 4, 192, 248);
	clientArea.Resize(200,256);
	win.title.SetText("High Scores");
	win.SetClientArea(&clientArea);
	win.ClearFlag(D_RESIZABLE);
	win.Centre();
//TODO
#if 0
	win.Popup(this, win.x(), win.y(), &but);
#endif
}