//This method lets the developer gets the roll he wants to //make tests. public int GetDevRoll() { number = 0; char addNumber = ' '; string rollValue = ""; Sdl.SDL_Color yellow = new Sdl.SDL_Color(255, 255, 0); do { addNumber = hardware.ReadNumber(); if (addNumber != '!' && addNumber != ' ' && addNumber != '?') { rollValue += addNumber; } txtRoll = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), rollValue, yellow); hardware.WriteText(txtRoll, 950, 330); hardware.UpdateScreen(); } while (addNumber != '!'); if (rollValue != "") { number = Convert.ToInt32(rollValue); } return(number); }
//Show the first option of the menu. It only tells the user //to press one to roll the dices. public void ShowFirstStep(string lang) { font = new Font("font/fuenteproy.ttf", 12); Sdl.SDL_Color red = new Sdl.SDL_Color(255, 0, 0); if (lang == "spanish") { txtMenu = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Pulsa 1 para tirar dados", red); } else { txtMenu = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Press 1 to roll the dice.", red); } hardware.WriteText(txtMenu, 640, 330); hardware.UpdateScreen(); }
public void Play(string lang) { bool exit; int chipToMove; IntPtr txtNames, txtChipsOut, txtDev, txtExit; int key; Sdl.SDL_Color red = new Sdl.SDL_Color(255, 0, 0); Sdl.SDL_Color blue = new Sdl.SDL_Color(0, 0, 255); Sdl.SDL_Color green = new Sdl.SDL_Color(0, 255, 0); Sdl.SDL_Color yellow = new Sdl.SDL_Color(255, 255, 0); font = new Font("font/fuenteproy.ttf", 12); txtDev = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "IS NOT FINISHED, PRESS ESCAPE ", red); playSelect.Show(lang); arrayBoxGoose = boxes.LoadDataG("files/boxArrayDataGoose.txt"); DisplayChips(); hardware.UpdateScreen(); for (int i = 0; i < turn; i++) { exit = false; if (lang == "spanish") { txtNames = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Turno: " + player[i].GetName() + " Color: " + player[i].GetColor(), red); txtChipsOut = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Fichas fuera: " + player[i].GetChipsOut(), yellow); txtDev = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "TODAVIA EN DESARROLLO", red); txtExit = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "ESCAPE PARA SALIR", red); } else { txtNames = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Turn: " + player[i].GetName() + " Color: " + player[i].GetColor(), red); txtChipsOut = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "Chips out: " + player[i].GetChipsOut(), yellow); txtDev = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "STILL DEVELOPING ", red); txtExit = SdlTtf.TTF_RenderText_Solid(font.GetFontType(), "ESCAPE FOR EXIT", red); } int rollValue = 0; //Draw the 16 chips in their houses. DisplayChips(); hardware.WriteText(txtNames, 670, 20); hardware.WriteText(txtChipsOut, 670, 40); hardware.WriteText(txtDev, 750, 300); hardware.WriteText(txtExit, 750, 400); hardware.UpdateScreen(); //Commented because of the devRoll. /*menu.ShowFirstStep(lang); * * do * { * //Repeat until press 1 * } while (hardware.KeyPressed() != Hardware.KEY_1); * * * rollValue = dice.GetRollValue(); * * //Shows the image of the rollvalue. * switch (rollValue) * { * case 1: * imgDice = new Image("img/roll1.jpg", 156, 154); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * case 2: * imgDice = new Image("img/roll2.jpg", 143, 142); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * case 3: * imgDice = new Image("img/roll3.jpg", 143, 142); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * case 4: * imgDice = new Image("img/roll4.jpg", 143, 142); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * case 5: * imgDice = new Image("img/roll5.jpg", 143, 142); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * case 6: * imgDice = new Image("img/roll6.jpg", 143, 142); * imgDice.MoveTo(710, 100); * hardware.DrawImage(imgDice); * hardware.UpdateScreen(); * break; * } * * //hardware.WriteText(txtDev, 640, 330); * hardware.UpdateScreen(); * * * //Here will be the move. Always be the chip number 1. * MoveChip(player[i].GetColor(), 1, rollValue, ref i, lang); * * * //User must press escape to skip the turn * menu.GetThirdStep(lang); * * * if (player[i].GetWin()) * { * i = turn; * } * else if (player[i].GetRepeatTurn()) * { * player[i].SetRepeatTurn(false); * i--; * menu.GetRepeatText(lang); * } * else if (i == playSelect.GetNumPlayers() - 1 && !player[i].GetWin()) * { * i = -1; * } * * * boxes.SaveData(arrayBox);*/ do { if (hardware.KeyPressed() == Hardware.KEY_ESC) { exit = true; i = 4; } } while (!exit); } }