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); }
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(); } }
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); }
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); }
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; }
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] = '+'; } } } } }
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(); }
public void Update(Logik.Fields.Field field) { OnBrettUpdate(); }
public Game(Logik.Player.Player p1, Logik.Player.Player p2, Logik.IBrettDarsteller bdar, Logik.Fields.Field field) { NewGameEvent += NewGame; Initialize(p1, p2, bdar, field); }
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); }