Results 1 to 4 of 4
Thread: . C# GUI
Hybrid View
-
3rd November 2013 23:25 #1
. C# GUI
.
. , . . , . , - -, ( ). 2 3, . - 2 4, . , , . , , . :
, . .Code:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication5 { public partial class Form1 : Form { public Bitmap grid = new Bitmap(100, 100); public Form1() { InitializeComponent(); //acorn starting possition // 0100000 // 0001000 // 1100111 grid.SetPixel(50, 50, Color.Black); grid.SetPixel(48, 49, Color.Black); grid.SetPixel(47, 51, Color.Black); grid.SetPixel(48, 51, Color.Black); grid.SetPixel(51, 51, Color.Black); grid.SetPixel(52, 51, Color.Black); grid.SetPixel(53, 51, Color.Black); } private void Form1_Load(object sender, EventArgs e) { this.Paint += Form1_Paint; } void Form1_Paint(object sender, PaintEventArgs e) { //number of generations for (int k = 0; k < 3; k++) { for (int x = 0; x <= grid.Width - 1; x++) { for (int y = 0; y <= grid.Height - 1; y++) { if (nextState(grid, x, y) == 2 || nextState(grid, x, y) == 3) { grid.SetPixel(x, y, Color.Black); } if (nextState(grid, x, y) < 2) { grid.SetPixel(x, y, Color.White); } if (nextState(grid, x, y) > 4) { grid.SetPixel(x, y, Color.White); } } } e.Graphics.DrawImage(grid, 0, 0, grid.Width, grid.Height); } } public int nextState(Bitmap grid, int x, int y) { int numNeigh = 0; //check for x-1 and y-1 if (x > 0 && y > 0) { Color pixColor = grid.GetPixel(x - 1, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x and y-1 if (y > 0) { Color pixColor = grid.GetPixel(x, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y-1 if (x < grid.Width - 1 && y > 0) { Color pixColor = grid.GetPixel(x + 1, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x-1 and y if (x > 0) { Color pixColor = grid.GetPixel(x - 1, y); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y if (x < grid.Width - 1) { Color pixColor = grid.GetPixel(x + 1, y); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } // check for x-1 and y+1 if (x > 0 && y < grid.Height - 1) { Color pixColor = grid.GetPixel(x - 1, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x and y+1 if (y < grid.Height - 1) { Color pixColor = grid.GetPixel(x, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y+1 if (x < grid.Width - 1 && y < grid.Height - 1) { Color pixColor = grid.GetPixel(x + 1, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } return numNeigh; } } }
-
4th November 2013 00:45 #2
/ /Bitmap grid
Have no fear ike iz here.
CPU Cx486DLC@40MHz, RAM 4MB, VGA Trident 512KB, HDD Conner 160MB, Monitor 14" Color
-
4th November 2013 10:30 #3
. , . console, win web .
Edit: Bitmap-a int ( -), 0 1 debug- , ."The only way to discover the limits of the possible is to go beyond them into the impossible." - Arthur C. Clarke's second low.
-
4th November 2013 14:30 #4
, . , , .
Code:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication5 { public partial class Form1 : Form { public Bitmap grid = new Bitmap(100, 100); public Bitmap newGrid = new Bitmap(100, 100); public int generations = 0; public Form1() { InitializeComponent(); //acorn starting possition // 0100000 // 0001000 // 1100111 grid.SetPixel(50, 50, Color.Black); grid.SetPixel(48, 49, Color.Black); grid.SetPixel(47, 51, Color.Black); grid.SetPixel(48, 51, Color.Black); grid.SetPixel(51, 51, Color.Black); grid.SetPixel(52, 51, Color.Black); grid.SetPixel(53, 51, Color.Black); } private void Form1_Load(object sender, EventArgs e) { this.Paint += Form1_Paint; } void Form1_Paint(object sender, PaintEventArgs e) { //number of generations for (int k = 0; k < 10; k++) { for (int x = 0; x <= grid.Width - 1; x++) { for (int y = 0; y <= grid.Height - 1; y++) { if (nextState(grid, x, y) == 3 || nextState(grid, x, y) == 2) { newGrid.SetPixel(x, y, Color.Black); } if (nextState(grid, x, y) > 4) { newGrid.SetPixel(x, y, Color.White); } if (nextState(grid, x, y) < 2) { newGrid.SetPixel(x, y, Color.White); } } } e.Graphics.DrawImage(newGrid, 0, 0, grid.Width, grid.Height); grid = new Bitmap(newGrid); } } public int nextState(Bitmap grid, int x, int y) { int numNeigh = 0; //check for x-1 and y-1 if (x > 0 && y > 0) { Color pixColor = grid.GetPixel(x - 1, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x and y-1 if (y > 0) { Color pixColor = grid.GetPixel(x, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y-1 if (x < grid.Width - 1 && y > 0) { Color pixColor = grid.GetPixel(x + 1, y - 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x-1 and y if (x > 0) { Color pixColor = grid.GetPixel(x - 1, y); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y if (x < grid.Width - 1) { Color pixColor = grid.GetPixel(x + 1, y); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } // check for x-1 and y+1 if (x > 0 && y < grid.Height - 1) { Color pixColor = grid.GetPixel(x - 1, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x and y+1 if (y < grid.Height - 1) { Color pixColor = grid.GetPixel(x, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } //check for x+1 and y+1 if (x < grid.Width - 1 && y < grid.Height - 1) { Color pixColor = grid.GetPixel(x + 1, y + 1); if (pixColor.ToArgb() == Color.Black.ToArgb()) { numNeigh++; } } return numNeigh; } } }






Reply With Quote
Lenovo ThinkPad 15 IdeaPad 15
5th May 2023, 22:16 in