Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.79 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 ReversiRaiz
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         public struct Box
  16.         {
  17.             public int x;
  18.             public int y;
  19.         }
  20.         Box box = new Box();
  21.  
  22.         public int mouseX = 0;
  23.         public int mouseY = 0;
  24.  
  25.         const int rijen = 6; //breedte
  26.         const int kolommen = 6; //hoogte
  27.         int[,] bordstand = new int[rijen, kolommen];
  28.         Rectangle[,] posities = new Rectangle[6, 6];
  29.  
  30.         public Form1()
  31.         {
  32.             InitializeComponent();
  33.             this.Paint += this.TekenSteen;
  34.         }
  35.  
  36.         private void Form1_Load(object sender, EventArgs e)
  37.         {
  38.             for (int x = 0; x < rijen; x++)
  39.             {
  40.                 for (int y = 0; y < kolommen; y++)
  41.                 {
  42.                     bordstand[x, y] = 0;
  43.                 }
  44.             }
  45.         }
  46.  
  47.         private void panel1_Paint(object sender, PaintEventArgs e)
  48.         {
  49.             // tekent de kolommen
  50.             for (int x = 0; x <= kolommen; x++)
  51.             {
  52.                 e.Graphics.DrawLine(Pens.Gray, x * ((panel1.Width) / kolommen), 0, x * ((panel1.Width) / kolommen), panel1.Height);
  53.             }
  54.  
  55.             // tekent de rijen
  56.             for (int y = 0; y <= rijen; y++)
  57.             {
  58.                 e.Graphics.DrawLine(Pens.Gray, 0, y * ((panel1.Height) / rijen), panel1.Width, y * ((panel1.Height) / rijen));
  59.             }
  60.  
  61.             // zorgt ervoor dat de juiste stenen op het bord staan
  62.             for (int x = 0; x < rijen; x++)
  63.             {
  64.                 for (int y = 0; y < kolommen; y++)
  65.                 {
  66.                     int lenhoog = panel1.Height / kolommen;
  67.                     int lenbreedt = panel1.Width / rijen;
  68.                     posities[x, y] = new Rectangle(x * lenhoog, y * lenbreedt, lenhoog, lenbreedt);                      
  69.                 }
  70.             }
  71.         }
  72.  
  73.         public void TekenSteen(object ob, PaintEventArgs e)
  74.         {
  75.             //switch (bordstand[box.x, box.y])
  76.             //{
  77.             //    default:
  78.             //        e.Graphics.FillEllipse(Brushes.Yellow, posities[box.x, box.y]);
  79.             //        break;
  80.             //    case 1:
  81.             //        e.Graphics.FillEllipse(Brushes.Red, posities[box.x, box.y]);
  82.             //        break;
  83.             //    case 2:
  84.             //        e.Graphics.FillEllipse(Brushes.Blue, posities[box.x, box.y]);
  85.             //        break;
  86.             //}
  87.             //e.Graphics.FillEllipse(Brushes.Yellow, posities[box.x, box.y]);
  88.             e.Graphics.FillEllipse(Brushes.Black, posities[box.x, box.y]);
  89.  
  90.         }
  91.  
  92.         public Box GetBoxClicked(int mouseX, int mouseY)
  93.         {
  94.             Box retval = new Box();
  95.             int stapX = panel1.Width / rijen;
  96.             int stapY = panel1.Height / kolommen;
  97.             int countX = 0;
  98.             int countY = 0;
  99.  
  100.             for(int x = 0; x < mouseX; x += stapX)
  101.             {
  102.                 countX++;
  103.             }
  104.  
  105.             for (int y = 0; y < mouseY; y += stapY)
  106.             {
  107.                 countY++;
  108.             }
  109.             retval.x = countX;
  110.             retval.y = countY;
  111.             return retval;
  112.         }
  113.  
  114.         private void button1_Click(object sender, EventArgs e)
  115.         {
  116.         }
  117.  
  118.         private void panel1_MouseClick(object sender, MouseEventArgs e)
  119.         {
  120.             mouseX = e.X;
  121.             mouseY = e.Y;
  122.             box = GetBoxClicked(mouseX, mouseY);
  123.             MessageBox.Show(box.x.ToString() + ", " + box.y.ToString());
  124.         }
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement