Elikkäh, tässäpä olisi C:lle scrollinkia... dblbuf on kuva ruutu, ja maailma on vähän, niinkuin isompi kuvaruutu, ja dblbuf on "ikkuna" siihen. Vaikea selittää... Helpointa olisi esittää homma kuvana, mutta kun ei tueta HTML komentoja, niin ei sitten... Suostuu kääntymään ainakin DJGPP:llä
#include <stdio.h> //getch, kbhit #include <sys\movedata.h> //dosmemputl #include <stdlib.h> //srand, rand, malloc #include <time.h> //time #define maailmaleveys 1000 //Määritelläään vakioita #define maailmakorkeus 300 char *dblbuf; //Itse kuvaruutu char *maailma; //Maailma #define flip _dosmemputl(dblbuf, 64000/4, 0xA0000) int main() { /*Pää ohjelma*/ dblbuf=(char *)malloc(64000); maailma=(char *)malloc(maailmaleveys*maailmakorkeus); srand(time(NULL));/*Alustetaan randomi generraattori*/ /*Piirretään 'maailmaan' sattumanvaraisesti pixeleitä*/ int temp, temp2; for(temp2=0;temp2<maailmaleveys;temp2++) for(temp=0;temp<maailmakorkeus;temp++) { maailma[temp*maailmaleveys+temp2]=rand()%255; } textmode(0x13); int x=0, y=0; for(temp=0;temp<320*200;temp++) dblbuf[temp]=0; /*Tyhjennetään ruutu*/ int suunta=0; while(!kbhit()) { for(temp=0; temp<150; temp++) /*Piirretään osa maailmasta ruudulle*/ for(temp2=0; temp2<150; temp2++) { dblbuf[temp*320+temp2]=maailma[(y+temp)*maailmaleveys+x+temp2]; } if(suunta==0) x++; //liikutellaan ruutua ympäri 'maailmaa' if(x>maailmaleveys-320 && suunta==0) suunta=1; if(suunta==1) y++; if(y>maailmakorkeus-200 && suunta==1) suunta=2; if(suunta==2) x--; if(x<1 && suunta==2) suunta=3; if(suunta==3) y--; if(y<1 && suunta==3) suunta=0; flip; } textmode(0x3); return(0); }
Yksi ainoa asia ihmetyttää.. miksi joka lause pitää aloittaa "Elikkäh" ?? :D
Ihan hyvä vinkki ;)
Elikkäh(:D) se on vain vähän minun puhe tyyliä....
Tietääkö kukaan mist löytäis
qbasic oppaan siis ison sellasen
PliiZ kertokaa joku
--(oon vast alottelija--)
Tämä ei ole foorumi, mene 'keskustelu' osioon, ja kysy sielt
tää valittaa et se ei löyä sys\movedata.h
Aihe on jo aika vanha, joten et voi enää vastata siihen.