import sdlmini;/*
import sdl, std.random;//*/
void main() {
//with(new draw(256, 312)) { /* sınıf ile yapılan kolaylık, yakında...
SDL_Surface* scr = SDL_SetVideoMode(256, 312, 0, SDL_HWSURFACE);
void circleRGB(int c_x, int c_y, int r, int c = 0xFF0000) {
void renkArttır(int x, int y, int c = int.max) {
uint *benek = cast(uint*)scr.pixels + y *
scr.pitch/4 + x;
*benek += c;
}
int y, x = -r;
int yeniÇap = 2 - 2 * r;
while(x < 0) {
r = yeniÇap;
renkArttır(c_x + y, c_y + x, c); // sağ üst çeyrek yayı
renkArttır(c_x - x, c_y + y, c); // sağ alt çeyrek yayı
renkArttır(c_x - y, c_y - x, c); // sol alt çeyrek yayı
renkArttır(c_x + x, c_y - y, c); // sol üst çeyrek yayı
if(r <= y) yeniÇap += ++y * 2 + 1;
if(r > x) yeniÇap += ++x * 2 + 1;
}
}
void garipSistem(int x = 0, int y = 0) {
//* ZEMİNDEKİ İÇ İÇE OLUŞAN BÖLGE (ekranın yarısı kadar...)
x = uniform(32, scr.w-32);
y = uniform(32, scr.h-188);
foreach(r; 1..32) circleRGB(x, y, r, 1);//*/
/* SOLDAKİ ÇOK KÜÇÜK BÖLGE (neredeyse daire kadar!)
x = uniform(32, scr.w-160);
y = uniform(64, scr.h-220);
foreach(r; 1..32) circleRGB(x, y, r, 1);//*/
/* SAĞDAKİ ÇOK KÜÇÜK BÖLGE (neredeyse daire kadar!)
x = uniform(160, scr.w-32);
y = uniform(64, scr.h-220);
foreach(r; 1..32) circleRGB(x, y, r, 1);//*/
}
bool DEVAM = true;
while(DEVAM) {
// desenin bir kopyasını göster
foreach(r; 1..32) circleRGB(scr.w/2, scr.h-64, r);
garipSistem(); // ekşın...:)
SDL_Flip (scr);
//DEVAM = waitAndExit(); /*<--- ilk ESC'de dur, ikincisinde çık
SDL_Event event;
SDL_PollEvent (&event);
if(event.type == SDL_KEYDOWN &&
event.key.keysym.sym == SDLK_ESCAPE) DEVAM = false;//*/
}//} // with()
SDL_Quit();
}