123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- #include <KSGSStandart.h>
- var Säule s1;
- var Säule s2;
- var Säule s3;
- var Säule s4;
- var Spieler p;
- var bool läuft = false;
- var bool sStart = true;
- class Säule
- {
- private:
- var double x = 0;
- var int br = 100;
- var int y = 300;
- var int hö = 100;
- public:
- func void set( int n )
- {
- x = n * 300;
- y = Rückruf( "zufall", 150, 450 );
- }
- func void tick( double zeit )
- {
- x = x - ( zeit * 60 );
- if( (x + br) < 0 )
- {
- x = 1100;
- y = ( ( ( ( y + 2 ) * ( zeit * 100 ) ) % 4 ) * 100 ) + 150;
- }
- }
- func void render( Bild b )
- {
- b.füllRegion( x, 0, br, y, 0xFFFFFFFF );
- b.füllRegion( x, y + hö, br, 900 - ( y + hö ), 0xFFFFFFFF );
- }
- func bool collidiert( int xp, int yp, int brp, int höp )
- {
- if( ( xp + brp ) > x && xp < ( x + br ) )
- {
- if( yp < y || ( yp + höp ) > ( y + hö ) ) { return true; }
- }
- return false;
- }
- };
- class Spieler
- {
- private:
- var int x = 120;
- var double y = 320;
- var int br = 40;
- var int hö = 40;
- var double yS = 0;
- var double score = 0;
- var TextFeld scoreTF;
- public:
- func void set()
- {
- scoreTF.setPosition( 35, 35 );
- scoreTF.setGröße( 100, 30 );
- scoreTF.setStyle( 0x901 );
- scoreTF.setSchriftFarbe( 0xFF00FF00 );
- scoreTF.setSchriftGröße( 20 );
- scoreTF.setText( "Score: 0" );
- score = 0;
- y = 320;
- yS = 0;
- }
- func void tastatur( TastaturEreignis te )
- {
- yS = 10;
- }
- func void tick( double zeit )
- {
- score = score + ( zeit * 60 );
- y -= ( yS * zeit * 20 );
- yS -= ( zeit * 30 );
- var int sc;
- sc = ( score + 20 ) / 300;
- var Text sct = "Score: ";
- sct += sc;
- scoreTF.setText( sct );
- }
- func void render( Bild b )
- {
- b.füllRegion( x, y, br, hö, 0xFF00FF00 );
- scoreTF.render( 0, 0, b );
- }
- func bool collidiert( Säule s )
- {
- if( y < 0 ){ return true; }
- if( (y + hö ) > 700 ){ return true; }
- return s.collidiert( x, y, br, hö );
- }
- };
- func void start()
- {
- s1.set( 0 );
- s2.set( 1 );
- s3.set( 2 );
- s4.set( 3 );
- p.set();
- }
- func bool maus( MausEreignis me )
- {
- return true;
- }
- func bool tastatur( TastaturEreignis te )
- {
- if( te.id != 0 ){ return false; }
- if( läuft != true )
- {
- if( sStart != true )
- {
- s1.set( 0 );
- s2.set( 1 );
- s3.set( 2 );
- s4.set( 3 );
- p.set();
- }
- läuft = true;
- sStart = false;
- }
- p.tastatur( te );
- return true;
- }
- func bool tick( double zeit )
- {
- if( läuft != true ){ return false; }
- s1.tick( zeit );
- s2.tick( zeit );
- s3.tick( zeit );
- s4.tick( zeit );
- p.tick( zeit );
- if( p.collidiert( s1 ) || p.collidiert( s2 ) || p.collidiert( s3 ) || p.collidiert( s4 ) ) { läuft = false; }
- return true;
- }
- func void render( int xOff, int yOff, Bild rObj )
- {
- s1.render( rObj );
- s2.render( rObj );
- s3.render( rObj );
- s4.render( rObj );
- p.render( rObj );
- }
|