Autor Beitrag
mr.eddy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 23



BeitragVerfasst: Mo 14.01.08 18:57 
mein wohl erstes richtiges programm an dem ich hier hänge^^
es erstellt ein spielfeld auf dem nacheinander spieler 1 und 2 züge setzten können

das problem man kann die züge wirkürlich irgentwo auf dem feld setzten
wie es richtig sein sollte müsste ja jeder wissen ^^

ich hab daran gedacht eine for schleife welche von unten nach oben die felder überprüft einzufügen
doch weiß ich es noch nicht wirklich umzusetzten

mein prog bisher :
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
namespace viergewinntneu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        spielfeld myfeld = new spielfeld();
        int label_nr = 1;

        private void Form1_Load(object sender, EventArgs e)
        {
            {
                int x = 1;
                int y = 1;
                for (int i1 = 1; i1 < 8; i1++)
                {
                    for (int i2 = 1; i2 < 7; i2++)
                    {
                        Label mylabel = new Label();
                        mylabel.BackColor = Color.White;
                        mylabel.Size = new Size(2828);
                        mylabel.Location = new Point(x, y);
                        mylabel.Click += new EventHandler(labels_Click);
                        myfeld.Feld_status[i1, i2] = 1;
                        mylabel.Tag = label_nr;
                        myfeld.Feld_koor[i1, i2] = label_nr;
                        this.Controls.Add(mylabel);
                        label_nr++;
                        y = y + 30;
                    }
                    y = 1;
                    x = x + 30;
                }
            }
        }
        public void labels_Click(object sender, EventArgs e)
        {
            Label clickedLabel = (Label)sender;
            int x = 1;
            int y = 1;
            for (int i1 = 1; i1 < 8; i1++)
            {
                for (int i2 = 1; i2 < 7; i2++)
                {
                    if (myfeld.Feld_koor[i1, i2] == Convert.ToInt32(clickedLabel.Tag))
                    {
                        x = i1;
                        y = i2;
                    }
                }
            }
            switch (myfeld.spieler)
            {

                case 1:
                    if (myfeld.Feld_status[x, y] == 1)
                    {
                        clickedLabel.BackColor = Color.Red;
                        myfeld.Feld_status[x, y] = 2;
                        myfeld.spieler = 2;
                        label1.Text = Convert.ToString(myfeld.spieler);
                    }
                    break;
                case 2:
                    if (myfeld.Feld_status[x, y] == 1)
                    {
                        clickedLabel.BackColor = Color.Blue;
                        myfeld.Feld_status[x, y] = 3;
                        myfeld.spieler = 1;
                        label1.Text = Convert.ToString(myfeld.spieler);
                    }
                    break;
             }
        }
    }
}

und die klasse
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
    class spielfeld
    {
        public int[,] Feld_status = new int[87];
        public int[,] Feld_koor = new int[87];
        public int spieler = 1;
    }
mr.eddy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 23



BeitragVerfasst: Di 15.01.08 15:04 
hat sich erledigt