Click here to Skip to main content
15,903,203 members
Home / Discussions / C#
   

C#

 
GeneralRe: create Timers dynamically Pin
musefan22-May-09 0:31
musefan22-May-09 0:31 
GeneralRe: create Timers dynamically Pin
DaveyM6922-May-09 0:43
professionalDaveyM6922-May-09 0:43 
GeneralRe: create Timers dynamically Pin
musefan22-May-09 0:46
musefan22-May-09 0:46 
AnswerRe: create Timers dynamically Pin
DaveyM6922-May-09 0:18
professionalDaveyM6922-May-09 0:18 
GeneralRe: create Timers dynamically Pin
Member 305788722-May-09 4:47
Member 305788722-May-09 4:47 
GeneralRe: create Timers dynamically Pin
DaveyM6922-May-09 6:23
professionalDaveyM6922-May-09 6:23 
GeneralRe: create Timers dynamically Pin
mell mell28-Dec-18 6:24
mell mell28-Dec-18 6:24 
Questioni cant get a class i made- description inside- win app Pin
dinbrca3521-May-09 23:35
dinbrca3521-May-09 23:35 
i have a form:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Din_Checkers
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public Board gameBoard { get; set; }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = "Dins Checkers";
            this.Width = 600;
            this.Height = 600;
            gameBoard = new Board();
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    this.Controls.Add(gameBoard.checkers_board[i, j].checkerCell);
                }
            }
            this.Controls.Add(gameBoard.score);
        }
    }
}

as you can see i have created new Board instance

the Board class is:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Din_Checkers
{
    public class Board
    {
        public const int x_bounds = 8;
        public const int y_bounds = 8;
        public CheckerCell[,] checkers_board { get; set; }
        public Label score = new Label();
        public ImageList imageList1 = new ImageList();
        public int goldEaten = 0;
        public int silverEaten = 0;
        public Image loadGold;
        public Image loadSilver;

        public Board()
        {
            checkers_board = new CheckerCell[x_bounds, y_bounds];
            imageList1.Images.Add(Image.FromFile("Images\\silver.jpg"));
            imageList1.Images.Add(Image.FromFile("Images\\gold.jpg"));
            loadSilver = imageList1.Images[0];
            loadGold = imageList1.Images[1];

            for (int i = 0; i < checkers_board.GetLength(0); i++)
            {
                for (int j = 0; j < checkers_board.GetLength(1); j++)
                {
                    checkers_board[i, j] = new CheckerCell();
                    if (i < 3)
                    {
                        if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
                        {
                            checkers_board[i, j].checkerCell.BackgroundImage = loadSilver;
                        }
                    }
                    else if (i > 4)
                    {
                        if (((i + j) % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
                        {
                            checkers_board[i, j].checkerCell.BackgroundImage = loadGold;
                        }
                    }
                    checkers_board[i, j].checkerCell.BorderStyle = BorderStyle.Fixed3D;
                    if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
                    {
                        checkers_board[i, j].checkerCell.BackColor = Color.White;
                    }
                    if (checkers_board[i, j].checkerCell.BackColor != Color.White)
                    {
                        checkers_board[i, j].checkerCell.BackColor = Color.Black;
                    }
                    checkers_board[i, j].checkerCell.Top = 30 + 55 * i;
                    checkers_board[i, j].checkerCell.Width = 61;
                    checkers_board[i, j].checkerCell.Height = 53;
                    checkers_board[i, j].checkerCell.Left = 30 + 65 * j;
                }
            }

            score.Top = 510;
            score.Left = 250;
            score.Width = 500;

            for (int i = 0; i < checkers_board.GetLength(0); i++)
            {
                for (int j = 0; j < checkers_board.GetLength(1); j++)
                {
                    checkers_board[i, j].checkerCell.Click += new EventHandler(checkers_board[i, j].ChooseEvent_Click);
                }
            }
        }

        public void DrawScore()
        {
            score.Text = "תוצאה: זהובים אכולים- " + goldEaten.ToString() + " כסופים אכולים- " + silverEaten.ToString();
        }
    }
}


and i have another class (that is used in Board class)- the CheckerCell class:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Din_Checkers
{
    public class CheckerCell
    {
        public PictureBox checkerCell { get; set; }
        public int x = 0;
        public int y = 0;

        public CheckerCell()
        {
            checkerCell = new PictureBox();
        }

        public static void ChooseEvent_Click(object sender, EventArgs e)
        {
            string eventChoose = "";
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    if (eventChoose == "")
                    {
                        if (Form.//Form1.gameBoard.checkers_board[i, j].BackColor == Color.White)
                        {
                            eventChoose = "Handle_Board";
                        }
                    }
                    if (checkers_board[i, j].BackColor == Color.Green)
                    {
                        eventChoose = "move";
                    }
                }
            }
            if (eventChoose == "move")
            {
                MoveChecker_Click(sender, e);
            }
            else
            {
                HandleBoard_Click(sender, e);
            }
        }

        public void HandleBoard_Click(object sender, EventArgs e)
        {
            //אתחול המערך של צבעי הפקדים )למקרה שהייתה לחיצה קודמת על פקד picturebox)
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
                    {
                        checkers_board[i, j].BackColor = Color.White;
                    }
                    if (checkers_board[i, j].BackColor != Color.White)
                    {
                        checkers_board[i, j].BackColor = Color.Black;
                    }
                }
            }

            //אימות של איזה מהפקדים במערך checkers_board דומה בתכונותיו לאובייקט sender שהוא אובייקט שהמרתי לפקד picturebox
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    if (checkers_board[i, j] == ((PictureBox)sender))
                    {
                        x = i;
                        y = j;
                    }
                }
            }
            score.Text = x.ToString() + " " + y.ToString() + "fun0"; //הצגה של מיקום הפקד במערך הפקדים

            //בדיקה האם זה לא השכנים של x ו y לא יוצאים מהמערך
            int start_x = x - 1, start_y = y - 1, end_x = x + 1, end_y = y + 1;
            if (start_x < 0)
            {
                start_x = 0;
            }
            if (start_y < 0)
            {
                start_y = 0;
            }
            if (end_x > Board.x_bounds - 1)
            {
                end_x = Board.x_bounds - 1;
            }
            if (end_y > Board.y_bounds - 1)
            {
                end_y = Board.y_bounds - 1;
            }
            for (int i = start_x; i <= end_x; i++)
            {
                for (int j = start_y; j <= end_y; j++)
                {
                    if (checkers_board[i, j].BackColor == Color.White && checkers_board[x, y].BackgroundImage != null && checkers_board[i, j].BackgroundImage != loadGold && checkers_board[i, j].BackgroundImage != loadSilver)
                    {
                        checkers_board[i, j].BackColor = Color.Green;
                    }
                }
            }
        }

        public void MoveChecker_Click(object sender, EventArgs e)
        {
            //אימות של איזה מהפקדים במערך checkers_board דומה בתכונותיו לאובייקט sender שהוא אובייקט שהמרתי לפקד picturebox
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    if (checkers_board[i, j] == ((PictureBox)sender))
                    {
                        x = i;
                        y = j;
                    }
                }
            }

            score.Text = x.ToString() + " " + y.ToString() + "func";
            checkers_board[x, y].BackColor = Color.White;
            checkers_board[x + 1, y - 1].BackColor = Color.White;
            checkers_board[x - 1, y - 1].BackgroundImage = null;
            checkers_board[x, y].BackgroundImage = loadSilver;
            //checkers_board[3, 3].BackgroundImage = Image.FromFile("Images\\silver.jpg");
            //checkers_value[x, y] = "silver-reg";
            //checkers_value[x - 1, y - 1] = "none";
            for (int i = 0; i < Board.x_bounds; i++)
            {
                for (int j = 0; j < Board.y_bounds; j++)
                {
                    if (checkers_board[i, j].BackColor == Color.Green)
                    {
                        checkers_board[i, j].BackColor = Color.White;
                    }
                }
            }
        }

        public void EatChecker()
        {
        }
    }
}


what i want is that CheckerCell Class will be able to access the:
Form1.gameBoard.checkers_board array and i cant success to do it

thanks for the helpers and sorry for my bad english
AnswerRe: i cant get a class i made- description inside- win app Pin
musefan21-May-09 23:58
musefan21-May-09 23:58 
Questiondatagridview column Pin
michaelgr121-May-09 23:28
michaelgr121-May-09 23:28 
AnswerRe: datagridview column Pin
Mycroft Holmes21-May-09 23:48
professionalMycroft Holmes21-May-09 23:48 
GeneralRe: datagridview column Pin
michaelgr122-May-09 1:42
michaelgr122-May-09 1:42 
GeneralRe: datagridview column Pin
Mycroft Holmes22-May-09 2:45
professionalMycroft Holmes22-May-09 2:45 
QuestionSecurity "string" encrypt Pin
evangile21-May-09 22:56
evangile21-May-09 22:56 
AnswerRe: Security "string" encrypt Pin
musefan21-May-09 23:08
musefan21-May-09 23:08 
GeneralRe: Security "string" encrypt Pin
evangile21-May-09 23:14
evangile21-May-09 23:14 
GeneralRe: Security "string" encrypt Pin
DaveyM6921-May-09 23:17
professionalDaveyM6921-May-09 23:17 
GeneralRe: Security "string" encrypt Pin
evangile21-May-09 23:23
evangile21-May-09 23:23 
GeneralRe: Security "string" encrypt Pin
DaveyM6921-May-09 23:37
professionalDaveyM6921-May-09 23:37 
GeneralRe: Security "string" encrypt Pin
musefan21-May-09 23:25
musefan21-May-09 23:25 
GeneralRe: Security "string" encrypt Pin
evangile21-May-09 23:53
evangile21-May-09 23:53 
GeneralRe: Security "string" encrypt Pin
DaveyM6922-May-09 0:10
professionalDaveyM6922-May-09 0:10 
AnswerRe: Security "string" encrypt Pin
Ennis Ray Lynch, Jr.22-May-09 2:31
Ennis Ray Lynch, Jr.22-May-09 2:31 
GeneralDynamic returns Pin
sanke_s21-May-09 22:48
sanke_s21-May-09 22:48 
GeneralRe: Dynamic returns Pin
musefan21-May-09 22:56
musefan21-May-09 22:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.