Показать сообщение отдельно
Старый 06.02.2007, 21:02
Hina вне форума Посмотреть профиль Отправить личное сообщение для Hina Найти все сообщения от Hina
  № 2  
Ответить с цитированием
Hina

Регистрация: Feb 2007
Сообщений: 29
По умолчанию Чё - то я не понял

Сложность в том, чтобы определить двумерный массив, или в том как связать его с ячейками "стакана" в который будут падать фигуры?

Я , когда писал тетрис во Flash, сделал так:
//Сразу оговорюсь - я сам новичок, но тетрис
//работает
Чтобы не парится с двумерным массивом, я взял одномерный:
//-------------------------------------------------------
//массив стакан с инициализацией
STAKAN_WIDTH = 19; //В стакане в ширину поместятся 19 кирпичей
STAKAN_HEIGHT = 25;
stage = 0; //Уровень
Stakan = Array(475);
for (var y = 0; y < 475;y++)
Stakan[y] = 0;
//----------------------------------------------------------
Потом определил функцию, позволяющую работать с ним
как с 2 - мерным:
//----------------------------------------------------------
//----------Функция для преобразования адреса [i,j] ячейки стакана
// в адрес массива Stakan.
// Если с отрицательное число, возвратит содержимое
// элемента двумерного массива Stakan[a,b] (который на самом деле одномерный)
// если с >= 0 запишет с в Stakan[a,b]? вернёт -1
function stakan(a, b, c) //Традиционо - a строка, b - столбец, а вот с - content
{
if (c >= 0){
Stakan[(a * STAKAN_WIDTH) + b] = c;
return(-10);}
else return Stakan[(a * STAKAN_WIDTH) + b];
}
//--------------------------------------------------------------
(под content понимаю содержимое ячейки - если 1 значит там уже есть кирпич)
Надеюсь помог. если интетесует полный исходник тетриса, пиши на ctpro@pochta.ru или на StrangerA@mail.ru