Generator plansz za pomocą kwantowej w Game Maker piany
_x=room_width/32+1;//32 to wielkość splitu
_y=room_height/32+1;// najlepszy jest split o tej samej wysokości co szerokości
i=0;j=0;k=0;
for(j=1;j<=_y;j+=1)for(i=1;i<=_x;i+=1){
   c[j,i]=floor(random(2));//losowanie warunków początkowych
   ch[j,i]=1;
};
for(j=0;j<=_y;j+=1) c[j,_x+1]=0;
for(i=0;i<=_x;i+=1) c[_y+1,i]=0;
c[_y+1,_x+1]=0
for(k=0;k<16;k+=1){//dla mniejszej liczby iteracji krawędzie nie będą gładkie
   for(j=2;j<_y;j+=1)for(i=2;i<_x;i+=1) ch[j,i]=(c[j-1,i-1]+c[j-1,i]+c[j-1,i+1]+c[j,i-1]+c[j,i]+c[j,i+1]+c[j+1,i-1]+c[j+1,i]+c[j+1,i+1])div 5
   for(j=1;j<=_y;j+=1)for(i=1;i<=_x;i+=1) c[j,i]=ch[j,i];
};
for(j=1;j<=_y;j+=1)for(i=1;i<=_x;i+=1){
   sum=c[j-1,i-1]+c[j-1,i]+c[j-1,i+1]+c[j,i-1]+c[j,i]+c[j,i+1]+c[j+1,i-1]+c[j+1,i]+c[j+1,i+1]
   if(c[j,i]=1){
      n=instance_create(32*(i-1),32*(j-1),przeszkoda);
      n.image_index=sum div 7;
   }
};

Uwagi

  • skrypt wygeneruje plansze z tunelami, wyspami i pęcherzykami, plansza jest dla widoku z góry
  • w tej wersji skrypt działa dla przeszkody z splitem wyśrodkowanym
  • bohater powinien nie być szerszy od wielkości splitu przeszkody
  • przeszkoda dla image_index=0 powinna być niezniszczalna, a dla image_index=1 zniszczalna

Podobne strony

Podobne Strony
Table of Contents
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License