Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.02.2007, 12:05
HarsH вне форума Посмотреть профиль Отправить личное сообщение для HarsH Посетить домашнюю страницу HarsH Найти все сообщения от HarsH
  № 1  
Ответить с цитированием
HarsH
 
Аватар для HarsH

Регистрация: Nov 2006
Сообщений: 46
Отправить сообщение для HarsH с помощью ICQ
Question Принцип тетриса.

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

Старый 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

Старый 06.02.2007, 21:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Hina, приведите свой код в надлежащий вид, оформив текст тегами code.

Старый 05.09.2010, 10:14
HarsH вне форума Посмотреть профиль Отправить личное сообщение для HarsH Посетить домашнюю страницу HarsH Найти все сообщения от HarsH
  № 4  
Ответить с цитированием
HarsH
 
Аватар для HarsH

Регистрация: Nov 2006
Сообщений: 46
Отправить сообщение для HarsH с помощью ICQ
Спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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