Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Принцип тетриса. (http://www.flasher.ru/forum/showthread.php?t=91612)

HarsH 04.02.2007 12:05

Принцип тетриса.
 
Здравствуйте.
Вот начал делать тетрис на флеше, но как дошел до самого главного, так чё то затормозил.
Подскажите, пожалуйста, как можно сделать массив из ячеек куда фигуры сыплются. :D
заранее спасибо. :victory:

Hina 06.02.2007 21:02

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

Я , когда писал тетрис во Flash, сделал так:
//Сразу оговорюсь - я сам новичок, но тетрис
//работает :D
Чтобы не парится с двумерным массивом, я взял одномерный:
//-------------------------------------------------------
//массив стакан с инициализацией
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

etc 06.02.2007 21:10

Hina, приведите свой код в надлежащий вид, оформив текст тегами code.

HarsH 05.09.2010 10:14

Спасибо!


Часовой пояс GMT +4, время: 18:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.