Last edit 2009-10-18



sterren hemel in cpp



// 3D stars in cpp
// Copyright (c) Stroobandt Bruno 1995
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>

void video(int mode);
void wait_retrace(void);
void newstar(void);

// setup global variables

int spx[1500], spy[1500], spz[1500]; // x,y,z starpoint
int srp[1000]; // random calculated point
int sl;
int nsp=0;

void main(void)
{
// setup local variables
int a,b,x,y;
char far *pixel; //video pointer
char key;
int ts;
int px[500],py[500]; // xy on screen
int r1,r2,r3;
int speed=2;
int kd=0;

int palr[255]; // RGB value
int palg[255];
int palb[255];

video(0x03); //CLS
printf ("Hit Esc to EXIT (when running)\n");
printf ("F11, F12 = speed\n\n");
printf ("How many stars (max 500): ");
scanf("%i",&ts);
ts=ts-1;

// create the stars random positions
randomize();
for (x=0; x<=ts; x++)
{
r1=random(640)-320;
r2=random(400)-200;
r3=random(510);

spx[x]=r1*100;
spy[x]=r2*100;
spz[x]=r3;
}
for (x=0;x<1000; x=x+2)
{
r1=random(640)-320;
r2=random(400)-200;
srp[x]=r1*100;
srp[x+1]=r2*100;
}
video(0x13); // video mode 320*200* 256 colors
// Define the palet
// color 1 = white thru color 255 = Black
a=63;
b=4;
for (x=1;x<=255;x++)
{
b=b-1;
if (b==0) { a=a-1; b=4;}
palr[x]=a;
palg[x]=a;
palb[x]=a;
outportb(0x3C8,x);
outportb(0x3C9,a);
outportb(0x3C9,10);
outportb(0x3C9,a);
}

// main loop
do
{
key=inport(0x60); // read the keyboard port
// check for f11 f12
kd=kd+1;
if (kd==10)
{
if (key==88) speed=speed -1; //faster
if (key==87) speed=speed +1; //slower
if (speed <=0) speed=1;
kd=0;
if (kbhit()) getch();
}
wait_retrace();
for (sl=0;sl<=ts;sl++)
{
pixel=(char far *) 0xa0000000 + (py[sl]*320) + px[sl];
pixel[0] = 0;

spz[sl]=spz[sl]-speed; // decrease z
if (spz[sl]<=0) newstar();

px[sl]=(spx[sl]/spz[sl])+160;//calculate the screen position
py[sl]=(spy[sl]/spz[sl])+100;//with an offset of the screen centre

if (px[sl]<2) newstar();
if (px[sl]>317) newstar();
if (py[sl]<2) newstar();
if (py[sl]>197) newstar();

pixel=(char far *) 0xa0000000 + (py[sl]*320) + px[sl];
pixel[0] = spz[sl]/2;
}
}while (key!=1);
video(0X03); //text mode
puts("Written by Bruno Stroobandt 1995");
puts("--------------------------------");
puts("\nPress a key");
while (kbhit()) getch();
getch();
clrscr();

while (kbhit()) getch();

}

// functions

void video(int mode)
{
asm { mov ax,mode;int 0X10}
}

void wait_retrace()
{
asm {
mov dx,0x3da
}
bra1:
asm { in al,dx;and al,8;jnz bra1}
bra2:
asm { in al,dx;and al,8;jz bra2}
}

void newstar()
{
spx[sl]=srp[nsp];
spy[sl]=srp[nsp+1];
spz[sl]=510;
nsp=nsp+1;
if (nsp>1000) nsp=0;
}

Vdownloader Download films van o.a. Google Video, Youtube,...

email vanuit je blog via javascript (Ook met een leuk CSS uitklappen en inklappen effect.

Social Bookmark Generator Genereer met een paar muisklikken de juiste html code voor Ekudos, NuJij, MSN reporter.nl,...

Gratis antivirus software Wat heb je allemaal nodig

Aptana html ccs en javascript editor gratis html code editor

Hoe een menu maken met iframe en css nooit meer honderden pagina's updaten...

Hoe je email adres op je website of blog zetten zonder risico op spam.

Geluid opnemen van luidsprekers met vista Windows visa probleem met streaming muziek opname : de oplossing.

online computer kopen via het internet. Voordelen.

laptop kopen To laptop or not to laptop, thats the question : De voordelen en de nadelen van een laptop tov een desktop computer

Gratis software downloaden - top 10 Mijn top 10 gratis software voor windows Vista en windows XP. (o.a. fileshareing, 3d teken software, gratis streaming tv, windows monopoly, enz...)

pagerank - google PR Wat is pagerank en hoeveel is de pageranck van uw blog of website. (Ook uw Alexa rating)

Meer bezoekers naar uw site krijgen

Je kan een mooie blog of web site hebben met daarop de nodige advertenties maar als niemand naar uw site komt ga je niet veel geld verdienen met je blog of website. In dit artikel geef ik een aantal tips waar je volgens mijn visie op moet letten. ... [ Lees Verder... ]

Gratis online TV kijken Waarom betalen voor digitale TV als het internet vol staat met gratis streaming tv en films???

- Uw eigen website kan voor u geld verdienen.

Bloggen is tegenwoordig in. Meer en meer mensen hebben hun eigen blog. Of hun eigen website. Maar waarom zou je hier geen gebruik van maken om daar ook geld mee te verdienen. Vele grote websites en zoekmachines verdienen geld met hun website. Dus waarom zou jij geen geld verdienen met uw site of blog. Een van de betere methoden is adsense van de google zoekmachine. ... Hoe verdien ik geld met mijn blog [ Lees verder... ].


Alternatief :
Een computer kost geld. Maar je kan deze ook betalen met uw studenten lening of een lening op afbetaling. (Ook wel de persoonlijke lening genoemd.)
Meer over geld verdienen, uitgeven, sparen,...

financieel sitemap.

lening index - info over soorten lening.



InfoNosity English HomePage
  InfoNosity : sitemap (Alle onderwerpen van de website)

  InfoNosity - index - homepage



Infonosity, Copyright (c) 2007 Bruno Stroobandt.