Lander by grboss sous turbo c++

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 924 fois - Téléchargée 38 fois

Contenu du snippet

Voila, faites aterrir votre vaisseau dans la zone prévue en utilisant le moins d'énergie posssible.

Source / Exemple :


//*************Lander by grboss*****************
//**********Compilé avec Turbo C++ 3.0**********
//************Edité avec Dev C++ 4**************
//*********A compiler en Mode LARGE*************

#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <iostream.h>

void graphique();
void engin();
void touche();
void detect();
void gauche();
void droite();
void VGA();
void text();
void comete();
void haut();

char *ecran  = (char *) (0xA0000000L);
char *virtuel = new unsigned char[64000L];

void pixel(unsigned x, unsigned y, unsigned char couleur, unsigned char * endroit)
{
endroit[320*y+x]=couleur;
}

int niveau=1;
int touch='6';
int couleur;
int x;
int y;
int d;
int a=160;
int b=55;
int ga;
int dr;
int force=100;
int al=random(80)+116;
int taille=random(10)+15;
int r=210;

void text()
{
_AX = 0x03;
geninterrupt(0x10);
}

void VGA()
{
_AX = 0x13;
geninterrupt(0x10);
}

void detect()
{
if (kbhit())
{
touch=toupper(getch());
}
touche();
}

void touche()
{
while (touch!=27){
if(touch=='6') gauche();
if(touch=='4') droite();
if(touch=='5') haut();
if (touch=='0') break;
}}

void main()
{
text();
cout<<"Votre vaisseau doit aterrir.\nIl ne vous reste plus beaucoup d'energie pour le controler.\nVisez juste entre les balises.\nVotre energie est symbolisee par la barre bleue en haut.\nles touches sont 456 (droite haut gauche).\nAppuyez sur une touche pour commencer...";
getch();

VGA();

printf("\t    LANDER BY Grboss");
for (int b12=110;b12<211;b12++) {pixel(b12,31,1,ecran);}
graphique();
}

void droite()
{
delay(60);
dr=1;
ga=0;

pixel(a,b,0,ecran);
pixel(a+1,b,0,ecran);
pixel(a+2,b,0,ecran);
pixel(a+3,b,0,ecran);
pixel(a+4,b,0,ecran);
pixel(a+5,b,0,ecran);
pixel(a+6,b,0,ecran);
pixel(a,b-1,0,ecran);
pixel(a+6,b-1,0,ecran);
pixel(a+1,b-2,0,ecran);
pixel(a+5,b-2,0,ecran);
pixel(a+3,b-1,0,ecran);
pixel(a+3,b-2,0,ecran);
pixel(a+3,b-3,0,ecran);
pixel(a+3,b-4,0,ecran);

a=a+4;
b=b+(300/a);

graphique();
}

void gauche()
{

delay(60);
ga=1;
dr=0;

pixel(a,b,0,ecran);
pixel(a+1,b,0,ecran);
pixel(a+2,b,0,ecran);
pixel(a+3,b,0,ecran);
pixel(a+4,b,0,ecran);
pixel(a+5,b,0,ecran);
pixel(a+6,b,0,ecran);
pixel(a,b-1,0,ecran);
pixel(a+6,b-1,0,ecran);
pixel(a+1,b-2,0,ecran);
pixel(a+5,b-2,0,ecran);
pixel(a+3,b-1,0,ecran);
pixel(a+3,b-2,0,ecran);
pixel(a+3,b-3,0,ecran);
pixel(a+3,b-4,0,ecran);

a=a-4;
b=b+(300/a);

graphique();
}

void haut()
{

delay(25);

force--;
r--;
pixel(r,31,0,ecran);

pixel(a,b,0,ecran);
pixel(a+1,b,0,ecran);
pixel(a+2,b,0,ecran);
pixel(a+3,b,0,ecran);
pixel(a+4,b,0,ecran);
pixel(a+5,b,0,ecran);
pixel(a+6,b,0,ecran);
pixel(a,b-1,0,ecran);
pixel(a+6,b-1,0,ecran);
pixel(a+1,b-2,0,ecran);
pixel(a+5,b-2,0,ecran);
pixel(a+3,b-1,0,ecran);
pixel(a+3,b-2,0,ecran);
pixel(a+3,b-3,0,ecran);
pixel(a+3,b-4,0,ecran);

if (ga == 1 && dr == 0 && force > 0)
{
delay(30);
b=b-(a/75)^(1/2);
a--;

}

if (dr == 1 && ga == 0 && force > 0)
{
delay(30);
b=b-(a/75)^(1/2);
a++;

}

if (force < 1)
{
b=b+(a/75)^(1/2);
graphique();
}

graphique();
}

void graphique()
{

for (int b10=110;b10<211;b10++) {pixel(b10,30,1,ecran);}
for (int b11=110;b11<211;b11++) {pixel(b11,32,1,ecran);}

for(int b1=100;b1<220;b1++) {pixel(b1,50,3,ecran);}
for(int b2=100;b2<220;b2++) {pixel(b2,150,3,ecran);}
for(int b3=50;b3<150;b3++) {pixel(100,b3,3,ecran);}
for(int b4=50;b4<150;b4++) {pixel(220,b4,3,ecran);}
pixel(al,134,3,ecran);
pixel(al,133,3,ecran);
pixel(al+taille,134,3,ecran);
pixel(al+taille,133,3,ecran);
for(int b5=100,b6=150;b5<111,b6>135;b5++,b6--) {pixel(b5,b6,3,ecran);}
for(int b7=220,b8=150;b7<209,b8>135;b7--,b8--) {pixel(b7,b8,3,ecran);}
for(int b9=115;b9<205;b9++) {pixel(b9,135,3,ecran);}

engin();
}

void engin()
{

pixel(a,b,7,ecran);
pixel(a+1,b,7,ecran);
pixel(a+2,b,7,ecran);
pixel(a+3,b,7,ecran);
pixel(a+4,b,7,ecran);
pixel(a+5,b,7,ecran);
pixel(a+6,b,7,ecran);
pixel(a,b-1,7,ecran);
pixel(a+6,b-1,7,ecran);
pixel(a+1,b-2,7,ecran);
pixel(a+5,b-2,7,ecran);
pixel(a+3,b-1,7,ecran);
pixel(a+3,b-2,7,ecran);
pixel(a+3,b-3,7,ecran);
pixel(a+3,b-4,7,ecran);

if (a > al && a+4 < al+taille && b > 134)
{
niveau++;
text();
cout<<"Niveau"<<" "<<niveau;
getch();

al=random(80)+116;
taille=random(10)+15;
a=160;
b=55;

ga=1;
dr=0;
VGA();
printf("\t       LANDER BY Grboss");
for (int b12=110;b12<r;b12++) {pixel(b12,31,1,ecran);}

graphique();
}

if (b > 134 & a < al)
{
text();
cout<<"perdu\n";
cout<<"score : "<<(niveau*100)-(100-force);
exit(1);
}

if (b > 134 & a+4 > al+taille)
{
text();
cout<<"perdu\n";
cout<<"score : "<<(niveau*100)-(100-force);
getch();
exit(1);
}

if (a < 101)
{
text();
cout<<"perdu\n";
cout<<"score : "<<(niveau*100)-(100-force);
getch();
exit(1);
}

if (a > 214)
{
text();
cout<<"perdu\n";
cout<<"score : "<<(niveau*100)-(100-force);
getch();
exit(1);
}

if (b <53)
{
text();
cout<<"perdu\n";
cout<<"score : "<<(niveau*100)-(100-force);
getch();
exit(1);
}

detect();
}

Conclusion :


Compilez de pref. avec Turbo C++ 3.0 en mode LARGE
Je rajouterai des commentaires plus tard....
d'autres sources sur http://www.partnc.fr.st

A voir également

Ajouter un commentaire

Commentaires

Salut,
Si ce soir tu n'as pas mis le nom du compilateur ton code sera supprimé ! ! !
@++
Salut,
un petit conseil, si tu vetu pas que ton code source soit supprimer rajoute le nom de ton compilateru dans le titre, voir l'edito du 09/10/2001

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.