コード例 #1
0
 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();
     }
 }
コード例 #2
0
 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);
             }
         }
     }
 }
コード例 #3
0
ファイル: Warcaby.cs プロジェクト: kgbzoma/Ziemniaki-Warcaby
        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();
            }
        }