Пример #1
0
        private Bitmap DrawBrettOnBitMap(Bitmap image, Font font, Logik.Fields.Field field, Point posi)
        {
            SolidBrush xBrush   = new SolidBrush(Color.Green);
            SolidBrush oBrush   = new SolidBrush(Color.Blue);
            Graphics   graphics = Graphics.FromImage(image);

            for (int x = 0; x < field.Width; x++)
            {
                for (int y = 0; y < field.Height; y++)
                {
                    if (field.GetField(new Vector2i(x, y)) == 'X')
                    {
                        graphics.DrawString(field.GetField(new Vector2i(x, y)).ToString(), font, xBrush, posi);
                    }
                    else
                    {
                        graphics.DrawString(field.GetField(new Vector2i(x, y)).ToString(), font, oBrush, posi);
                    }
                    posi.Y += _screenHeight / 3;
                }
                posi.X += _screenWidth / 4;
                posi.Y  = 0;
            }
            return(image);
        }
Пример #2
0
 public void Initialize(Logik.Player.Player p1, Logik.IBrettDarsteller bdar, Logik.Fields.Field field, Network.Network client)
 {
     this.client = client;
     if (p1.Symbol != 'X')
     {
         PlayerChange();
     }
 }
Пример #3
0
        public void Update(Logik.Fields.Field field)
        {
            int fontHeight = 0;

            if (_matrix)
            {
                fontHeight = _screenHeight / 10;
            }
            else
            {
                fontHeight = _screenHeight / 4;
            }
            UpdateImageLetters(new Font("consolas", fontHeight), field);
        }
Пример #4
0
 public override Logik.Vector2i Play(Logik.Fields.Field brett)
 {
     Logik.Vector2i ret;
     do
     {
         ret = PositionQuestion();
         if (brett.IsFieldEmpty(ret))
         {
             return(ret);
         }
         else
         {
             Console.WriteLine("Feld bereits besetzt.");
         }
     } while (true);
 }
Пример #5
0
        private void UpdateImageLetters(Font font, Logik.Fields.Field field)
        {
            Bitmap tmpImage = new Bitmap(_screenWidth, _screenHeight);

            if (_matrix)
            {
                for (int i = 0; i < 10; i++)
                {
                    Point posi = new Point((_screenWidth / 10) * i);
                    DrawBrettOnBitMap(tmpImage, font, field, posi);
                }
            }
            else
            {
                DrawBrettOnBitMap(tmpImage, font, field, new Point(0, 0));
            }
            _image = tmpImage;
        }
Пример #6
0
        public void Update(Logik.Fields.Field field)
        {
            int realX = 0;
            int realY = 0;

            for (int Spielfeldy = 0; Spielfeldy < spielFeldHeight; Spielfeldy++)
            {
                //Hauptreihen
                if (Spielfeldy % 2 == 0)
                {
                    for (int Spielfeldx = 0; Spielfeldx < spielFeldWidth; Spielfeldx++)
                    {
                        if (Spielfeldx % 2 == 0)
                        {
                            spielfeld[Spielfeldx, Spielfeldy] = field.GetField(new Logik.Vector2i(realX, realY));
                            realX++;
                        }
                        else
                        {
                            spielfeld[Spielfeldx, Spielfeldy] = '|';
                        }
                    }
                    realY++;
                    realX = 0;
                }
                //Zwischenreihen
                else
                {
                    for (int Spielfeldx = 0; Spielfeldx < spielFeldWidth; Spielfeldx++)
                    {
                        if (Spielfeldx % 2 == 0)
                        {
                            spielfeld[Spielfeldx, Spielfeldy] = '-';
                        }
                        else
                        {
                            spielfeld[Spielfeldx, Spielfeldy] = '+';
                        }
                    }
                }
            }
        }
Пример #7
0
 public void Initialize(Logik.Player.Player p1, Logik.Player.Player p2, Logik.IBrettDarsteller bdar, Logik.Fields.Field field)
 {
     if (field == null)
     {
         Field = new Fields.Brett(bdar.Width, bdar.Height);
     }
     else
     {
         Field = field;
     }
     if (p1 is Player.AIPlayer)
     {
         p1 = RegisterAIEvents((UniTTT.Logik.Player.AIPlayer)p1);
     }
     else if (p2 is Player.AIPlayer)
     {
         p2 = RegisterAIEvents((UniTTT.Logik.Player.AIPlayer)p2);
     }
     BDarsteller = bdar;
     Player1     = p1;
     Player2     = p2;
     Player      = Player1;
     Initialize();
 }
Пример #8
0
 public void Update(Logik.Fields.Field field)
 {
     OnBrettUpdate();
 }
Пример #9
0
 public Game(Logik.Player.Player p1, Logik.Player.Player p2, Logik.IBrettDarsteller bdar, Logik.Fields.Field field)
 {
     NewGameEvent += NewGame;
     Initialize(p1, p2, bdar, field);
 }
Пример #10
0
        public NetworkGame(Logik.Player.Player p1, Logik.Player.Player p2, Logik.IBrettDarsteller bdar, Logik.Fields.Field field, Network.Network client) : base(p1, p2, bdar, field)
        {
            client.NewMessageReceivedEvent += ReceiveNewGame;

            NewGameEvent += SendNewGame;
            newGameRequestReceivedEvent += NewGame;
            PlayerMovedEvent            += SendVector;

            Initialize(p1, bdar, field, client);
        }