2d based tile generation alogrithm(SDL)

Started by
8 comments, last by com 21 years, 3 months ago
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.
Advertisement
You''re not being very clear in your question.. what is DrawImage anyway?
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
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!
Also is there any simple way of drawing to the z axis so i can start drawing walls?
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]
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.
There can be only one.
As the posters above said, why in God''s name are you using SDL, or involving yourself with graphics whatsoever, without even knowing something so basic as a for loop?

swift URL | browse my bookmarks [server may not always be on]

Sensimed | Info/download
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
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...

This topic is closed to new replies.

Advertisement