Windows form app игра в шахматы - PullRequest
       1

Windows form app игра в шахматы

0 голосов
/ 24 декабря 2010

Я пытаюсь создать шахматную игру для приложения Windows. И я создал шахматный стол и положил картинки с шахматными фигурами на шахматную доску. Но я не двигал фигуры.Я написал следующий код:

//the creation of the chess board

this.ClientSize = new System.Drawing.Size(600, 600);

        for (int i = 0; i < 8; i++)
        {
            for (int j = 0; j < 8; j++)
            {
                satranctahtasi[i, j] = new Kareler(i,j);
                this.Controls.Add(satranctahtasi[i, j]);            
            }
        }
        for (int j = 0; j < 8; j++)
        {
            int i = 1;
            satranctahtasi[i, j].Image = TasResimleri.er_beyaz;

        }
        for (int j = 0; j < 8; j++)
        {
            int i = 6;
            satranctahtasi[i, j].Image = TasResimleri.er_siyah;

        }
        satranctahtasi[0, 1].Image = TasResimleri.at_beyaz;
        satranctahtasi[0, 6].Image = TasResimleri.at_beyaz;

        satranctahtasi[7, 1].Image = TasResimleri.at_siyah;
        satranctahtasi[7, 6].Image = TasResimleri.at_siyah;

        satranctahtasi[0, 0].Image = TasResimleri.kale_beyaz;
        satranctahtasi[0, 7].Image = TasResimleri.kale_beyaz;

        satranctahtasi[7, 0].Image = TasResimleri.kale_siyah;
        satranctahtasi[7, 7].Image = TasResimleri.kale_siyah;

        satranctahtasi[0, 2].Image = TasResimleri.fil_beyaz;
        satranctahtasi[0, 5].Image = TasResimleri.fil_beyaz;

        satranctahtasi[7, 2].Image = TasResimleri.fil_beyaz;
        satranctahtasi[7, 5].Image = TasResimleri.fil_beyaz;

        satranctahtasi[0, 3].Image = TasResimleri.sah_beyaz;
        satranctahtasi[7, 3].Image = TasResimleri.sah_siyah;

        satranctahtasi[0, 4].Image = TasResimleri.vezir_beyaz;
        satranctahtasi[7, 4].Image = TasResimleri.vezir_siyah;

как переместить шахматные фигуры?Пожалуйста, помогите мне

Ответы [ 2 ]

2 голосов
/ 24 декабря 2010

Прежде всего попробуйте создать Объекты, каждый из которых рисует себя на доске,

Создать классную доску, рисунок и т. Д. ... после этого будет легко делать движения с реальными объектами, такими как это например, также вы можете использовать Drag And Drop

1 голос
/ 25 декабря 2010

Если вы хотите иметь возможность перемещаться в двумерном массиве, вы должны понимать это:

   /* increase point by one (moving) */
   ++X; //right
   --X; //left
   --Y; //up 
   ++Y; //down


 y ^
   |
   |       ++/down
   |  --/left  ++/right
   |       --/up
---|----------------->
   |0                x

Здесь одна координационная точка остается неизменной, в то время как другая увеличивается / уменьшается в этомcase by one.

Первоначально, когда вы рисуете 2D-массив, вы начинаете с 0 (y), 0 (x), а затем увеличиваете значения в цикле.В этом случае у вас есть шахматная доска 7x7 (фактически 8x8 - вы начинаете с 0x0).

Назначьте позицию своей фигуре, изменив ее координационную точку в массиве.

   satranctahtasi[y, ++x].Image = TasResimleri.[whatever_piece]; //right
   satranctahtasi[y, --x].Image = TasResimleri.[whatever_piece]; //left
   satranctahtasi[--y, x].Image = TasResimleri.[whatever_piece]; //up
   satranctahtasi[++y, x].Image = TasResimleri.[whatever_piece]; //down

ДляНапример, если вы хотите, чтобы ваша пешка переместилась на одно место из положения 0,3 в положение 1,3 (вниз), вы увеличиваете значение переменной i и оставляете значение переменной j таким же.

  satranctahtasi[++i, j].Image = TasResimleri.er_beyaz; //down

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...