C Hello World, probleem

Status
Niet open voor verdere reacties.

MouNtant

Gebruiker
Lid geworden
2 jul 2011
Berichten
42
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 ;):
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
 
C hello world probleem

Is dit het voor je.
In PHP gaat "Hello World" zo:



PHP-code: Hello World!



<html>
<head>
<title>Hello World!</title>
</head>
<body>

<?php

echo "Hello World!"

?>

</body>
</html>


Sla dit op als helloworld.php en navigeer ernaar. Je zal nu de tekst zonder enige opmaak "Hello World!" zien!
 
Ik heb zelf geen compiler op het moment dus daar kan ik niet mee helpen. De % is een modulo. Het geeft de restwaarde na een deling.

45%10 = 5

In dit geval wordt het toegepast om uit een random waarde een range te krijgen. Een modulo 10 leverd altijd een waarde tussen 0 en 9
 
Is dit het voor je.
In PHP gaat "Hello World" zo:



PHP-code: Hello World!



<html>
<head>
<title>Hello World!</title>
</head>
<body>

<?php

echo "Hello World!"

?>

</body>
</html>


Sla dit op als helloworld.php en navigeer ernaar. Je zal nu de tekst zonder enige opmaak "Hello World!" zien!

Bedankt voor de reactie!. Dit wist ik nog wel en dan basis hello world werkt ook bij mij in C. De extra dingen die in vertelt heb wil ik graag bug loos werkend krijgen :).

PHP ken ik wel en ben ik aardig gevordeerd in, maar toch bedankt voor de tijd!

gr ~MouNt
 
Ik heb zelf geen compiler op het moment dus daar kan ik niet mee helpen. De % is een modulo. Het geeft de restwaarde na een deling.

45%10 = 5

In dit geval wordt het toegepast om uit een random waarde een range te krijgen. Een modulo 10 leverd altijd een waarde tussen 0 en 9

Oh ookkeeee! Bedankt! Helemaal helder! Nog nooit een vraag hier gepost, alleen nog wat geantwoordt, maar ben blij dat ik het toch doe!

gr ~MouNt
 
Heey alle,

Het is een tijdje sinds er gepost is in deze topic. Dus ik heb het zelf uitgezocht en op een manier gedaan die ik eerst dacht als lelijke code, maar het moet maar :)

Ik heb telkens onthouden waar alle letters stonden en dan het scherm gecleard en dan de letter naar boven laten bewegen, etc...

Dus ik denk dat deze opgelost is ;)

Bedankt voor de hulp!

Tot de volgende vraag of antwoord!

gr ~MouNt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan