示例#1
0
        //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);
        }
示例#2
0
        //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();
        }
示例#3
0
        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);
            }
        }