Hm, der code vom link (vernünftig formatiert):
/*
dies soll eigentlcih ein spiel werden, oben mit der "do" schleife
isses so gedacht das sich das schiff bewegt, unten mit der "for"
schleife sind die "kometen" programmiert die einem entgegenkommen
- mein prob is nur, das die kometen nich entgegenkommen UND ich
das schiff bewegen kann (also nit gleichzeitig), das hat ich
schonmal so gemacht, da ging das nur jetz mit 3kometen gehts
nimmer -.-
*/
/*
* Changed to fit Borland C/C++ 3.0 for DOS:
* #include <cstdlib>
*/
#include <stdlib.h>
/*
* Changed to fit Borland C/C++ 3.0 for DOS:
* #include <iostream>
*/
#include <iostream.h>
/*
* I don't know this file:
* #include "stdafx.h"
*/
/*
* Do not include ".c"-files!
* #include "conioex.c"
*/
/*
* Changed to fit Borland C/C++ 3.0 for DOS:
* #include "conioex.h"
*/
#include <conio.h>
#include <time.h>
#include <stdio.h>
#include <malloc.h>
/*
* Needed for sleep( );
*/
#include <dos.h>
/*
* Typedef's:
*/
typedef enum { false = 0, true } bool;
/*
* Function Prototypes:
*/
int komet();
/*
* Application Entry:
*/
int main()
{
char a = 0;
char l = 0;
int q = 40;
/*
* Never used:
* int e = 5;
* char w, s, d;
*/
int x = 15;
int y = 5;
/*
* Never used:
* int zufall;
*/
srand( (unsigned) time(NULL) );
komet( );
do {
l = getch( );
if ( l == 'w' ) {
/*
* system( "cls" );
* Not portable, stay consistent:
*/
clrscr( );
/*
* y--;
* No temporary copy needed:
*/
--y;
gotoxy( x, y );
printf( "X->" );
} else if( l=='d' ) {
clrscr();
/*
* x++;
* see above!
*/
++x;
gotoxy( x, y );
printf( "X->" );
} else if( l == 'a' ) {
clrscr( );
/*
* --x;
* see above!
*/
--x;
gotoxy( x, y );
printf( "X->" );
} else if( l == 's' ) {
clrscr();
/*
* y++;
* see above!
*/
++y;
gotoxy( x,y );
printf( "X->" );
}
/*
* q--;
* see above, but why?
*/
--q;
/*
* why, assigned and never used!?
*/
a = 0;
/*
* } while( 1 );
*/
} while( true );
/*
* Never reached:
*/
/*
* system( "PAUSE" );
* Not portable, stay consistent:
*/
getch( );
return EXIT_SUCCESS;
}
int komet()
{
int zeit = 0;
int ende = 1;
int kom1x = 50;
int kom1y = 0;
int kom2x = 50;
int kom2y = 0;
int kom3x = 50;
int kom3y = 0;
/*
* Never used:
* int kom4x = 50, kom4y;
*/
/*
* srand( ( unsigned ) time( NULL ) );
* srand( ) should only be used once at
* program start to initialize rand( ).
* There's no need to do so every time
* you call rand( )!
*/
/*
* There is no need for integer zufall,
* int zufall = rand( ) % 3;
*/
kom1y = ( rand( ) % 3 ) + 10;
/*
* Changed
* int zufall2 = rand() % 3;
* if( zufall2 == 0 )
* zufall2 = 4;
* to:
*/
int zufall2 = rand() % 3;
zufall2 = !zufall2 ? 4 : zufall2;
kom2y = kom1y + zufall2;
/*
* Changed
* int zufall3 = rand() % 3;
* if( zufall3 == 0 )
* zufall3 = 4;
* to:
*/
int zufall3 = rand() % 3;
zufall3 = !zufall3 ? 4 : zufall3;
kom3y = kom2y + zufall3;
for( zeit = 75; zeit != ende; --zeit ) {
if( kom1x != 0 ) {
gotoxy (kom1x, kom1y);
printf("000");
}
/*
* if( zeit < 75-10 )
* {
* if(kom2x!=0)
* {
* gotoxy (kom2x, kom2y);
* printf("000");
* }
* }
* *WTF!?!?*
*/
if( ( zeit < 65 ) && ( kom3x != 0 ) ) {
gotoxy(kom3x, kom3y);
printf("000");
}
sleep(100);
clrscr();
if(kom1x!=0)
kom1x--;
/*
* if(zeit<75-10)
* {
* if(kom2x!=0)
* kom2x--;
* }
*
* if(zeit<75-20)
* {
* if(kom3x!=0)
* kom3x--;
* }
* Again: *WTF!?!?*
*/
if( ( zeit < 65 ) && ( kom2x != 0 ) )
kom2x--;
if( ( zeit < 55 ) && ( kom3x != 0 ) )
kom3x--;
}
/*
* defined as
* int komet()
* but no return value!
*/
}
Aber warum zum teufel lernst du nicht C (du bist übrigens im falschen Forum, hier ist C++) an einfachen Beispielen und wendest dann das erlernte in *einfachen*
Progrämmchen an, anstatt dich auf ein "Spiel" zu stürzen, das weder irgendwann
geil aussehen noch in absehbarer Zeit funktionieren wird? nimm dir bitte meine
Kommentare zu Herze und denk scharf nach.
Greetz, Swordfish