Advertisement
Guest User

chinczyk

a guest
Oct 27th, 2019
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.94 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Chinczyk
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         //tutaj ustaw swoja sciezke, tzn zmien "C:\Users\studi\source\repos\Chinczyk"
  16.         Bitmap puste = new Bitmap(@"C:\Users\studi\source\repos\Chinczyk\Chinczyk\Resources\pole.png");
  17.         Bitmap pionekA = new Bitmap(@"C:\Users\studi\source\repos\Chinczyk\Chinczyk\Resources\graczA.png");
  18.         Bitmap pionekC = new Bitmap(@"C:\Users\studi\source\repos\Chinczyk\Chinczyk\Resources\graczC.png");
  19.         bool KtoryGracz = false; // false = czerwony ; true = niebieski
  20.         bool RedMaPionka = false, BlueMaPionka = false;
  21.         bool RedDone = false, BlueDone = false;
  22.         bool CzyNiebieskiBity()
  23.         {
  24.             if (BlueMaPionka && RedMaPionka && zmienne[oczkaBlue] == zmienne[oczkaRed]) return true;
  25.             else return false;
  26.         }
  27.         bool CzyCzerwonyBity()
  28.         {
  29.             if (RedMaPionka && BlueMaPionka && zmienne[oczkaRed] == zmienne[oczkaBlue]) return true;
  30.             else return false;
  31.         }
  32.         bool CzyWyrzucona6()
  33.         {
  34.             if (rzut == 6) return true;
  35.             else return false;
  36.         }
  37.  
  38.         int pionA1 = 17, pionA2;
  39.         int pionB1 = 8 , pionB2;
  40.  
  41.         Pole[] zmienne = new Pole[28]; // 24-27 = wyjsciowe
  42.         int oczkaRed = 17, oczkaBlue = 8, max = 18;
  43.         int rzut;
  44.  
  45.         private void Graj() // funkcja odpowiedzialna za ruszanie pionkow
  46.         {
  47.             rzut = Rzuc();
  48.             label.Text = Rzuc().ToString();
  49.             if (KtoryGracz == false) LabelK.Text = "Odbył się ruch czerwonego";
  50.             else if (KtoryGracz == true) LabelK.Text = "Odbył się ruch niebieskiego";
  51.  
  52.  
  53.             if (KtoryGracz == false) // ruch gracza czerwonego
  54.             {
  55.                 if(RedMaPionka == false && CzyWyrzucona6()) // pierwszy ruch
  56.                 {
  57.                     zmienne[oczkaRed].newImage = pionekA;
  58.                     RedMaPionka = true;
  59.                 }
  60.                 else if (RedMaPionka) //kolejne ruchy
  61.                 {
  62.                     zmienne[oczkaRed].newImage = puste;
  63.                     if (oczkaRed + rzut > max)
  64.                     {
  65.                         oczkaRed = Math.Abs(max - oczkaRed - rzut);
  66.                         zmienne[oczkaRed].newImage = pionekA;
  67.                     }
  68.                     else
  69.                     {
  70.                         oczkaRed += rzut;
  71.                         zmienne[oczkaRed].newImage = pionekA;
  72.                     }
  73.                 }
  74.                 if (CzyNiebieskiBity())
  75.                 {
  76.                     BlueMaPionka = false;
  77.                     oczkaBlue = 8;
  78.                 }
  79.                 KtoryGracz = true;
  80.             }
  81.  
  82.             else if (KtoryGracz == true) // ruch gracza niebieskiego
  83.             {
  84.                 if (BlueMaPionka == false && CzyWyrzucona6()) // pierwszy ruch
  85.                 {
  86.                     zmienne[oczkaBlue].newImage = pionekC;
  87.                     BlueMaPionka = true;
  88.                 }
  89.                 else if (BlueMaPionka)//kolejne ruchy
  90.                 {
  91.                     zmienne[oczkaBlue].newImage = puste;
  92.                     if (oczkaBlue + rzut > max)
  93.                     {
  94.                         oczkaBlue = Math.Abs(max - oczkaBlue - rzut);
  95.                         zmienne[oczkaBlue].newImage = pionekC;
  96.                     }
  97.                     else
  98.                     {
  99.                         oczkaBlue += rzut;
  100.                         zmienne[oczkaBlue].newImage = pionekC;
  101.                     }
  102.                 }
  103.                 if (CzyCzerwonyBity())
  104.                 {
  105.                     RedMaPionka = false;
  106.                     oczkaRed = 17;
  107.                 }
  108.                 KtoryGracz = false;
  109.             }
  110.                 WczytajMape();
  111.         }
  112.  
  113.  
  114.             public Form1()
  115.         {
  116.             InitializeComponent();
  117.             Stworz();
  118.             WczytajMape();
  119.         }
  120.  
  121.         private void wyjscieA1_Click(object sender, EventArgs e)
  122.         {
  123.             if (KtoryGracz == false && CzyWyrzucona6() && zmienne[24].newImage == pionekA)
  124.             {
  125.                 zmienne[24].newImage = puste;
  126.                 zmienne[pionA1].newImage = pionekA; //wychodzi pierwszy pionek
  127.                 KtoryGracz = true;
  128.             }
  129.         }
  130.  
  131.         public int Rzuc() // rzut kostka do gry 1-6
  132.         {
  133.             Random random = new Random();
  134.             int randomNumber = random.Next(1, 7);
  135.             return randomNumber;
  136.         }
  137.  
  138.         public void Stworz()
  139.         {
  140.             for (int i = 1; i < 23; i++) // stworzenie mapy
  141.             {
  142.                 zmienne[i] = new Pole();
  143.                 zmienne[i].newImage = puste;
  144.             }
  145.  
  146.             for (int i = 23; i < 25; i++) // pionki czerwonego
  147.             {
  148.                 zmienne[i] = new Pole();
  149.                 zmienne[i].newImage = pionekA;
  150.             }
  151.  
  152.             for (int i = 25; i < 27; i++) // pionki niebieskiego
  153.             {
  154.                 zmienne[i] = new Pole();
  155.                 zmienne[i].newImage = pionekC;
  156.             }
  157.  
  158.         }
  159.  
  160.         private void WczytajMape() // rysuje mape do chinczyka
  161.         {
  162.             pole1.Image = zmienne[1].newImage;
  163.             pole2.Image = zmienne[2].newImage;
  164.             pole3.Image = zmienne[3].newImage;
  165.             pole4.Image = zmienne[4].newImage;
  166.             pole5.Image = zmienne[5].newImage;
  167.             pole6.Image = zmienne[6].newImage;
  168.             pole7.Image = zmienne[7].newImage;
  169.             pole8.Image = zmienne[8].newImage;
  170.             pole9.Image = zmienne[9].newImage;
  171.             pole10.Image = zmienne[10].newImage;
  172.             pole11.Image = zmienne[11].newImage;
  173.             pole12.Image = zmienne[12].newImage;
  174.             pole13.Image = zmienne[13].newImage;
  175.             pole14.Image = zmienne[14].newImage;
  176.             pole15.Image = zmienne[15].newImage;
  177.             pole16.Image = zmienne[16].newImage;
  178.             pole17.Image = zmienne[17].newImage;
  179.             pole18.Image = zmienne[18].newImage;
  180.  
  181.             poleA.Image = zmienne[19].newImage; //pole do wygranej czerwonego = gracza A
  182.             poleA1.Image = zmienne[20].newImage;
  183.  
  184.             poleC.Image = zmienne[21].newImage; //pole do wygranej niebieskiego = gracza C
  185.             poleC1.Image = zmienne[22].newImage;  
  186.  
  187.             wyjscieA.Image = zmienne[23].newImage; //wyjsciowe czerwonego = gracza A
  188.             wyjscieA1.Image = zmienne[24].newImage; //dol
  189.  
  190.             wyjscieC.Image = zmienne[25].newImage; //wyjscie niebieskiego = gracza C
  191.             wyjscieC1.Image = zmienne[26].newImage;
  192.  
  193.         }
  194.  
  195.         private void button_Click(object sender, EventArgs e)
  196.         {
  197.             Graj();
  198.         }
  199.     }
  200.  
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement