Просмотр полной версии : Клеточный автомат
Altera Pars
02.04.2009, 23:29
Здравствуйте, уважаемые флешеры. У меня к вам просьба. Помогите пожалуйста реализовать механизм работы игры "Жизнь". Есть исходник, но в нем как раз нет это механизма, ибо не знаю я как его написать. Помогите, пожалуйста.
Stargazer
02.04.2009, 23:40
Чего именно вы не знаете?
Если знаете, что такое for и что такое a[i][j] - то сможете написать.
Altera Pars
03.04.2009, 07:52
Я не могу разобраться с тем, как сделать саму жизнь.
То есть у меня есть два массива, один для клипов, другой для значений true и false.
Все прекрасно работает, если вводить данные в коде, а по нажатию на квадратик сам ничего не получается:( :(
Altera Pars
03.04.2009, 09:01
Cells=new Array(24);
Curr=new Array(24);
function UpdateCells(){
for (i=1; i<=23; i++){
for (j=1; j<=23; j++){
if (not Curr[i][j]){
Cells[i][j].gotoAndStop(2);
}
else{
Cells[i][j].gotoAndStop(1);
}
};
};
};
function TorIt(x, y)
{
if (x==0) {x=23};
if (x==24) {x=1};
if (y==0) {y=23};
if (y==24) {y=1};
return Curr[x][y];
};
mov0.GotoAndStop(1);
for (i=1; i<=23; i++){
Cells[i]=new Array(24);
Curr[i]=new Array(24);
for (j=1; j<=23; j++){
mov0.duplicateMovieClip("mov"+i+"-"+j, i*23+j);
Cells[i][j]=eval("mov"+i+"-"+j);
Cells[i][j]._x=mov0._x+(mov0._width+1)*(i-1);
Cells[i][j]._y=mov0._y+(mov0._height+1)*(j-1);
Curr[i][j]=false;
};
};
Curr[12][10]=true;
Curr[11][11]=true;
Curr[13][11]=true;
Curr[12][12]=true;
Curr[11][13]=true;
Curr[13][13]=true;
Curr[12][14]=true;
UpdateCells();
btn.onRelease = function()
{
//_root.onEnterFrame = function()
//{
ANew=new Array(24);
for (i=1; i<=23; i++){
ANew[i]=new Array(24);
for (j=1; j<=23; j++){
// tor by x
if (i-1==0)
{il=23}
else
{il=i-1}
if (i+1==24)
{ir=0}
else
{ir=i+1}
// tor by y
if (j-1==0)
{jl=23}
else
{jl=j-1}
if (j+1==24)
{jr=0}
else
{jr=j+1}
ANew[i][j]=Curr[il][jl]^
Curr[il][j ]^
Curr[il][jr]^
Curr[i ][jl]^
Curr[i ][j ]^
Curr[i ][jr]^
Curr[ir][jl]^
Curr[ir][j ]^
Curr[ir][jr];
if (not ANew[i][j]){
Cells[i][j].gotoAndStop(2);
}
else{
Cells[i][j].gotoAndStop(1);
}
};
};
_root.Curr=ANew;
// updateCells();
//}
}
Проблема в том, что во второй, в массиве Cells хранятся имена клипов-клеток, а в Curr - значения true и false. Задача тут стоит в том, чтобы по нажатию на любую из Cells в соответствующую Curr добавлялось true.
Добавлено через 57 часов 36 минут
Ауу... ну хоть кто-нибудь, отзовитесь...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.