daily pastebin goal
9%
SHARE
TWEET

sakkos_kod

itocska May 16th, 2018 73 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 tablas_feladat
  12. {
  13.     public partial class Tabla : Form
  14.     {
  15.         private PictureBox[,] tabla = new PictureBox[8, 8];
  16.         private Color[] szinek = { Color.Black, Color.White, Color.Red, Color.Green, Color.Blue, Color.Turquoise, Color.Crimson, Color.Yellow };
  17.         public Tabla()
  18.         {
  19.             InitializeComponent();
  20.         }
  21.  
  22.         private void Tabla_Load(object sender, EventArgs e)
  23.         {
  24.             tablagen.Enabled = false;
  25.             szinvalaszt.Enabled = false;
  26.             korvalaszt.Enabled = false;
  27.             negyzetvalaszt.Enabled = false;
  28.             poziciosor.Enabled = false;
  29.             poziciooszlop.Enabled = false;
  30.             rajzolas.Enabled = false;
  31.  
  32.             Color szin = Color.White;
  33.             for (int i = 0; i < 8; i++)
  34.             {
  35.                 if (szin == Color.White) { szin = Color.Black; }
  36.                 else { szin = Color.White; }
  37.                 for (int j = 0; j < 8; j++)
  38.                 {
  39.                     tabla[i, j] = new PictureBox();
  40.                     tabla[i, j].Width = 60;
  41.                     tabla[i, j].Height = 60;
  42.                     tabla[i, j].BackColor = szin;
  43.  
  44.                     if (szin == Color.White) { szin = Color.Black; }
  45.                     else { szin = Color.White; }
  46.  
  47.                     tabla[i, j].Top = 10 + j * 60;
  48.                     tabla[i, j].Left = 200 + i * 60;
  49.                     tabla[i, j].Visible = false;
  50.                     Controls.Add(tabla[i, j]);
  51.  
  52.                 }
  53.             }
  54.         }
  55.         private void meretellenorzes()
  56.         {
  57.             bool gensorokjo = true;
  58.             bool genoszlopokjo = true;
  59.             int sor = 0;
  60.             int oszlop = 0;
  61.             try { sor = Convert.ToInt32(generalsor.Text.Trim()); }
  62.             catch { gensorokjo = false; }
  63.             if (!((gensorokjo) && ((sor >= 2) && (sor <= 8)))) { gensorokjo = false; }
  64.  
  65.             try { oszlop = Convert.ToInt32(generaloszlop.Text.Trim()); }
  66.             catch { genoszlopokjo = false; }
  67.             if (!((genoszlopokjo) && ((oszlop >= 2) && (oszlop <= 8)))) { genoszlopokjo = false; }
  68.  
  69.             if (genoszlopokjo && gensorokjo) { tablagen.Enabled = true; }
  70.             else { tablagen.Enabled = false; }
  71.         }
  72.         private void generaloszlop_TextChanged(object sender, EventArgs e)
  73.         {
  74.             meretellenorzes();
  75.         }
  76.         private void generalsor_TextChanged(object sender, EventArgs e)
  77.         {
  78.             meretellenorzes();
  79.         }
  80.         private void tablagen_Click(object sender, EventArgs e)
  81.         {
  82.             for (int i = 0; i < 8; i++)
  83.                 for (int j = 0; j < 8; j++)
  84.                 {
  85.                     tabla[i, j].Visible = false;
  86.                     Bitmap rajzTerulet = new Bitmap(60, 60);
  87.                     tabla[i, j].Image = rajzTerulet;
  88.  
  89.                     Graphics g;
  90.                     g = Graphics.FromImage(rajzTerulet);
  91.                     g.Clear(tabla[i, j].BackColor);
  92.                     g.Dispose();
  93.                 }
  94.  
  95.             for (int i = 0; i < Convert.ToInt32(generaloszlop.Text); i++)
  96.                 for (int j = 0; j < Convert.ToInt32(generalsor.Text); j++)
  97.                     tabla[i, j].Visible = true;
  98.             this.Width = 200 + (Convert.ToInt32(generaloszlop.Text) * 60) + 35;
  99.  
  100.             tablagen.Enabled = false;
  101.             generaloszlop.Enabled = false;
  102.             generalsor.Enabled = false;
  103.             szinvalaszt.Enabled = true;
  104.             korvalaszt.Enabled = true;
  105.             negyzetvalaszt.Enabled = true;
  106.             poziciosor.Enabled = true;
  107.             poziciooszlop.Enabled = true;
  108.             //rajzolas.Enabled = true;
  109.         }
  110.         private void szinvalaszt_SelectedIndexChanged(object sender, EventArgs e)
  111.         {
  112.             alakzatellenorzes();
  113.         }
  114.         private void alakzatellenorzes()
  115.         {
  116.             bool rajzsorjo = true;
  117.             bool rajzoszlopjo = true;
  118.             bool alakzat = false;
  119.             bool szin = false;
  120.             int sor = 0;
  121.             int oszlop = 0;
  122.  
  123.             try { sor = Convert.ToInt32(poziciosor.Text.Trim()); }
  124.             catch { rajzsorjo = false; }
  125.             if (!((rajzsorjo) && ((sor >= 1) && (sor <= Convert.ToInt32(generalsor.Text))))) { rajzsorjo = false; }
  126.  
  127.             try {oszlop = Convert.ToInt32(poziciooszlop.Text.Trim());}
  128.             catch {rajzoszlopjo = false;}
  129.             if (!((rajzoszlopjo) && ((oszlop >= 1) && (oszlop <= Convert.ToInt32(generaloszlop.Text))))) { rajzoszlopjo = false; }
  130.  
  131.             if ((korvalaszt.Checked) || (negyzetvalaszt.Checked)) { alakzat = true; }
  132.  
  133.             if (szinvalaszt.SelectedIndex >= 0 && szinvalaszt.SelectedIndex <= 7) { szin = true; }
  134.            
  135.             //if (szin)
  136.             //{
  137.             //    MessageBox.Show("Jó a szín!!!!");
  138.             //}
  139.             //else { MessageBox.Show("Nem jó az indexes"); }
  140.             if (rajzsorjo && rajzoszlopjo && alakzat && szin)
  141.             {rajzolas.Enabled = true;} else { rajzolas.Enabled = false; }
  142.         }
  143.         private void rajzolas_Click(object sender, EventArgs e)
  144.         {
  145.             int sorszam = Convert.ToInt32(poziciosor.Text) - 1;
  146.             int oszlopszam = Convert.ToInt32(poziciooszlop.Text) - 1;
  147.             if (szinvalaszt.SelectedIndex <= 7 && szinvalaszt.SelectedIndex >= 0)
  148.             {
  149.                 if (szinek[szinvalaszt.SelectedIndex] == tabla[oszlopszam, sorszam].BackColor)
  150.                 {
  151.                     MessageBox.Show("A rajzolásra szánt alakzat, nem lehet azonos a mező színével!");
  152.                 }
  153.                 else
  154.                 {
  155.                     Bitmap rajzolni = new Bitmap(50, 50);
  156.                     tabla[oszlopszam, sorszam].Image = rajzolni;
  157.                     Graphics g;
  158.                     g = Graphics.FromImage(rajzolni);
  159.                     SolidBrush eszk = new SolidBrush(szinek[szinvalaszt.SelectedIndex]);
  160.                     if (negyzetvalaszt.Checked) g.FillRectangle(eszk, 10, 10, 40, 40);
  161.                     else g.FillEllipse(eszk, 10, 10, 40, 40);
  162.                     g.Dispose();
  163.                 }
  164.             }
  165.             else
  166.             {
  167.                 MessageBox.Show("Kérlek a listában megadott színek közül válassz!");
  168.             }
  169.         }
  170.         private void korvalaszt_CheckedChanged(object sender, EventArgs e)
  171.         {
  172.             alakzatellenorzes();
  173.         }
  174.         private void negyzetvalaszt_CheckedChanged(object sender, EventArgs e)
  175.         {
  176.             alakzatellenorzes();
  177.         }
  178.         private void poziciosor_TextChanged(object sender, EventArgs e)
  179.         {
  180.             alakzatellenorzes();
  181.         }
  182.         private void poziciooszlop_TextChanged(object sender, EventArgs e)
  183.         {
  184.             alakzatellenorzes();
  185.         }
  186.     }
  187. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top