Beispiel #1
0
        public PlayerInterface(ContentManager content)
        {
            PlayerSb = new StringBuilder[] { new StringBuilder("Player1"), new StringBuilder("Player2") };
            state = InterfaceState.MainMenu;
            MainMenuButtons = new List<Button>() { new Button(new Vector2(470, 300), content, "nowa-gra"),
                new Button(new Vector2(440, 400), content, "stworz-graf"),
                new Button(new Vector2(485, 500), content, "wyjscie"),
            };

            NewGameTextBoxes = new List<TextBox>() {
                new TextBox(content,colorsNr.ToString(),new Vector2(650,220),new Vector2(845,305),"liczba-kolorow",0,"CzcionkaUI"),
                new TextBox(content,"",new Vector2(650,50),new Vector2(0,0),"kolorowanie"),
            };
            p1 = new Player();
            p2 = new Player();
            GraphButtons = new List<ClickableObject>()
            {
                new Button(new Vector2(50, 50), content, "graf1"),
                new Button(new Vector2(210, 50), content, "graf2"),
                new Button(new Vector2(370, 50), content, "graf3"),
            };
            GameColoringButtons = new List<Button>(){
                new Button(new Vector2(660, 90), content, "kwiatkow"),
                new Button(new Vector2(660, 140), content, "plotkow"),
            };
            NewGameButtons = new List<ClickableObject>(){
                new Button(new Vector2(350, 730), content, "anuluj"),
                new Button(new Vector2(650, 730), content, "start"),
            };

            Mode = new List<Button>(){
                new Button(new Vector2(400, 400), content, "OhvsSh"),
                new Button(new Vector2(400, 470), content, "OhvsSe"),
                new Button(new Vector2(400, 540), content, "OevsSh"),
                new Button(new Vector2(400, 610), content, "OevsSe")
            };

            foreach (Button b in GameColoringButtons)
                NewGameButtons.Add(b);
            foreach (Button b in Mode)
                NewGameButtons.Add(b);
            foreach (ClickableObject b in GraphButtons)
                NewGameButtons.Add(b);

            LoginTextBoxes = new List<TextBox>()
            {   new TextBox(content, "Player1", new Vector2(100, 200), new Vector2(550, 250), "Gracz1",0,"CzcionkaUI") ,
                new TextBox(content, "Player2", new Vector2(100, 500), new Vector2(550, 550), "Gracz2",0,"CzcionkaUI")
            };
            LoginButtons = new List<Button>(){
                new Button(new Vector2(350, 30), content, "anuluj"),
                new Button(new Vector2(650, 30), content, "start"),
            };

            titleTexture = content.Load<Texture2D>("title");
            titleVector = new Vector2(250, 100);
            chosenGraph = null;
        }
Beispiel #2
0
 public Game(GameType gT, GardenGraph g, int c)
 {
     player2 = new Computer(true);
     colorBoxes = new List<ColorBox>();
     gameType = gT;
     graph = g;
     colors = ColorsCreator.GetColors(c);
     usedColors = new List<Color>();
     this.whoseTurn = 0;
     this.gardenerStartedMove = false;
 }
Beispiel #3
0
        public Game(GameType gT, GameMode gM, GardenGraph g, int c, ContentManager content, Player p1, Player p2, GameOrder go)
        {
            player2 = new Computer(true);
            colorBoxes = new List<ColorBox>();
            gameType = gT;
            gameMode = gM;
            graph = g;
            gameOrder = go;
            colors = ColorsCreator.GetColors(c);
            usedColors = new List<Color>();
            this.whoseTurn = 0;
            this.gardenerStartedMove = false;
            int distx = 55;
            int disty = 30;
            int offset = 10;

            colorsText = new TextBox(content, "", new Vector2(0, 0), new Vector2(0, 0), "KoloryText");

            for(int i =0;i<colors.Length;i++)
            {
                Vector2 vect = new Vector2(10+offset + (distx) * (i % 3), 30 +offset + (disty) * ((int)i / 3));
                colorBoxes.Add(new ColorBox(colors[i], content, vect));
            }

            player1 = p1;
            player2 = p2;
            panels = new List<TextBox>() { new TextBox(content, "",new Vector2(0,0),new Vector2(0,0),"Panel") };
            string ps1 = p1.isGardener ? "O: " : "S: ";
            string ps2 = p2.isGardener ? "O: " : "S: ";

            WhoseTurnText = new TextBox(content, "Tura: " + (p1.isGardener ? "Ogrodnika" : "Sasiada"), new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(250, 0)), Color.White, null, 0, "CzcionkaUI");
            Escape = new Button(Game1.GetRatioDimensions(new Vector2(1010, 740)), content, "wyjscie");

            if(p2 is Computer)
            {
                PlayersTexts = new TextBox[] { new TextBox(content, ps1 + p1.login, new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(10, 400)), Color.White, null, 0, "CzcionkaUI") };
                PlayerPoints = new TextBox[] { new TextBox(content, p1.points.ToString(), new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(30, 440)), Color.White, null, 0, "CzcionkaUI") };
            }
            else
            {
                PlayersTexts = new TextBox[] { new TextBox(content, ps1 + p1.login, new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(10, 400)), Color.White, null, 0, "CzcionkaUI"),
                                            new TextBox(content, ps2 + p2.login, new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(10, 600)), Color.White, null, 0, "CzcionkaUI"),};
                PlayerPoints = new TextBox[] { new TextBox(content, p1.points.ToString(), new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(30, 440)), Color.White, null, 0, "CzcionkaUI"),
                                           new TextBox(content, p2.points.ToString(), new Vector2(0, 0), Game1.GetRatioDimensions(new Vector2(30, 640)), Color.White, null, 0, "CzcionkaUI"),

                };
            }
        }
Beispiel #4
0
        public PlayerInterface(ContentManager content)
        {
            PlayerSb = new StringBuilder[] { new StringBuilder("Gracz1"), new StringBuilder("Gracz2") };
            state = InterfaceState.MainMenu;
            MainMenuButtons = new List<Button>() { new Button(Game1.GetRatioDimensions(new Vector2(470, 300)), content, "nowa-gra"),
                new Button(Game1.GetRatioDimensions(new Vector2(440, 400)), content, "stworz-graf"),
                new Button(Game1.GetRatioDimensions(new Vector2(485, 500)), content, "wyjscie"),
            };

            NewGameTextBoxes = new List<TextBox>() {
                new TextBox(content,colorsNr.ToString(),Game1.GetRatioDimensions(new Vector2(650,390)),Game1.GetRatioDimensions(new Vector2(845,475)),"liczba-kolorow",0,"CzcionkaUI"),
                new TextBox(content,"",Game1.GetRatioDimensions(new Vector2(650,50)),new Vector2(0,0),"trybBox"),
                new TextBox(content,"",Game1.GetRatioDimensions(new Vector2(650,220)),new Vector2(0,0),"kolorowanie"),
                new TextBox(content,"",Game1.GetRatioDimensions(new Vector2(650,560)),new Vector2(0,0),"gra"),
                new TextBox(content,"",Game1.GetRatioDimensions(new Vector2(50,560)),new Vector2(0,0),"poziom"),

            };
            p1 = new Player();
            p1.isGardener = true;
            p1.login = "******";
            p2 = new Player();
            p2.login = "******";
            easyMode = true;
            GraphButtons = new List<ClickableObject>()
            {
                new Button(Game1.GetRatioDimensions(new Vector2(50, 50)), content, "graf1"),
                new Button(Game1.GetRatioDimensions(new Vector2(210, 50)), content, "graf2"),
                new Button(Game1.GetRatioDimensions(new Vector2(370, 50)), content, "graf3"),
            };
            GameTypeButtons = new List<Button>(){
                new Button(Game1.GetRatioDimensions(new Vector2(660, 100)), content, "gra-vs-gra", Color.LightBlue),
                new Button(Game1.GetRatioDimensions(new Vector2(660, 150)), content, "gra-vs-komp"),
            };
            GameDifButtons = new List<Button>(){
                new Button(Game1.GetRatioDimensions(new Vector2(60, 610)), content, "latwy", Color.LightBlue),
                new Button(Game1.GetRatioDimensions(new Vector2(60, 660)), content, "trudny"),
            };
            GameColoringButtons = new List<Button>(){
                new Button(Game1.GetRatioDimensions(new Vector2(660, 260)), content, "kwiatkow", Color.LightBlue),
                new Button(Game1.GetRatioDimensions(new Vector2(660, 310)), content, "plotkow"),
            };
            GameModeButtons = new List<Button>(){
                new Button(Game1.GetRatioDimensions(new Vector2(660, 610)), content, "sasiad-ogrodnik"),
                new Button(Game1.GetRatioDimensions(new Vector2(660, 660)), content, "ogrodnik-sasiad", Color.LightBlue),
            };
            NewGameButtons = new List<ClickableObject>(){
                new Button(Game1.GetRatioDimensions(new Vector2(350, 730)), content, "anuluj"),
                new Button(Game1.GetRatioDimensions(new Vector2(650, 730)), content, "start"),
            };
            foreach (Button b in GameDifButtons)
                NewGameButtons.Add(b);
            foreach (Button b in GameTypeButtons)
                NewGameButtons.Add(b);
            foreach (Button b in GameColoringButtons)
                NewGameButtons.Add(b);
            foreach (Button b in GameModeButtons)
                NewGameButtons.Add(b);
            foreach (ClickableObject b in GraphButtons)
                NewGameButtons.Add(b);

            LoginTextBoxes = new List<TextBox>()
            {   new TextBox(content, "Gracz1", Game1.GetRatioDimensions(new Vector2(100, 200)), Game1.GetRatioDimensions(new Vector2(550, 250)), "Gracz1",0,"CzcionkaUI") ,
                new TextBox(content, "Gracz2", Game1.GetRatioDimensions(new Vector2(100, 500)), Game1.GetRatioDimensions(new Vector2(550, 550)), "Gracz2",0,"CzcionkaUI")
            };
            LoginButtons = new List<Button>(){
                new Button(Game1.GetRatioDimensions(new Vector2(350, 30)), content, "anuluj"),
                new Button(Game1.GetRatioDimensions(new Vector2(650, 30)), content, "start"),
            };

            titleTexture = content.Load<Texture2D>("title");
            titleVector = Game1.GetRatioDimensions(new Vector2(250, 100));
            chosenGraph = null;
        }
Beispiel #5
0
 /// <summary>
 /// Funkcja sprawdzajaca nacisk myszy na element w oknie kreatora nowej gry
 /// </summary>
 /// <param name="mousePos"></param>
 /// <param name="game"></param>
 /// <param name="content"></param>
 public void NewGameCheck(Point mousePos, ref Game game, ContentManager content)
 {
     for (int i = 0; i < NewGameButtons.Count; i++)
     {
         if (NewGameButtons[i].ContainsPoint(mousePos))
         {
             switch (NewGameButtons[i].name)
             {
                 case "start":
                     if (p1 != null && chosenGraph != null)
                         state = p2 is Computer ? InterfaceState.LoginSingle : InterfaceState.LoginMulti;
                     else
                         Game1.MessageBox(new IntPtr(), "Wybierz graf do rozgrywki", "", 0);
                     break;
                 case "anuluj":
                     state = InterfaceState.MainMenu;
                     break;
                 case "graf1":
                     ClearButtons(GraphButtons);
                     chosenGraph = PredefinedGraphs.graphs[0].Copy();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "graf2":
                     ClearButtons(GraphButtons);
                     chosenGraph = PredefinedGraphs.graphs[1].Copy();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "graf3":
                     ClearButtons(GraphButtons);
                     chosenGraph = PredefinedGraphs.graphs[2].Copy();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "graphcreated":
                     ClearButtons(GraphButtons);
                     chosenGraph = PredefinedGraphs.graphs[NewGameButtons[i].index].Copy();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "gra-vs-gra":
                     ClearButtons(GameTypeButtons);
                     p1 = new Player("Gracz1");
                     p2 = new Player("Gracz2");
                     UpdateLogins();
                     UpdatePlayers();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "gra-vs-komp":
                     ClearButtons(GameTypeButtons);
                     p1 = new Player("Gracz1");
                     p2 = new Computer(easyMode);
                     UpdateLogins();
                     UpdatePlayers();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "kwiatkow":
                     ClearButtons(GameColoringButtons);
                     gT = GameType.VerticesColoring;
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "plotkow":
                     ClearButtons(GameColoringButtons);
                     gT = GameType.EdgesColoring;
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "sasiad-ogrodnik":
                     ClearButtons(GameModeButtons);
                     gO = GameOrder.NG;
                     UpdatePlayers();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "ogrodnik-sasiad":
                     ClearButtons(GameModeButtons);
                     gO = GameOrder.GN;
                     UpdatePlayers();
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "latwy":
                     ClearButtons(GameDifButtons);
                     easyMode = true;
                     if(p2 is Computer)
                     {
                         Computer c = p2 as Computer;
                         c.easyMode = true;
                     }
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
                 case "trudny":
                     ClearButtons(GameDifButtons);
                     easyMode = false;
                     if (p2 is Computer)
                     {
                         Computer c = p2 as Computer;
                         c.easyMode = false;
                     }
                     NewGameButtons[i].color = Color.LightBlue;
                     break;
             }
         }
     }
 }
Beispiel #6
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            Globals.content = Content;
            playerInterface = new PlayerInterface(Content);
            graphCreator = new GraphCreator(Content);
            IsMouseVisible = true;
            Player p1 = new Player("Gracz1");
            Computer c1 = new Computer(true);
            PredefinedGraphs.graphs = new List<GardenGraph>() { PredefinedGraphs.GraphZero(Content), PredefinedGraphs.GraphOne(Content), PredefinedGraphs.GraphTwo(Content) };

            background = Content.Load<Texture2D>("tlo");

            screenRectangle = new Rectangle(0, 0,
                GraphicsDevice.PresentationParameters.BackBufferWidth,
                GraphicsDevice.PresentationParameters.BackBufferHeight);
            this.TargetElapsedTime = TimeSpan.FromSeconds(1.0f / 10.0f);
            base.Initialize();
        }
Beispiel #7
0
        /// <summary>
        /// Funkcja sprawdzajaca nacisk myszy na element w oknie kreatora nowej gry
        /// </summary>
        /// <param name="mousePos"></param>
        /// <param name="game"></param>
        /// <param name="content"></param>
        public void NewGameCheck(Point mousePos, ref Game game, ContentManager content)
        {
            for (int i = 0; i < NewGameButtons.Count; i++)
            {
                if (NewGameButtons[i].ContainsPoint(mousePos))
                {
                    switch (NewGameButtons[i].name)
                    {
                        case "start":
                            if(p1!=null && chosenGraph != null)
                            {
                                state = InterfaceState.Game;
                                game = new Game(gT,GameMode.ZeroPlayer, chosenGraph, colorsNr, content, p1, p2, gO);
                            }
                            break;
                        case "anuluj":
                            state = InterfaceState.MainMenu;
                            break;
                        case "graf1":
                            ClearButtons(GraphButtons);
                            chosenGraph = PredefinedGraphs.graphs[0].Copy();
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "graf2":
                            ClearButtons(GraphButtons);
                            chosenGraph = PredefinedGraphs.graphs[1].Copy();
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "graf3":
                            ClearButtons(GraphButtons);
                            chosenGraph = PredefinedGraphs.graphs[2].Copy();
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "graphcreated":
                            ClearButtons(GraphButtons);
                            chosenGraph = PredefinedGraphs.graphs[NewGameButtons[i].index].Copy();
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "kwiatkow":
                            ClearButtons(GameColoringButtons);
                            gT = GameType.VerticesColoring;
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "plotkow":
                            ClearButtons(GameColoringButtons);
                            gT = GameType.EdgesColoring;
                            NewGameButtons[i].color = Color.LightBlue;
                            break;
                        case "OhvsSh":
                            ClearButtons(Mode);
                            NewGameButtons[i].color = Color.LightBlue;
                            p1 = new Computer(false);
                            p1.isGardener = true;
                            p2 = new Computer(false);
                            p2.isGardener = false;
                            break;
                        case "OevsSh":
                            ClearButtons(Mode);
                            NewGameButtons[i].color = Color.LightBlue;
                            p1 = new Computer(true);
                            p1.isGardener = true;
                            p2 = new Computer(false);
                            p2.isGardener = false;
                            break;
                        case "OhvsSe":
                            ClearButtons(Mode);
                            NewGameButtons[i].color = Color.LightBlue;
                            p1 = new Computer(false);
                            p1.isGardener = true;
                            p2 = new Computer(true);
                            p2.isGardener = false;
                            break;
                        case "OevsSe":
                            ClearButtons(Mode);
                            NewGameButtons[i].color = Color.LightBlue;
                            p1 = new Computer(true);
                            p1.isGardener = true;
                            p2 = new Computer(true);
                            p2.isGardener = false;
                            break;

                    }
                }
            }
        }