Hallo allemaal,
Ik moet nu voor mijn studie naar C kijken en hierbij een aantal opdrachten maken. Ik wil er goed grip op hebben. Het programma wordt geschreven voor de NDS. Gemaakt in de compiler genaamd Eclipse. Alles is al geinstalleerd en dat werkt.
Het probleem begint eigenlijk al zeer snel
. Ik moest als eerst Hello World op mijn scherm krijgen en dat lukt mijn prima. Het is ook gelukt om ze letter voor letter achter elkaar op het scherm te krijgen. Het probleem is dat ik het eigenlijk nog wil uitbreiden zodat de letters naar de "String" toe bewegen.
Dus je begint op een random positie met een "H" en dan komt de "e" van bijvoorbeeld 10px afstand naar de H vliegen en zo het hele woord. Ik heb dit wel, maar hij cleart niet het scherm dus alle letters blijven zichtbaar in mijn beeld en ziet er dan zo uit:
Hello world!
ello world!
ello world!
etc...
Enige idee hoe ik dat moet fixen? Hier is mijn code, het belangrijke deel dan
:
Bij voorbaat dank!
Gr ~MouNt
Ik moet nu voor mijn studie naar C kijken en hierbij een aantal opdrachten maken. Ik wil er goed grip op hebben. Het programma wordt geschreven voor de NDS. Gemaakt in de compiler genaamd Eclipse. Alles is al geinstalleerd en dat werkt.
Het probleem begint eigenlijk al zeer snel

Dus je begint op een random positie met een "H" en dan komt de "e" van bijvoorbeeld 10px afstand naar de H vliegen en zo het hele woord. Ik heb dit wel, maar hij cleart niet het scherm dus alle letters blijven zichtbaar in mijn beeld en ziet er dan zo uit:
Hello world!
ello world!
ello world!
etc...
Enige idee hoe ik dat moet fixen? Hier is mijn code, het belangrijke deel dan

Code:
while( true )
{
int pos_x = 0;
int pos_y = 0;
int color = 31;
char array[] = "Hello! World =)";
iprintf("\x1b[2J"); // Clear screen
//Snap die % nog niet helemaal!
pos_x = rand() % 10;
pos_y = rand() % 15;
int x = 0;
for(x = 0; x<sizeof(array); x++)
{
color = rand() % 7 + 31;
pos_x = pos_x+1;
if(x<1)
{
iprintf("\x1b[%i;%iH", pos_y, pos_x); // Set pos
iprintf("\x1b[%im",color); // Set graphics
iprintf("%c", array[x]); // Print text
}
else
{
pos_y = pos_y + 10;
int k = 0;
for(k = 0; k<10; k++)
{
pos_y--;
iprintf("\x1b[%i;%iH", pos_y, pos_x); // Set pos
iprintf("\x1b[%im",color); // Set graphics
iprintf("%c", array[x]); // Print text
wait(10);
}
}
wait(25);
}
wait(50);
}
}
void wait(int time)
{
int i = 0;
for(i = 0; i < time; i++)
{
swiWaitForVBlank();
}
}
Bij voorbaat dank!
Gr ~MouNt