public void HandleMouseInteraction(object sender, WarcabyView.MouseInteractionArgs arg) //metoda obsługująca zdarzenia kliknięcia myszy { if (model.czyMoznaZaznaczyc(gameBoard[arg.posX, arg.posY])) { view.RysujPole((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), Color.GreenYellow); if (gameBoard.czyJestPionek(gameBoard[arg.posX, arg.posY])) { view.RysujPionek((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), gameBoard.zdobaczPionkaZPola(gameBoard[arg.posX, arg.posY]).kolorPionka); } else if (gameBoard.czyJestDamka(gameBoard[arg.posX, arg.posY])) { view.rysujDamke((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), gameBoard.zdobaczPionkaZPola(gameBoard[arg.posX, arg.posY]).kolorPionka); } } else if (model.czyMogeOdznaczyc(gameBoard[arg.posX, arg.posY])) { view.RysujPole((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), gameBoard[arg.posX, arg.posY].jakiKolorMaPole); if (gameBoard.czyJestPionek(gameBoard[arg.posX, arg.posY])) { view.RysujPionek((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), gameBoard.zdobaczPionkaZPola(gameBoard[arg.posX, arg.posY]).kolorPionka); } else if (gameBoard.czyJestDamka(gameBoard[arg.posX, arg.posY])) { view.rysujDamke((Convert.ToInt32(arg.posX) - 65), (arg.posY - 1), gameBoard.zdobaczPionkaZPola(gameBoard[arg.posX, arg.posY]).kolorPionka); } } else if (model.czyMogeWykonacRuch(gameBoard[arg.posX, arg.posY])) { this.rysowaniePlanszy(); model.zmianaKolejki(); if (model.czyKoniec()) { KoniecGry(); } else { Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds); model.ruchAI(); model.zmianaKolejki(); this.rysowaniePlanszy(); } KoniecGry(); } }
public void rysowaniePlanszy() //metoda odrysowująca szachownice { gameBoard = model.dostanPlansze(); for (char x = 'A'; x <= 'H'; x++) { for (int y = 1; y <= 8; y++) { view.RysujPole((Convert.ToInt32(x) - 65), (y - 1), gameBoard[x, y].jakiKolorMaPole); if (gameBoard.czyJestPionek(gameBoard[x, y])) { view.RysujPionek((Convert.ToInt32(x) - 65), (y - 1), gameBoard.zdobaczPionkaZPola(gameBoard[x, y]).kolorPionka); } else if (gameBoard.czyJestDamka(gameBoard[x, y])) { view.rysujDamke((Convert.ToInt32(x) - 65), (y - 1), gameBoard.zdobaczPionkaZPola(gameBoard[x, y]).kolorPionka); } } } }
public void zapis() // metoda pozwalająca zapisać stan gry { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog1.InitialDirectory = Application.StartupPath; DialogResult czyok = saveFileDialog1.ShowDialog(); if (czyok == DialogResult.OK) { FileStream plik = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write); StreamWriter zapisuj = new StreamWriter(plik); if (humanPlayer.kolorGracza == Color.Black) { zapisuj.Write("b");//kolor gracza czarny komputera biały zapisuj.Write(Environment.NewLine); } else if (humanPlayer.kolorGracza == Color.BlanchedAlmond) { zapisuj.Write("w");//kolor gracza biały komputera czarny zapisuj.Write(Environment.NewLine); } for (int j = 1; j <= 8; j++) { for (char i = 'A'; i <= 'H'; i++) { if (gameBoard.czyJestPionek(gameBoard[i, j])) { if (gameBoard.czyJestPionekTegoPana(humanPlayer, gameBoard[i, j])) { zapisuj.Write('a'); // a to pionek człowieka q komputera } else { zapisuj.Write('q'); } } else if (gameBoard.czyJestDamka(gameBoard[i, j])) { if (gameBoard.czyJestPionekTegoPana(humanPlayer, gameBoard[i, j])) { zapisuj.Write("d"); // d to damka człowieka g komputera } else { zapisuj.Write("g"); } } else { zapisuj.Write(" "); } } zapisuj.Write(Environment.NewLine); } if (graczPrzyKolejce == humanPlayer) { zapisuj.Write("h");//tura gracza zapisuj.Write(Environment.NewLine); } else { zapisuj.Write("c");//tura komputera zapisuj.Write(Environment.NewLine); } zapisuj.Close(); plik.Close(); } }