Results 1 to 4 of 4

Thread: . C# GUI

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User kukov's Avatar
    Join Date: Feb:2007
    Location:
    Posts: 1,531

    . 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;
            }
        }
    }
    , . .
    Quote Originally Posted by Fear View Post
    Mo .jpeg/.avi , .

  2. #2
    Registered abUser ike's Avatar
    Join Date: Jul:2004
    Location: sofi
    Posts: 4,965
    / /Bitmap grid
    Have no fear ike iz here.
    CPU Cx486DLC@40MHz, RAM 4MB, VGA Trident 512KB, HDD Conner 160MB, Monitor 14" Color

  3. #3
    Registered User wp7guy's Avatar
    Join Date: Jan:2011
    Location: Sofia
    Posts: 1,264
    . , . 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.

  4. #4
    Registered User kukov's Avatar
    Join Date: Feb:2007
    Location:
    Posts: 1,531
    , . , , .
    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;
            }
    
        }
    }
    Quote Originally Posted by Fear View Post
    Mo .jpeg/.avi , .

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 . .
iskamPC.com | mobility.BG | Bloody's Techblog | | 3D Vision Blog |