From 00913fccb425bd62e017760752c4c5cac133764d Mon Sep 17 00:00:00 2001 From: eriiiiiic Date: Mon, 23 Apr 2012 19:18:28 -0500 Subject: [PATCH] Again --- new_project/Makefile | 4 + new_project/main.c | 252 +++++++++++++++++++++++++++++++++++++++++ new_project/main.h | 32 ++++++ new_project/mapa.h | 25 ++++ new_project/maze.c | 166 +++++++++++++++++++++++++++ new_project/maze.h | 128 +++++++++++++++++++++ new_project/muamua | Bin 0 -> 14436 bytes new_project/spider1.png | Bin 0 -> 1964 bytes new_project/spider2.png | Bin 0 -> 1953 bytes new_project/spider3.png | Bin 0 -> 1968 bytes new_project/spidertemplate.svg | 105 +++++++++++++++++ new_project/thespider.png | Bin 0 -> 3969 bytes new_project/tiles.png | Bin 0 -> 197 bytes 13 files changed, 712 insertions(+) create mode 100644 new_project/Makefile create mode 100644 new_project/main.c create mode 100644 new_project/main.h create mode 100644 new_project/mapa.h create mode 100755 new_project/maze.c create mode 100644 new_project/maze.h create mode 100755 new_project/muamua create mode 100644 new_project/spider1.png create mode 100644 new_project/spider2.png create mode 100644 new_project/spider3.png create mode 100644 new_project/spidertemplate.svg create mode 100644 new_project/thespider.png create mode 100644 new_project/tiles.png diff --git a/new_project/Makefile b/new_project/Makefile new file mode 100644 index 0000000..560dbcd --- /dev/null +++ b/new_project/Makefile @@ -0,0 +1,4 @@ +CC = gcc + +all: + $(CC) main.c `sdl-config --libs` -lSDL_image -o muamua diff --git a/new_project/main.c b/new_project/main.c new file mode 100644 index 0000000..b7925f9 --- /dev/null +++ b/new_project/main.c @@ -0,0 +1,252 @@ +#include "main.h" +#include "maze.h" +int hlvl[20][20] = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; + + int CurrentFrame = 0; + int MaxFrames = 4; + int FrameInc = 1; + + int FrameRate = 100; //Milliseconds + int OldTime = 0; + + int Oscillate = 1; +void animacion(); + +SDL_Surface *player; + +int main (int argc, char *argv[]) { + + /*Inicializa SDL*/ + if (SDL_Init (SDL_INIT_VIDEO) < 0) { + printf ("SDL_INIT ha fallado\n"); + exit (1); + } + + atexit (SDL_Quit); + + /*Usamos HW si disponible, double buffering, y pantalla completa*/ + pantalla = SDL_SetVideoMode ( 1200, 800, 16, SDL_SWSURFACE | SDL_DOUBLEBUF ); + + if (pantalla == NULL) { + printf ("Modo de video erroneo\n"); + exit (1); + } + + /*Usaremos nuestro propio cursor*/ + SDL_ShowCursor (SDL_DISABLE); + + if (!iniciar()) { + printf ("Error de inicializacion\n"); + exit (1); + } + + init_arrays(); + createMaze(0, 0); + drawMaze(); + printMaze(); + + + /*Bucle principal*/ + + while (1) { + + + /*Dibujamos*/ + dibujar (); + + + /*Control de eventos SDL*/ + + SDL_Event ev; + + while (SDL_PollEvent (&ev)) { + + switch (ev.type) { + /*Pulsacion del teclado*/ + case SDL_KEYDOWN: + if (ev.key.keysym.sym == SDLK_ESCAPE) { + limpiar(); + return 0; + } + break; + + /*Fin del programa*/ + case SDL_QUIT: + limpiar(); + return 0; + break; + + } + } + + } + + + return 0; +} + + +/*Inicializa lo que haga falta y carga las superficies*/ +int iniciar () { + + /*Definimos el clipper*/ + + SDL_SetClipRect (pantalla, NULL); + + /*Cargamos los tiles*/ + tiles = IMG_Load( "tiles.png" ); + player = IMG_Load( "thespider.png" ); + + if (tiles == NULL) + return 0; + + SDL_SetColorKey (tiles, SDL_SRCCOLORKEY, 0); + + + /*Calculamos el total de tiles*/ + nTilesX = tiles->w / TILE_ANCHO; + nTilesY = tiles->h / TILE_ALTO; + + return 1; +} + + +/*Limpia la memoria*/ +void limpiar () { + + printf ("Limpiando...\n"); + + if (tiles != NULL) { + SDL_FreeSurface (tiles); + tiles = NULL; + } + +} + + +/*Dibuja el mapa y el cursor*/ +void dibujar () { + + /*Limpia la pantalla*/ + SDL_FillRect (pantalla, NULL, 0); + + hardcodelvl(); + /*dibujarMapa();*/ + drawPlayer(); + /*Intercambia los buffers*/ + SDL_Flip (pantalla); + +} + + +/*Dibuja los tiles del mapa*/ +void dibujarMapa () { + + int x, y; /*Casilla del mapa*/ + int px, py; /*Coordenadas en pantalla*/ + + + /*Por cada casilla del mapa*/ + for (x = 0; x < mazeRow; x++) { + for (y = 0; y < mazeCol; y++) { + + /*Calculamos las coordenadas de pantalla a partir de las de la casilla*/ + /*y el desplazamiento de la camara (scrollX, scrollY)*/ + px = x*TILE_ANCHO; + py = y*TILE_ALTO; + + /*Dibuja el tile en la pantalla*/ + blitTile (pantalla, px, py, mazeDraw[x][y]); + + } + } +} + + +/*Dibuja un tile en la posicion (x, y)*/ +void blitTile (SDL_Surface *dest, int x, int y, int nTile) { + + if (nTile >= nTilesX * nTilesY) return; + + + SDL_Rect srcRect, destRect; + destRect.x = x; destRect.y = y; + + srcRect.x = (nTile % nTilesX) * TILE_ANCHO; + srcRect.y = (nTile / nTilesX) * TILE_ALTO; + srcRect.w = TILE_ANCHO; srcRect.h = TILE_ALTO; + + SDL_BlitSurface (tiles, &srcRect, dest, &destRect); + +} + +void hardcodelvl() { + int x, y; /*Casilla del mapa*/ + int px, py; /*Coordenadas en pantalla*/ + + + /*Por cada casilla del mapa*/ + for (x = 0; x < 20; x++) { + for (y = 0; y < 20; y++) { + + /*Calculamos las coordenadas de pantalla a partir de las de la casilla*/ + /*y el desplazamiento de la camara (scrollX, scrollY)*/ + px = x*TILE_ANCHO; + py = y*TILE_ALTO; + + /*Dibuja el tile en la pantalla*/ + blitTile (pantalla, py, px, hlvl[x][y]); + + } + } + +} + +void drawPlayer(){ + +animacion(); + + SDL_Rect srcRect, destRect; + destRect.x = 50; destRect.y = 50; + + srcRect.x = CurrentFrame * 64; + srcRect.y = 0; + srcRect.w = 64; srcRect.h = 64; + + SDL_BlitSurface (player, &srcRect, pantalla, &destRect); + +} + +void animacion(){ +if(OldTime + FrameRate > SDL_GetTicks()) { + return; + } + + OldTime = SDL_GetTicks(); + + CurrentFrame += FrameInc; + + if(CurrentFrame > MaxFrames-1) { + CurrentFrame = 0; + } + +} diff --git a/new_project/main.h b/new_project/main.h new file mode 100644 index 0000000..bc5e939 --- /dev/null +++ b/new_project/main.h @@ -0,0 +1,32 @@ +#ifndef MAINH +#define MAINH + +#include +#include +#include "SDL/SDL.h" +#include "SDL/SDL_image.h" + +//Dimensiones de los tiles +#define TILE_ANCHO 32 +#define TILE_ALTO 32 + +//Buffer de la Pantalla +SDL_Surface *pantalla = NULL; + +//Superficie con los tiles +SDL_Surface *tiles = NULL; + +//Superficie con el cursor +SDL_Surface *flecha = NULL; + +//Numero de tiles en la superficie +int nTilesX, nTilesY; +int iniciar (); +void limpiar (); +void dibujar (); +void dibujarMapa (); +void blitTile (SDL_Surface *dest, int x, int y, int nTile); +void drawPlayer (); +void hardcodelvl(); + +#endif diff --git a/new_project/mapa.h b/new_project/mapa.h new file mode 100644 index 0000000..fb40984 --- /dev/null +++ b/new_project/mapa.h @@ -0,0 +1,25 @@ + +#ifndef MAPAH +#define MAPAH + +#define MAPA_ANCHO 12 +#define MAPA_ALTO 12 + + +int mapa[MAPA_ANCHO][MAPA_ALTO] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 0, 0, 0, 1, 2, 1, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 1, 2, 1, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; + + + +#endif \ No newline at end of file diff --git a/new_project/maze.c b/new_project/maze.c new file mode 100755 index 0000000..187ed71 --- /dev/null +++ b/new_project/maze.c @@ -0,0 +1,166 @@ +//vomitado por Eriiiiiic dominio público-púbico + +#include +#include +#include + +//declaraciones pendejas globales +//dimensiones cabronas +#define columnas 10 +#define renglones 10 + +//tamaño imbecil del laberinto a dibujar idiota +#define mazeCol 21 +#define mazeRow 21 + +//puto laberinto y sus caminos +int maze[renglones][columnas][4]; + +//inicialización de movimientos de mierda a dibujar +int row[4]; +int column[4]; + + +//puto arreglo para dibujar un inutil laberinto con pinche ASCII +int mazeDraw[mazeRow][mazeCol]; + +//puta posicion actual (x,y) +int posMazeX = 1; +int posMazeY = 0; + +void init(){ + +srand(time(NULL)); + +int i, j, k; +for (i = 0; i < renglones; i++){ + for (j = 0; j < columnas; j++){ + for (k = 0; k < 4; k++){ + maze[i][j][k] = -1; + } + } +} + +//reglon (en x de la chingada) +row[0] = -1; +row[1] = 0; +row[2] = 1; +row[3] = 0; +//columna (en y de la chingada) +column[0] = 0; +column[1] = 1; +column[2] = 0; +column[3] = -1; + +for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + mazeDraw[i][j] = 0; + } +} + +} + +//vómito de laberinto +void mazeFuck(int posX, int posY){ + //inicializa bandera de cagada validez + int flag = 1; + int x = 0; + int movPos=0; + maze[posX][posY][0] = 5; + + //mientras hayan movimeintos de mierda válidos + while(flag){ + + int cuenta = 0; + int valido[4]; + //chequeo de casillas válidas imbecil + int i; + for (i = 0; i < 4; i++){ + //verifica que este adentro del maldito arreglo + if ( (posX + row[i] >= 0) && (posY + column[i] >= 0) && + (posX + row[i] < renglones) && + (posY + column[i] < columnas) ){ + //verifica que no este recorrida la puta posición + if ( maze[posX + row[i]][posY + column[i]][0] == -1 ){ + //guarda movimientos de mierda válidos + valido[cuenta++]=i; + } + + } + } + // no me caso de poner comentarios de la verga + //si hay movimientos de mierda válidos + if (cuenta != 0){ + //elige un valor de mierda válido al chile (random) + movPos = valido[rand() % cuenta]; + maze[posX][posY][x++] = movPos; + + //recursion!!!! + mazeFuck(posX + row[movPos], posY + column[movPos]); + + }else{ + //si no hay, bla bla dice: "FLAG! no mames, eres falso, salte del puto while + + flag = 0; + } + } +} + + +void printMaze(){ + //la recorro a la puta + int i, j; + for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + printf("%d", mazeDraw[i][j]); + } + printf("\n"); + } +} + +//dibuja perra!!!! +void drawMaze(){ + + //genera el laberinto y sus caminos de la chingada + mazeFuck(0, 0); + //se inicializa con algun caracter cagada + int i, j; + for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + mazeDraw[i][j] = 0; + } + } + + //harcodea entrada y salida, que pendejo y webon + mazeDraw[1][0] = 1; + mazeDraw[mazeRow - 2][mazeCol - 1] = 1; + + //recorre al arreglo lameculos para dibujar el putillo recorrido + int x, y, z; + for (x = 0; x < renglones; x++){ + for (y = 0; y < columnas; y++){ + for(z = 0; z < 4; z++){ + //si el putin valor es -1 no tumba pared + if(maze[x][y][z] != -1){ + //guarda el mierda de valor del movimiento + int tempr = row[ maze[x][y][z] ]; + int tempc = column[ maze[x][y][z] ]; + int posR = 2*x + 1; + int posC = 2*y + 1; + //pinta caminillo hijo de puta en posicion actual, +1 y +2 en respecputamente + mazeDraw[posR][posC] = 1; + mazeDraw[ posR + tempr ][ posC + tempc ] = 1; + mazeDraw[ posR + 2*tempr ][ posC + 2*tempc ] = 1; + } + } + } + } + + //imprime el laberinto pinche cabron + printMaze(); +} + +void main(){ + init(); + drawMaze(); +} diff --git a/new_project/maze.h b/new_project/maze.h new file mode 100644 index 0000000..9aab052 --- /dev/null +++ b/new_project/maze.h @@ -0,0 +1,128 @@ +#include +#include +#include + +#define columnas 10 +#define renglones 10 +#define mazeCol 21 +#define mazeRow 21 + +int maze[renglones][columnas][4]; +int row[4]; +int column[4]; + +int mazeDraw[mazeRow][mazeCol]; + +int posMazeX = 1; +int posMazeY = 0; + +void init_arrays(){ + + srand(time(NULL)); + int i, j, k; + for (i = 0; i < renglones; i++){ + for (j = 0; j < columnas; j++){ + for (k = 0; k < 4; k++){ + maze[i][j][k] = -1; + } + } + } + + row[0] = -1; + row[1] = 0; + row[2] = 1; + row[3] = 0; + + column[0] = 0; + column[1] = 1; + column[2] = 0; + column[3] = -1; + + for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + mazeDraw[i][j] = 0; + } + } + +} +void createMaze(int posX, int posY){ + + int flag = 1; + int x = 0; + int movPos=0; + maze[posX][posY][0] = 5; + + while(flag){ + + int cuenta = 0; + int valido[4]; + + int i; + for (i = 0; i < 4; i++){ + + if ( (posX + row[i] >= 0) && (posY + column[i] >= 0) && + (posX + row[i] < renglones) && + (posY + column[i] < columnas) ){ + + if ( maze[posX + row[i]][posY + column[i]][0] == -1 ){ + valido[cuenta++]=i; + } + + } + } + + if (cuenta != 0){ + + movPos = valido[rand() % cuenta]; + maze[posX][posY][x++] = movPos; + createMaze(posX + row[movPos], posY + column[movPos]); + + }else{ + flag = 0; + } + } +} + +void drawMaze(){ + + int i, j; + for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + mazeDraw[i][j] = 0; + } + } + + mazeDraw[1][0] = 1; + mazeDraw[mazeRow - 2][mazeCol - 1] = 1; + + int x, y, z; + for (x = 0; x < renglones; x++){ + for (y = 0; y < columnas; y++){ + for(z = 0; z < 4; z++){ + + if(maze[x][y][z] != -1){ + + int tempr = row[ maze[x][y][z] ]; + int tempc = column[ maze[x][y][z] ]; + int posR = 2*x + 1; + int posC = 2*y + 1; + + mazeDraw[posR][posC] = 1; + mazeDraw[ posR + tempr ][ posC + tempc ] = 1; + mazeDraw[ posR + 2*tempr ][ posC + 2*tempc ] = 1; + } + } + } + } +} + +void printMaze(){ + int i, j; + for (i = 0; i < mazeRow; i++){ + for (j = 0; j < mazeCol; j++){ + printf("%d", mazeDraw[i][j]); + } + printf("\n"); + } +} + diff --git a/new_project/muamua b/new_project/muamua new file mode 100755 index 0000000000000000000000000000000000000000..c53f92dc927ea45f98e3f613f27941e22e87babf GIT binary patch literal 14436 zcwX&We{@vUoxd}AfdK~yCe$bqrW!Qvkue~;ptc6c@Iw=bkSJ7P7-n90qm!9&en_At zh7Pf0A3>_@X+1s1Bc*3sS5~mQhq&reLRbT?>(XjZ+1Ax`jrt;K8@s7StIU4B_ue=2 z@`yr@?H@fSH|Ng1pL@Ue`~BYU_r5##X1?!1U(FJS!@Ugcvd9(hi4!^ zt+;p|&)CjsjLW5dCkppWNmkzutzwZNpF5@J%+n#fInDyCr zt8DmQ;MU^`cWn`SKl^=@&+ZhM`tL&j;Ng7#MBtYnRa~@IrlMuNt)KRa`QI|fyV$JNB5h(t>w;W)1>Ra5oh;C)Ha8jeI(sX;+f7mGxE52#UrmYaN5Yq8CX z(}`p(A)uPNGaOQ5wXu-O8}3M(glcLrq~!Q5NvP`TbfPg3RCE2YNGx%?x`p{0p{Jam zKim}9q~>S2ymqO-CKd=$caWNHWd7wVG3!t`>Q5)t5KATk(GZKLQ%RNzH>p$$YJmic zC&JNGBg{l2rJ0%n;V4>y%>jQPr8YxXzZwdp0%+TqObQ}2f#1@a<%<^k=X&ROug}#h zh4-Dgy}@buG?SBKr>u#cJpbq9n@y3VP0kEYpq(Hl+ls>BNi^>3a;*(u-yTN`=8)nV zPkSqsVBw+?O1P;+e-V|~L`tZ{23JZYR!$j}kl>*bn^HNI*t9CB#71;2m5^9TC3ci~ zRAQ;krxFU?LM1keDk`z4tEt3>yNpU~xHVK_gR7$wn`%9k*nHPeiOsg5{q5D60mY!X z+`YZ~5WXh$M~Ac7Y}?OLg~kfB8ehhAj56r5=I)c-*&Bv2!^oXtag)AL5uSqj?BF!7*7#qi^f}JsgvzH1cbIE5~Fp zZ9d^R$7DIJitq-G$$}bf75#M_lO?q}!c`oTMYT1AD>)|1Y8wc9I3^2gG@*zm zoG{~h%{b*68yu6~tv>Jd=%;^U4xwdK1Nm+>wLhxUv}($B45VV!VX z`qq64%I6h$ar+sD&#pf@GiMwNPA6w{947vmqmKPVk}YYYZce`7bi#PCkQg{J$CbO+ zb$6t$VjVABP4wWO87ST70&UyT)Wy$I8!8ielyYjzo;ukrbtp#@^%`B!vRx@RPJWur z_V|XV?aYcE-ypBt+~XVIl?uIKNMARo*ABFw>gshmPC1S`PE+MXkJ46k1gw!Vz5z#O z+dx6f&oaJ2)CMQC{3PQWLTzY5%YmN4Yb9MzVdW9AZhH#nq2}PV`MEYvr&%lSGhVWO=Yhn9cu@rf*vU?Nx zXq&-OnlT;TZa>!b@yrjm8SSU^>bBR~eFHSrb?&?grH?yGAbFr&`Fkz^Mg%hTfLd+= z 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 literal 0 HcwPel00001 diff --git a/new_project/spider1.png b/new_project/spider1.png new file mode 100644 index 0000000000000000000000000000000000000000..b2fd1bd89e7cc7fe8ad5a8959f45fc03ec3693ff GIT binary patch literal 1964 zcwV)Yhc_Dv1I1&+sF9WmMXOI=jjBdHU)2nKsnM7pv1>$)XSO0C)gZ=e?P_aPVpNGu z?O8;H5~KEvk!t!8A;)fLpZ7<6=bn3if51KW+ypBNW07;x=KuhJh^Yzezh^Y~*8+TJ zS^n1(+8OweaAO$Y*S{+0B)tXz_&rQvhPL5^t+)OGwo~B#s6PU8nz(UR!7@l0;bL8< z3wx1{=>lMQk@7I&MZyyZUb}{eZ!aWO{?0xF$@* z-T&{2ho}CGJo+kr#A=`XdL0oOmK2IkfE6Wp&CkOy%=22ICXXJgtry#nR|*E$boriw z!=o}Ac{EynZchHHdJth?6sq`eTJaSbYD$EHGBS4PX=)zai(zuQ`xjlX#n(}LN*xDp zr$&b3k9R%3QGaa-Q9OMGJ|6R7SaCv<4K+<*1;^%*DJful*;VOyNLQS_D}I8s zL_a;P4U}<-Pz|67r$I%ZgL?brdPOuHLb`tC?IFqn@$IabFxnT!8WQK>bv+QQ1M6JWLoFWPtLp>0@zIR`;0AYmefBvZ$TJCOWw2s%{Rhl&hZr% z{h0t%g3Nq~;SK}|ca!5cu1`&kO=AQFT23(tzj+O>)&^S+=ZE|B&7rBmp~6BgyXuB- zM)I{@LW&1W54bTuZdHvD64H{LJ2Xqa$2~V^_EtM%lVo1x_xL5@ny~>dH&^%ymy+@q zbW>m~qJj`~S>XG0MP=v)XTnkq*EX`$q;?%=)&mIxiZ1wKla+g|VA((@|bbc#u+3@}9B~h0xEhEUU>f!F8J0Wj3=> zj6|1~mk!&*xvFy%N*wZ9Fg_F9!npF#d&|jO1p|{GTdcfw*u&2<1H{$UWkbl_V^&B_ zvuLLk!HDO}H5cSGMC@$4>%3NWTNSrw3)wuO&p4PAktZeupy-uJJt;b=bU=0YnBk}U zeQi{a#3uhe-O~g0(lrn|&zGWV2^Hy2?SVsj-Y7qyq+ffh+TlK952L>_F5gpd_Z7&5 zgq1Xr?~%+b)4+{$Hf!etF zc@5Mj&x3&MyI;zJ|BQuGbE6sgVQr|OThtuS#v<#K!Gk3mJ3i0;ja`D4lP*!$^q7=i z_n|uVgi5_=mTGhBT5QZ*{SuE&Neeo`h_1kCL^jgbvsTA`BW3%utpx09FbArx!gPw` zR`so;bxBgP{bw10Zq??UQS;pJ&2BF6@Y_Bp@>p9`KR=BP1SXG;lHQdkMpe0(qWo3F z6O)$6>}_rAc)LSI#YD_az6;^sE8 zf|sqWL8Si4LGIMy{!Dr7@`3r#P(~bjv+|=REm}gQ;p#OSPg{Fo+2`ZBcp(p#OGT%D zmc$YA1p-$TpDf&R?Co>5J~!NYCXRXA#~B8)=yj%;8sIu#Bcc`a8}cBop~esMw|_y| zr+ns_vtdeX2|uofQB@#Dr~L=9@~BW{Nl@k1A< zy@+Lew~H*hDm%T&p3Ru+z>e?`F6-%STp$vU9J^doAUDRlNT#-}#>3`JLZ6;802_{>M1&Ho$Ho0@!VU-9!Yi+W@^8t|A_CZLfZap{u-gE;i3nh~0d^A+ zz-|NVCL(~{2G~tR0J{ws6vvOlzI_mmzw4^o37=1?*IrY~;ZO>c%FkD-r)Nk_hF5@& z4y6tsR;s=}tj+fE=9@Bb{ZCohkeYNT6{i0W=P))5Rm+ctaCpfP_bYt5@OAKeh7c z(U6)7cisudj)@S1W$#}2;tOf>;fJ;QxpTqek!A7am*N4NHpx;P2$rLT*Q-=@wM1e) zKA%#D4k`8a+e&TUZVZ6Ey-F1oDfQlaO0~2MJVJRqO2x!TuzU4YrRwUGs;MzP)7hz1 zaAd0e0_(3m4>j zb2Ahdi_5K91NHS1h!!t~JMIX6cj{F6Y-xd#5@>DhzrW+hVg7u$c1_B$u|{E!9yLDy z$}5nNpp|=iVEuY{?l}pVH^G_!W&!T{bto%?ufK-mWTOFk($Zk$NcrB}EVFq1dg#8q zUdYQc3N>K@L`7-kKu=0cgaZeHx7^P@lNjL_(gbS)=sUdoZpg`jrAs9!oj4)E=g^@L zJvb#N@YB*FX>3zd@U!jh@c84hwEWzEKNJ0OAxxQKd_Oaj`tov0D=TSkZKbudldhdR z8R2#lJ8~rB-EOA1-J};45qIW{_TB>z!0FSnn}B>)RfV>*pg?SU@kK3mfY_It3ze0! zJL#~N2+f=+9l!Jvj2oxb-*uO)@!VXkLx)3L_^r2K@?-$IySm7qHjT4pOG$?dm;$T> zW=)(3hYv$ilJpG!;%BqIZU`30h*`>Oh10)>U5Tza~3@NsdF zpAU29h*5r&lC*W|RCwkYsI6t+mM#4b9-tTa2`B*G&&k1;m}q>!>4bUnB(Rm1hTij^ zeO4wVkkhB(*HUC0Mn)! z2M=P@-o5bTlZNUay1NH8cz}buchmOQU&hL~IPH6FEqwpI`OA+!D#0(1+FJPZ)4rm) z06jghe7PhrfgL-Y(s&>-F_H+Cm&=k_wF(jv$OKHX150#vba3V3MPp@LoN>FWsF1UP z8KDkHg@t{~$6SD|TP0ZdiH_FR|AP<0h!HopeEM`ro*EiRJ#vIyt5%T^Wo^UJ<8--5 z)CWO7`hod;l8g9!!OyK*C$TG#bLV8~w6~kYfTku$NioiTMur3ykRX(uJ>bDKR992H zWC@I^8N^UIbxMxGdgjiB*|V*^f8qp`mIes0 zc(EiAdR~8BvcIe>b9L=PDM^v_X9kx`PO9oDz`FYHk;X8PcQ(z!x&km>wO@P4t7D69!hYPx#zK`bS0X3ls zpg)58X=)13Utew&X7>ucy>hI!h$evlK3`8`qulrmS4{E=K;o7~Gy%-6l{aiKo&bj% zix$a|JP<3_ZvP?z)YZwoyPgdj;GK7dV&1K1^k`VIA~-oS^X3qU06TVQH7=K=jl+HL zev*>p5O&W!THVh-_j?)Y$DuA?R*WAnH#)Jg@ZpD&_}p%^waLY(*DK|m9P|5t0G#aD zA%jm!g73b&JqHgG3zjdJ^8m=zx`iFgp;A&5@$vA@H*y2}U!bBwPJpXdOEPy8qR7jG njT_Cgs@s+9Y`MX<-~s;tF0mF4b8-6l00000NkvXXu0mjfS8m4L literal 0 HcwPel00001 diff --git a/new_project/spider3.png b/new_project/spider3.png new file mode 100644 index 0000000000000000000000000000000000000000..dc90b710b56d3b40374a638c810d73f8d65ef754 GIT binary patch literal 1968 zcwVJd`#%$k1D&A>^Y||E+&qekSd?2{t31Y6D9^HKd1i!lWs%32OnF49E=G&1b}u%* z!fe9E*W+`kS<6=BF^_A=v&N8o-M``cIiGXR59f#T+c^&}dm+J!I*I@Q0PODO?6dFZ z|DnQxeXYUX9^bbEp&m$Qz}`Q2*-kA606-D$&KLZW%9lzBm;5EVeVEOh3?R@4WA1T9 z2K$GLZ6K>Bnl?y_@oH*Z2cc*-odmzyVSy&9_Kqz>&vR$0asF%HM{_Xxv?tES9n{~1 z_8L=!fV2+CT`!^{pcZp4Qr>5$WZJf_q{ZLeET2noq;S8zMeK|H+&K$%^`C_ze2@%P z-I$G)FL%ucP&IHmr-0=FZ0vs(aQ}bMZF*zQ>r<=x$SCrB1-$iF`Ih*cu)fLO0(Je7 zGj-hQMFEE#zaWWaaOlCSlUc^qK`@J8qP`t_MYz+pOq?A+-jY^Ah6D#7rd=3&#MLT&AaJIC!;Gq#Cc7sX%oUPKD%oI(V#PnOAqr`Y7f>SH_iR1y=rbrAq< z#rG8ucX##MZ7$;kOm*!*l-WrQna5RChTyTnv>j&w4T9ZokBRoXjyCu4G5U4A+U+ib zm%dcy=91n25TfomU64zA0lnG@9Zw5n?7XjN2+iho+_gk^)Cpk(Wrzuz1m@NMJIwf_ zu-4n%{S;$%ZgFc*Y#bFwitor=>C92jH`gMZC)N#O4Cjs%`exTz~d1(5l)_OXrC$F-}uK<+z zVNs}R8yqg@7tr-K8Mj_-h-x4CF<5HdEBV6gm5{& z%MdO!g~A_#i|=GXR_Cd!{l+*+jUn0AU;jEBI4C<SFzZ>T~lwN?az#QCNOsV}wz9r({d%u=98_GJFRggGy#f`TPiNw{e5c z&vA^pQd|E=9qYMn-h~^81lMrU#aau4#)!OR`a(3gu&2jJNmFdiWY(ZO@@Rj)n3|dj zg&0dDtS(_ax%A$T+tMEiU{6j|^oJq-80|Pt%zXDg66FhtK>Sck7i#5kUI_yJdIY1k zwO1r-Xtd_$4%R~19+sTZcydIs$$VS)aP1JUvX92RR_GO4MfywaY9V`JSa3+VIDAqg zI`t;?$-fNDPVubJ31P;2X2-SrJwlo&8%3$Jfn1u4%NQgOCr7HRwt$i%Oo!n+4Wn zz2O^cVX@o2($RR*CFeAkIQsVUnVFv^)-tbNZDcuq%lF4`)R{QSB-xj3W#8CH+k6a< z(+jR_I{`$4EMWF-g05^{V!4$IhFe^G#t^tW!SIf7#1N|Cq1R$+Uq8W@ASO~*Hc?Ii z0h&jSTxCVh&i<$QZTZLV-^KZWFHlwN*4CBHux0eI6U56?(J`Vg=V+FG0SkJ&1*0w3 zxQhC_3+G=M&XU`)jALp2_Q)qufOL zYs||Yb&?HP4^LWg(6a6=dZ_hK@Yon9zKpq0-RM(+gv(eQwwFA;H==E=ob0W7YfSOv zNz$z;=OmH*lJ!Ufo@UzvKwC(slpIU~>61?&ruT`!?xf#5xcvi`P8Tv0*()7cLq#p2 z^5Hl45?qx*bKJ!>WmkO5Hk_gRi^uan)~?snlVWL_c3<=3t0DSf0}1IxF%g z#6nS7^s@>Fr3|~!=?fT(i=s8~mnSSvG@qb1=!EOKm literal 0 HcwPel00001 diff --git a/new_project/spidertemplate.svg b/new_project/spidertemplate.svg new file mode 100644 index 0000000..4d23c1b --- /dev/null +++ b/new_project/spidertemplate.svg @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/new_project/thespider.png b/new_project/thespider.png new file mode 100644 index 0000000000000000000000000000000000000000..a38f4b8cc4517a01b88b63fa4cb60f3b6486fe50 GIT binary patch literal 3969 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 literal 0 HcwPel00001 diff --git a/new_project/tiles.png b/new_project/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b19407edd4d7d334aa6447c547f9cac511134833 GIT binary patch literal 197 zcwXxa@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sf9TssBRh@t&j$J?@S5Ftmkc@k8 zFE|P^81Nk4kn_iKxxud$J_pLHJZBxfb+xvxkDY-4&@)+dg2kr(L`eXM=jrO_vd$@? F2>>(BFXjLM literal 0 HcwPel00001 -- 2.11.4.GIT