2d представление массива - PullRequest
2 голосов
/ 01 ноября 2010

Вопрос не связан с конкретным языком программирования, а скорее с минималистичным кодом и абстракцией.

У меня есть этот массив из 3 строк и 3 столбцов - представьте себе доску, на которой вы играете в крестики-нолики (или шутки и крестики).Телефон), значение 0 или 1 добавляется в массив (1 для X и 0 для O) в положении, соответствующем нажатой клавише (клавиша 9 является платой [2] [2]).

При создании GUI мне нужно отобразить координаты массива в пикселях, так что если: [0] [0] - 10,10 [0] [1] - 10,50 [0] [2] - 10,90 ... [2] [2] - 90,90

рисование будет происходить при обходе массива во вложенном цикле, но я застрял на том, как писать в наименьшем количестве строкукажите, насколько это возможно, отображение между 0 = 10, 1 = 50 и 2 = 90.

Одним из способов будет использование переключателя для каждого случая.Другой будет использовать если.

Есть ли другие идеи написать это в несколько возможных строк?

Спасибо!

Ответы [ 3 ]

1 голос
/ 01 ноября 2010
for(var i = 0; i < 3; i++) {
 for(var j = 0; j < 3; j++) {
  int xPos = i * 40 + 10;
  int yPos = j * 40 + 10;
  //set accordingly
 }
}
1 голос
/ 01 ноября 2010
for ( y = 0; y < 3; ++y )
{
    for ( x = 0; x < 3; ++x )
    {
        pos_x = x * 40 + 10;
        pos_y = y * 40 + 10;
        // Draw...
    }
}
0 голосов
/ 01 ноября 2010

Используйте значение индекса в качестве мультипликатора, то есть 90 = 2 * 40 + 10, 50 = 1 * 40 + 10

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