Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace ReversiRaiz
- {
- public partial class Form1 : Form
- {
- int zetten = 0;
- const int rijen = 6; //breedte
- const int kolommen = 6; //hoogte
- const int kleur = 3; //kleuren
- int[,,] bordstand = new int[kolommen, rijen, kleur];
- Rectangle[,] posities = new Rectangle[kolommen, rijen];
- public Form1()
- {
- InitializeComponent();
- panel1.Paint += TekenSteen;
- this.DoubleBuffered = true;
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- }
- private void panel1_Paint(object sender, PaintEventArgs e)
- {
- // tekent de kolommen
- for (int x = 0; x <= kolommen; x++)
- {
- e.Graphics.DrawLine(Pens.Gray, x * ((panel1.Width) / kolommen), 0, x * ((panel1.Width) / kolommen), panel1.Height);
- }
- // tekent de rijen
- for (int y = 0; y <= rijen; y++)
- {
- e.Graphics.DrawLine(Pens.Gray, 0, y * ((panel1.Height) / rijen), panel1.Width, y * ((panel1.Height) / rijen));
- }
- // zorgt ervoor dat de juiste stenen op het bord staan
- for (int x = 0; x < kolommen; x++)
- {
- for (int y = 0; y < rijen; y++)
- {
- int lenhoog = panel1.Height / kolommen;
- int lenbreedt = panel1.Width / rijen;
- posities[x, y] = new Rectangle(x * lenhoog, y * lenbreedt, lenhoog, lenbreedt);
- }
- }
- }
- public void TekenSteen(object o, PaintEventArgs e)
- {
- e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
- try
- {
- for (int x = 0; x < rijen; x++)
- {
- for (int y = 0; y < kolommen; y++)
- {
- if (!(bordstand[x, y, 1] == 0))
- {
- Brush kleur = GenereerKleur(bordstand[x, y, 1]);
- e.Graphics.FillEllipse(kleur, posities[x, y]);
- }
- }
- }
- }
- catch (Exception ex)
- {
- }
- }
- public void GetBoxClicked(int mouseX, int mouseY)
- {
- int stapX = panel1.Width / rijen;
- int stapY = panel1.Height / kolommen;
- int countX = 0;
- int countY = 0;
- for (int x = 0; x < mouseX; x += stapX)
- {
- countX++;
- }
- for (int y = 0; y < mouseY; y += stapY)
- {
- countY++;
- }
- countX -= 1;
- countY -= 1;
- bordstand[countX, countY, 1] = BepaalKleur();
- //boxcount++;
- }
- public Brush GenereerKleur(int nummer)
- {
- switch (nummer)
- {
- default:
- return Brushes.Blue;
- case 1:
- return Brushes.Blue;
- case 2:
- return Brushes.Red;
- }
- }
- public int BepaalKleur()
- {
- if (zetten == 0)
- {
- return 1;
- }
- if (zetten % 2 == 0)
- {
- //even
- return 1;
- }
- else
- return 2;
- }
- private void button1_Click(object sender, EventArgs e)
- {
- }
- private void panel1_MouseClick(object sender, MouseEventArgs e)
- {
- panel1.Invalidate();
- GetBoxClicked(e.X, e.Y);
- zetten++;
- //MessageBox.Show(box.x.ToString() + "; " + box.y.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement