Archived

This topic is now archived and is closed to further replies.

com

2d based tile generation alogrithm(SDL)

Recommended Posts

Im currently working on a small 2d engine in SDL. The problem is in-putting DrawIMG(image3, 224, 0); every time i want to draw a single 32x32 pixel tile and cover the screen in those tiles it can take forever writing DrawIMG(image3, 224, 0); for every single one. Plus doing it is wasting a hell of a lot of CPU cycles. So is there a simple alogrithm that can solve this.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by athos_musketeer
You''re not being very clear in your question.. what is DrawImage anyway?


I think he is refering to the code at cone3d.gamedev.net

Share this post


Link to post
Share on other sites
yes i was refering to the code at cone3d,
heres my code, after you see it youll see why i need a quick way to render my tiles:

  

#include <stdio.h>
#include <stdlib.h>
#include <SDL.h>
#include <fstream.h>

SDL_Surface *image;
SDL_Surface *image2;
SDL_Surface *image3;

SDL_Surface *back;
SDL_Surface *screen;
int xpos = 0;
int ypos = 0;









int InitImages()
{
back = SDL_LoadBMP("bg.bmp");
image = SDL_LoadBMP("1.bmp");
image2 = SDL_LoadBMP("2.bmp");
image3 = SDL_LoadBMP("3.bmp");
return 0;
}
int SDL_BlitSurface(SDL_Surface *src, SDL_Rect *srcrect,
SDL_Surface *dst, SDL_Rect *dstrect);
void DrawIMG(SDL_Surface *img, int x, int y)
{
SDL_Rect dest;
dest.x = x;
dest.y = y;
SDL_BlitSurface(img, NULL, screen, &dest);
}
void DrawIMG(SDL_Surface *img, int x, int y, int w, int h, int x2, int y2)
{
SDL_Rect dest;
dest.x = x;
dest.y = y;
SDL_Rect dest2;
dest2.x = x2;
dest2.y = y2;
dest2.w = w;
dest2.h = h;
SDL_BlitSurface(img, &dest2, screen, &dest);
}
void DrawBG()
{
DrawIMG(back, 0, 0);
}
void DrawScene()
{

DrawIMG(back, xpos-2, ypos-2, 132, 132, xpos-2, ypos-2);
DrawIMG(image3, 0, 0);
DrawIMG(image3, 0, 32);
DrawIMG(image3, 0, 64);
DrawIMG(image3, 0, 96);
DrawIMG(image3, 0, 128);
DrawIMG(image3, 0, 160);
DrawIMG(image3, 0, 192);
DrawIMG(image3, 0, 224);
DrawIMG(image3, 0, 256);
DrawIMG(image3, 0, 288);
DrawIMG(image3, 0, 320);
DrawIMG(image3, 0, 352);
DrawIMG(image3, 0, 384);
DrawIMG(image3, 0, 416);
DrawIMG(image3, 0, 448);
DrawIMG(image3, 0, 480);
DrawIMG(image3, 0, 512);
DrawIMG(image3, 0, 544);
DrawIMG(image3, 0, 576);
//next line

DrawIMG(image3, 32, 0);
DrawIMG(image3, 32, 32);
DrawIMG(image3, 32, 64);
DrawIMG(image3, 32, 96);
DrawIMG(image3, 32, 128);
DrawIMG(image3, 32, 160);
DrawIMG(image3, 32, 192);
DrawIMG(image3, 32, 224);
DrawIMG(image3, 32, 256);
DrawIMG(image3, 32, 288);
DrawIMG(image3, 32, 320);
DrawIMG(image3, 32, 352);
DrawIMG(image3, 32, 384);
DrawIMG(image3, 32, 416);
DrawIMG(image3, 32, 448);
DrawIMG(image3, 32, 480);
DrawIMG(image3, 32, 512);
DrawIMG(image3, 32, 544);
DrawIMG(image3, 32, 576);
//next line

DrawIMG(image3, 64, 0);
DrawIMG(image3, 64, 32);
DrawIMG(image3, 64, 64);
DrawIMG(image3, 64, 96);
DrawIMG(image3, 64, 128);
DrawIMG(image3, 64, 160);
DrawIMG(image3, 64, 192);
DrawIMG(image3, 64, 224);
DrawIMG(image3, 64, 256);
DrawIMG(image3, 64, 288);
DrawIMG(image3, 64, 320);
DrawIMG(image3, 64, 352);
DrawIMG(image3, 64, 384);
DrawIMG(image3, 64, 416);
DrawIMG(image3, 64, 448);
DrawIMG(image3, 64, 480);
DrawIMG(image3, 64, 512);
DrawIMG(image3, 64, 544);
DrawIMG(image3, 64, 576);
//next line

DrawIMG(image3, 96, 0);
DrawIMG(image3, 96, 32);
DrawIMG(image3, 96, 64);
DrawIMG(image3, 96, 96);
DrawIMG(image3, 96, 128);
DrawIMG(image3, 96, 160);
DrawIMG(image3, 96, 192);
DrawIMG(image3, 96, 224);
DrawIMG(image3, 96, 256);
DrawIMG(image3, 96, 288);
DrawIMG(image3, 96, 320);
DrawIMG(image3, 96, 352);
DrawIMG(image3, 96, 384);
DrawIMG(image3, 96, 416);
DrawIMG(image3, 96, 448);
DrawIMG(image3, 96, 480);
DrawIMG(image3, 96, 512);
DrawIMG(image3, 96, 544);
DrawIMG(image3, 96, 576);
//next line

DrawIMG(image3, 128, 0);
DrawIMG(image3, 128, 32);
DrawIMG(image3, 128, 64);
DrawIMG(image3, 128, 96);
DrawIMG(image3, 128, 128);
DrawIMG(image3, 128, 160);
DrawIMG(image3, 128, 192);
DrawIMG(image3, 128, 224);
DrawIMG(image3, 128, 256);
DrawIMG(image3, 128, 288);
DrawIMG(image3, 128, 320);
DrawIMG(image3, 128, 352);
DrawIMG(image3, 128, 384);
DrawIMG(image3, 128, 416);
DrawIMG(image3, 128, 448);
DrawIMG(image3, 128, 480);
DrawIMG(image3, 128, 512);
DrawIMG(image3, 128, 544);
DrawIMG(image3, 128, 576);
//next line

DrawIMG(image3, 160, 0);
DrawIMG(image3, 160, 32);
DrawIMG(image3, 160, 64);
DrawIMG(image3, 160, 96);
DrawIMG(image3, 160, 128);
DrawIMG(image3, 160, 160);
DrawIMG(image3, 160, 192);
DrawIMG(image3, 160, 224);
DrawIMG(image3, 160, 256);
DrawIMG(image3, 160, 288);
DrawIMG(image3, 160, 320);
DrawIMG(image3, 160, 352);
DrawIMG(image3, 160, 384);
DrawIMG(image3, 160, 416);
DrawIMG(image3, 160, 448);
DrawIMG(image3, 160, 480);
DrawIMG(image3, 160, 512);
DrawIMG(image3, 160, 544);
DrawIMG(image3, 160, 576);
//next line

DrawIMG(image3, 192, 0);
DrawIMG(image3, 192, 32);
DrawIMG(image3, 192, 64);
DrawIMG(image3, 192, 96);
DrawIMG(image3, 192, 128);
DrawIMG(image3, 192, 160);
DrawIMG(image3, 192, 192);
DrawIMG(image3, 192, 224);
DrawIMG(image3, 192, 256);
DrawIMG(image3, 192, 288);
DrawIMG(image3, 192, 320);
DrawIMG(image3, 192, 352);
DrawIMG(image3, 192, 384);
DrawIMG(image3, 192, 416);
DrawIMG(image3, 192, 448);
DrawIMG(image3, 192, 480);
DrawIMG(image3, 192, 512);
DrawIMG(image3, 192, 544);
DrawIMG(image3, 192, 576);
//next line

DrawIMG(image3, 224, 0);
DrawIMG(image3, 224, 32);
DrawIMG(image3, 224, 64);
DrawIMG(image3, 224, 96);
DrawIMG(image3, 224, 128);
DrawIMG(image3, 224, 160);
DrawIMG(image3, 224, 192);
DrawIMG(image3, 224, 224);
DrawIMG(image3, 224, 256);
DrawIMG(image3, 224, 288);
DrawIMG(image3, 224, 320);
DrawIMG(image3, 224, 352);
DrawIMG(image3, 224, 384);
DrawIMG(image3, 224, 416);
DrawIMG(image3, 224, 448);
DrawIMG(image3, 224, 480);
DrawIMG(image3, 224, 512);
DrawIMG(image3, 224, 544);
DrawIMG(image3, 224, 576);
//next line

DrawIMG(image3, 256, 0);
DrawIMG(image3, 256, 32);
DrawIMG(image3, 256, 64);
DrawIMG(image3, 256, 96);
DrawIMG(image3, 256, 128);
DrawIMG(image3, 256, 160);
DrawIMG(image3, 256, 192);
DrawIMG(image3, 256, 224);
DrawIMG(image3, 256, 256);
DrawIMG(image3, 256, 288);
DrawIMG(image3, 256, 320);
DrawIMG(image3, 256, 352);
DrawIMG(image3, 256, 384);
DrawIMG(image3, 256, 416);
DrawIMG(image3, 256, 448);
DrawIMG(image3, 256, 480);
DrawIMG(image3, 256, 512);
DrawIMG(image3, 256, 544);
DrawIMG(image3, 256, 576);
//next line

DrawIMG(image3, 288, 0);
DrawIMG(image3, 288, 32);
DrawIMG(image3, 288, 64);
DrawIMG(image3, 288, 96);
DrawIMG(image3, 288, 128);
DrawIMG(image3, 288, 160);
DrawIMG(image3, 288, 192);
DrawIMG(image3, 288, 224);
DrawIMG(image3, 288, 256);
DrawIMG(image3, 288, 288);
DrawIMG(image3, 288, 320);
DrawIMG(image3, 288, 352);
DrawIMG(image3, 288, 384);
DrawIMG(image3, 288, 416);
DrawIMG(image3, 288, 448);
DrawIMG(image3, 288, 480);
DrawIMG(image3, 288, 512);
DrawIMG(image3, 288, 544);
DrawIMG(image3, 288, 576);
//next line

DrawIMG(image3, 320, 0);
DrawIMG(image3, 320, 32);
DrawIMG(image3, 320, 64);
DrawIMG(image3, 320, 96);
DrawIMG(image3, 320, 128);
DrawIMG(image3, 320, 160);
DrawIMG(image3, 320, 192);
DrawIMG(image3, 320, 224);
DrawIMG(image3, 320, 256);
DrawIMG(image3, 320, 288);
DrawIMG(image3, 320, 320);
DrawIMG(image3, 320, 352);
DrawIMG(image3, 320, 384);
DrawIMG(image3, 320, 416);
DrawIMG(image3, 320, 448);
DrawIMG(image3, 320, 480);
DrawIMG(image3, 320, 512);
DrawIMG(image3, 320, 544);
DrawIMG(image3, 320, 576);
//next line

DrawIMG(image3, 352, 0);
DrawIMG(image3, 352, 32);
DrawIMG(image3, 352, 64);
DrawIMG(image3, 352, 96);
DrawIMG(image3, 352, 128);
DrawIMG(image3, 352, 160);
DrawIMG(image3, 352, 192);
DrawIMG(image3, 352, 224);
DrawIMG(image3, 352, 256);
DrawIMG(image3, 352, 288);
DrawIMG(image3, 352, 320);
DrawIMG(image3, 352, 352);
DrawIMG(image3, 352, 384);
DrawIMG(image3, 352, 416);
DrawIMG(image3, 352, 448);
DrawIMG(image3, 352, 480);
DrawIMG(image3, 352, 512);
DrawIMG(image3, 352, 544);
DrawIMG(image3, 352, 576);
//next line

DrawIMG(image3, 384, 0);
DrawIMG(image3, 384, 32);
DrawIMG(image3, 384, 64);
DrawIMG(image3, 384, 96);
DrawIMG(image3, 384, 128);
DrawIMG(image3, 384, 160);
DrawIMG(image3, 384, 192);
DrawIMG(image3, 384, 224);
DrawIMG(image3, 384, 256);
DrawIMG(image3, 384, 288);
DrawIMG(image3, 384, 320);
DrawIMG(image3, 384, 352);
DrawIMG(image3, 384, 384);
DrawIMG(image3, 384, 416);
DrawIMG(image3, 384, 448);
DrawIMG(image3, 384, 480);
DrawIMG(image3, 384, 512);
DrawIMG(image3, 384, 544);
DrawIMG(image3, 384, 576);
//next line

DrawIMG(image3, 416, 0);
DrawIMG(image3, 416, 32);
DrawIMG(image3, 416, 64);
DrawIMG(image3, 416, 96);
DrawIMG(image3, 416, 128);
DrawIMG(image3, 416, 160);
DrawIMG(image3, 416, 192);
DrawIMG(image3, 416, 224);
DrawIMG(image3, 416, 256);
DrawIMG(image3, 416, 288);
DrawIMG(image3, 416, 320);
DrawIMG(image3, 416, 352);
DrawIMG(image3, 416, 384);
DrawIMG(image3, 416, 416);
DrawIMG(image3, 416, 448);
DrawIMG(image3, 416, 480);
DrawIMG(image3, 416, 512);
DrawIMG(image3, 416, 544);
DrawIMG(image3, 416, 576);
//next line

DrawIMG(image3, 448, 0);
DrawIMG(image3, 448, 32);
DrawIMG(image3, 448, 64);
DrawIMG(image3, 448, 96);
DrawIMG(image3, 448, 128);
DrawIMG(image3, 448, 160);
DrawIMG(image3, 448, 192);
DrawIMG(image3, 448, 224);
DrawIMG(image3, 448, 256);
DrawIMG(image3, 448, 288);
DrawIMG(image3, 448, 320);
DrawIMG(image3, 448, 352);
DrawIMG(image3, 448, 384);
DrawIMG(image3, 448, 416);
DrawIMG(image3, 448, 448);
DrawIMG(image3, 448, 480);
DrawIMG(image3, 448, 512);
DrawIMG(image3, 448, 544);
DrawIMG(image3, 448, 576);
//next line

DrawIMG(image3, 480, 0);
DrawIMG(image3, 480, 32);
DrawIMG(image3, 480, 64);
DrawIMG(image3, 480, 96);
DrawIMG(image3, 480, 128);
DrawIMG(image3, 480, 160);
DrawIMG(image3, 480, 192);
DrawIMG(image3, 480, 224);
DrawIMG(image3, 480, 256);
DrawIMG(image3, 480, 288);
DrawIMG(image3, 480, 320);
DrawIMG(image3, 480, 352);
DrawIMG(image3, 480, 384);
DrawIMG(image3, 480, 416);
DrawIMG(image3, 480, 448);
DrawIMG(image3, 480, 480);
DrawIMG(image3, 480, 512);
DrawIMG(image3, 480, 544);
DrawIMG(image3, 480, 576);
//next line

DrawIMG(image3, 512, 0);
DrawIMG(image3, 512, 32);
DrawIMG(image3, 512, 64);
DrawIMG(image3, 512, 96);
DrawIMG(image3, 512, 128);
DrawIMG(image3, 512, 160);
DrawIMG(image3, 512, 192);
DrawIMG(image3, 512, 224);
DrawIMG(image3, 512, 256);
DrawIMG(image3, 512, 288);
DrawIMG(image3, 512, 320);
DrawIMG(image3, 512, 352);
DrawIMG(image3, 512, 384);
DrawIMG(image3, 512, 416);
DrawIMG(image3, 512, 448);
DrawIMG(image3, 512, 480);
DrawIMG(image3, 512, 512);
DrawIMG(image3, 512, 544);
DrawIMG(image3, 512, 576);
//next line

DrawIMG(image3, 544, 0);
DrawIMG(image3, 544, 32);
DrawIMG(image3, 544, 64);
DrawIMG(image3, 544, 96);
DrawIMG(image3, 544, 128);
DrawIMG(image3, 544, 160);
DrawIMG(image3, 544, 192);
DrawIMG(image3, 544, 224);
DrawIMG(image3, 544, 256);
DrawIMG(image3, 544, 288);
DrawIMG(image3, 544, 320);
DrawIMG(image3, 544, 352);
DrawIMG(image3, 544, 384);
DrawIMG(image3, 544, 416);
DrawIMG(image3, 544, 448);
DrawIMG(image3, 544, 480);
DrawIMG(image3, 544, 512);
DrawIMG(image3, 544, 544);
DrawIMG(image3, 544, 576);
//next line

DrawIMG(image3, 576, 0);
DrawIMG(image3, 576, 32);
DrawIMG(image3, 576, 64);
DrawIMG(image3, 576, 96);
DrawIMG(image3, 576, 128);
DrawIMG(image3, 576, 160);
DrawIMG(image3, 576, 192);
DrawIMG(image3, 576, 224);
DrawIMG(image3, 576, 256);
DrawIMG(image3, 576, 288);
DrawIMG(image3, 576, 320);
DrawIMG(image3, 576, 352);
DrawIMG(image3, 576, 384);
DrawIMG(image3, 575, 416);
DrawIMG(image3, 576, 448);
DrawIMG(image3, 576, 480);
DrawIMG(image3, 576, 512);
DrawIMG(image3, 576, 544);
DrawIMG(image3, 576, 576);
//next line

DrawIMG(image3, 608, 0);
DrawIMG(image3, 608, 32);
DrawIMG(image3, 608, 64);
DrawIMG(image3, 608, 96);
DrawIMG(image3, 608, 128);
DrawIMG(image3, 608, 160);
DrawIMG(image3, 608, 192);
DrawIMG(image3, 608, 224);
DrawIMG(image3, 608, 256);
DrawIMG(image3, 608, 288);
DrawIMG(image3, 608, 320);
DrawIMG(image3, 608, 352);
DrawIMG(image3, 608, 384);
DrawIMG(image3, 608, 416);
DrawIMG(image3, 608, 448);
DrawIMG(image3, 608, 480);
DrawIMG(image3, 608, 512);
DrawIMG(image3, 608, 544);
DrawIMG(image3, 608, 576);
//next line

DrawIMG(image3, 640, 0);
DrawIMG(image3, 640, 32);
DrawIMG(image3, 640, 64);
DrawIMG(image3, 640, 96);
DrawIMG(image3, 640, 128);
DrawIMG(image3, 640, 160);
DrawIMG(image3, 640, 192);
DrawIMG(image3, 640, 224);
DrawIMG(image3, 640, 256);
DrawIMG(image3, 640, 288);
DrawIMG(image3, 640, 320);
DrawIMG(image3, 640, 352);
DrawIMG(image3, 640, 384);
DrawIMG(image3, 640, 416);
DrawIMG(image3, 640, 448);
DrawIMG(image3, 640, 480);
DrawIMG(image3, 640, 512);
DrawIMG(image3, 640, 544);
DrawIMG(image3, 640, 576);
//next line

DrawIMG(image3, 672, 0);
DrawIMG(image3, 672, 32);
DrawIMG(image3, 672, 64);
DrawIMG(image3, 672, 96);
DrawIMG(image3, 672, 128);
DrawIMG(image3, 672, 160);
DrawIMG(image3, 672, 192);
DrawIMG(image3, 672, 224);
DrawIMG(image3, 672, 256);
DrawIMG(image3, 672, 288);
DrawIMG(image3, 672, 320);
DrawIMG(image3, 672, 352);
DrawIMG(image3, 672, 384);
DrawIMG(image3, 672, 416);
DrawIMG(image3, 672, 448);
DrawIMG(image3, 672, 480);
DrawIMG(image3, 672, 512);
DrawIMG(image3, 672, 544);
DrawIMG(image3, 672, 576);
//next line

DrawIMG(image3, 704, 0);
DrawIMG(image3, 704, 32);
DrawIMG(image3, 704, 64);
DrawIMG(image3, 704, 96);
DrawIMG(image3, 704, 128);
DrawIMG(image3, 704, 160);
DrawIMG(image3, 704, 192);
DrawIMG(image3, 704, 224);
DrawIMG(image3, 704, 256);
DrawIMG(image3, 704, 288);
DrawIMG(image3, 704, 320);
DrawIMG(image3, 704, 352);
DrawIMG(image3, 704, 384);
DrawIMG(image3, 704, 416);
DrawIMG(image3, 704, 448);
DrawIMG(image3, 704, 480);
DrawIMG(image3, 704, 512);
DrawIMG(image3, 704, 544);
DrawIMG(image3, 704, 576);
//next line

DrawIMG(image3, 736, 0);
DrawIMG(image3, 736, 32);
DrawIMG(image3, 736, 64);
DrawIMG(image3, 736, 96);
DrawIMG(image3, 736, 128);
DrawIMG(image3, 736, 160);
DrawIMG(image3, 736, 192);
DrawIMG(image3, 736, 224);
DrawIMG(image3, 736, 256);
DrawIMG(image3, 736, 288);
DrawIMG(image3, 736, 320);
DrawIMG(image3, 736, 352);
DrawIMG(image3, 736, 384);
DrawIMG(image3, 736, 416);
DrawIMG(image3, 736, 448);
DrawIMG(image3, 736, 480);
DrawIMG(image3, 736, 512);
DrawIMG(image3, 736, 544);
DrawIMG(image3, 736, 576);
//next line

DrawIMG(image3, 768, 0);
DrawIMG(image3, 768, 32);
DrawIMG(image3, 768, 64);
DrawIMG(image3, 768, 96);
DrawIMG(image3, 768, 128);
DrawIMG(image3, 768, 160);
DrawIMG(image3, 768, 192);
DrawIMG(image3, 768, 224);
DrawIMG(image3, 768, 256);
DrawIMG(image3, 768, 288);
DrawIMG(image3, 768, 320);
DrawIMG(image3, 768, 352);
DrawIMG(image3, 768, 384);
DrawIMG(image3, 768, 416);
DrawIMG(image3, 768, 448);
DrawIMG(image3, 768, 480);
DrawIMG(image3, 768, 512);
DrawIMG(image3, 768, 544);
DrawIMG(image3, 768, 576);
SDL_Flip(screen);
}
int main(int argc, char *argv[])
{



Uint8* keys;
if(SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) < 0)
{
printf("Unable to init SDL: &s\n", SDL_GetError());
exit(1);
}
atexit(SDL_Quit);
screen = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
if(screen == NULL)
{
printf("Unable to set up 640x480 video:%s\n", SDL_GetError());
exit(1);
}
InitImages();
int done=0;

while(done == 0)
{
SDL_Event event;

while ( SDL_PollEvent(&event) )
{
if ( event.type == SDL_QUIT ) { done = 1; }

if ( event.type == SDL_KEYDOWN )
{
if ( event.key.keysym.sym == SDLK_ESCAPE ) { done = 1; }
}
}


DrawScene();
DrawBG();



}
return 0;
}

Each tile is 32x32 and all of that code only covers one screen!

Share this post


Link to post
Share on other sites
Why don't you do it in a loop?

      
void DrawScene()
{
DrawIMG(back, xpos-2, ypos-2, 132, 132, xpos-2, ypos-2);

for(int y=0;y<25;y++)
for(int x=0;x<19;x++)
DrawIMG(image3,x*32,y*32);

SDL_Flip(screen);
}


This should do exactly the same as your function.

Also, if you aren't familiar with constructs like these yet, you should probably start coding something easier first to get to know the language.

[edited by - Wuntvor on December 26, 2002 10:14:06 AM]

Share this post


Link to post
Share on other sites
ehrm.. yeah. com, hope you don''t mind but I had a few chuckles when I read the code there.. yes, there is this thing called a "for" loop that can help in situations like that. I suggest you pick up a C++ book and take a quick gander at it, but then jump right back in where you left off. The only way to learn is to do these things by yourself, and it''s very rewarding to see stuff happen that you programmed. But do yourself a HUGE favour and pick up that C++ book first! You''ll save yourself hours, if not days, of headaches.

Good luck to ya.

G



There can be only one.

Share this post


Link to post
Share on other sites
He''s just trying to delve right in I don''t blame him, the graphics part is the fun part!

But anyways, man, you DO need to learn the basics of the language before you try anything as complicated as SDL. Though SDL is very simple (relatively,) you still need to know the language you interface with it. And this will take time, but once you learn how to use the language, the rest of your time is basically learning from your mistakes in using it.

I''ve been programming for around 8 years, and every time I do a project I still find something that I''ve done incorrectly, and learn from that.

But I would suggest reading some online tutorials (Wouldn''t waste money on a book, it''s online for goodness sake!) about C++.


"aut viam inveniam aut faciam" - I will either find a way or make one.

MoonStar Projects

Share this post


Link to post
Share on other sites
omg, you lot are soo out of order to me, i know all the simple basics, loops, classes, polymorthism etc Its just lately i have been having a coders block, might just be too much on my mind and i cant think of how to do anything...

Share this post


Link to post
Share on other sites