123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- #include <KSGSStandart.h>
- var int besitzStatus;
- var int erwerbbarStatus;
- var Bild goldBild;
- var Bild silberBild;
- var Bild kupferBild;
- class TextErscheinen
- {
- private:
- var TextFeld beschreibung;
- var Text txt;
- var int num;
- var int län;
- var double z;
- public:
- func void init( int besitzStatus )
- {
- initTextFeld( beschreibung, 5, 5, 545, 180, "", 0x101 );
- txt = "Dies ist eine Karte für das Spiel Linie\n";
- txt += "Maximale Spieleranzahl: 10\n";
- txt += "Teamanzahl: 10\n";
- txt += "Maximale Spieler pro Team: 1\n";
- txt += "Spieltyp: Alle gegen Alle\n";
- if( besitzStatus == 1 )
- {
- txt += "Du besitzt die Testversion dieser Karte.\n";
- txt += "Anzahl verbleibender Spiele: ";
- txt += Rückruf( "GetTestVersionVerbleibend" );
- }
- if( besitzStatus == 2 )
- {
- txt += "Du besitzt die Vollversion dieser Karte.";
- }
- län = txt.getLänge();
- num = 0;
- z = 0;
- }
- func bool next( double zeit )
- {
- z += zeit;
- if( ( z > 0.03 ) && ( num < län ) )
- {
- var Text t;
- t = beschreibung.getText();
- while( z > 0.03 )
- {
- z -= 0.03;
- t.anhängen( txt.getTeilText( num, num + 1 ) );
- num += 1;
- if( num < län )
- {
- break;
- }
- }
- beschreibung.setText( t );
- return true;
- }
- return false;
- }
- func void render( Bild b )
- {
- beschreibung.render( b );
- }
- };
- class TestVersion
- {
- private:
- var double y;
- var int x;
- var double yS;
- var int alpha;
- var TextFeld tve;
- var TextFeld tvkosten;
- var TextFeld tvGoldTF;
- var TextFeld tvSilberTF;
- var TextFeld tvKupferTF;
- var BildO tvGoldBildO;
- var BildO tvSilberBildO;
- var BildO tvKupferBildO;
- var Knopf tvKaufen;
- var TextFeld tvNGK;
- public:
- func void init()
- {
- yS = 150;
- x = 0;
- y = 0;
- alpha = 0;
- initTextFeld( tve, 5, 0, 300, 20, "", 0x101 );
- initTextFeld( tvkosten, 5, 25, 50, 20, "", 0x701 );
- initTextFeld( tvGoldTF, 60, 25, 0, 0, "", 0x701 );
- initTextFeld( tvSilberTF, 90, 25, 0, 0, "", 0x701 );
- initTextFeld( tvKupferTF, 120, 25, 0, 0, "", 0x701 );
- initTextFeld( tvNGK, 5, 75, 200, 20, "", 0x101 );
- if( ( besitzStatus == 0 ) && ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 2 ) )
- {
- tve.setText( "10 Spiele Testversion" );
- tvkosten.setText( "Kosten: " );
- var int preis;
- preis = Rückruf( "GetPreis", 0 );
- var Text preisT = preis / 10000;
- tvGoldTF.setText( preisT );
- preisT = ( preis / 100 ) % 100;
- tvSilberTF.setText( preisT );
- preisT = preis % 100;
- tvKupferTF.setText( preisT );
- tvGoldTF.setGrößeNachText();
- tvSilberTF.setGrößeNachText();
- tvKupferTF.setGrößeNachText();
- tvGoldTF.setGröße( tvGoldTF.getBreite(), 20 );
- tvSilberTF.setGröße( tvSilberTF.getBreite(), 20 );
- tvKupferTF.setGröße( tvKupferTF.getBreite(), 20 );
- tvSilberTF.setPosition( tvSilberTF.getX() + tvGoldTF.getBreite(), tvSilberTF.getY() );
- tvKupferTF.setPosition( tvKupferTF.getX() + tvGoldTF.getBreite() + tvSilberTF.getBreite(), tvSilberTF.getY() );
- initBildO( tvGoldBildO, 60 + tvGoldTF.getBreite(), 25, goldBild );
- initBildO( tvSilberBildO, 90 + tvGoldTF.getBreite() + tvSilberTF.getBreite(), 25, silberBild );
- initBildO( tvKupferBildO, 120 + tvGoldTF.getBreite() + tvSilberTF.getBreite() + tvKupferTF.getBreite(), 25, kupferBild );
- initKnopf( tvKaufen, 5, 50, 100, 20, "Erwerben" );
- tvKaufen.setMausEreignis( "tvKME" );
- if( preis > Rückruf( "GetKupfer" ) )
- {
- tvKaufen.löscheStyle( 0x2 );
- tvNGK.setText( "Du hast nicht genug Geld." );
- }
- }
- }
- func bool tick( double z )
- {
- if( ( alpha == 255 ) && ( y >= 280 ) )
- {
- return tvKaufen.tick( z );
- }
- alpha += ( z * 100 );
- if( alpha > 255 )
- {
- alpha = 255;
- }
- y += ( yS * z );
- yS -= ( z * 40 );
- if( yS < 0 )
- {
- yS = 0;
- }
- if( y > 280 )
- {
- y = 280;
- }
- return true;
- }
- func void maus( MausEreignis me )
- {
- me.setMy( me.my - y );
- tvKaufen.doMausEreignis( me );
- me.setMy( me.my + y );
- }
- func void render( Bild b )
- {
- if( ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 2 ) )
- {
- b.setAlpha( alpha );
- if( b.setDrawOptions( 0, y, 300, 200 ) )
- {
- tve.render( b );
- tvkosten.render( b );
- tvGoldTF.render( b );
- tvSilberTF.render( b );
- tvKupferTF.render( b );
- tvGoldBildO.render( b );
- tvSilberBildO.render( b );
- tvKupferBildO.render( b );
- tvKaufen.render( b );
- tvNGK.render( b );
- b.releaseDrawOptions();
- }
- b.releaseAlpha();
- }
- }
- };
- class VollVersion
- {
- private:
- var double y;
- var int x;
- var double yS;
- var int alpha;
- var TextFeld vve;
- var TextFeld vvkosten;
- var TextFeld vvGoldTF;
- var TextFeld vvSilberTF;
- var TextFeld vvKupferTF;
- var BildO vvGoldBildO;
- var BildO vvSilberBildO;
- var BildO vvKupferBildO;
- var Knopf vvKaufen;
- var TextFeld vvNGK;
- public:
- func void init()
- {
- yS = 150;
- x = 0;
- y = 0;
- alpha = 0;
- initTextFeld( vve, 0, 0, 100, 20, "", 0x101 );
- initTextFeld( vvkosten, 410, 25, 50, 20, "", 0x701 );
- initTextFeld( vvGoldTF, 470, 25, 0, 0, "", 0x701 );
- initTextFeld( vvSilberTF, 500, 25, 0, 0, "", 0x701 );
- initTextFeld( vvKupferTF, 530, 25, 0, 0, "", 0x701 );
- initTextFeld( vvNGK, 390, 75, 160, 20, "", 0x101 );
- if( ( besitzStatus == 0 ) && ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 1 ) )
- {
- vve.setText( "Vollversion" );
- vve.setGrößeNachText();
- vve.setPosition( 550 - vve.getBreite(), vve.getY() );
- vvkosten.setText( "Kosten: " );
- var int preis;
- preis = Rückruf( "GetPreis", 1 );
- var Text preisT = preis / 10000;
- vvGoldTF.setText( preisT );
- preisT = ( preis / 100 ) % 100;
- vvSilberTF.setText( preisT );
- preisT = preis % 100;
- vvKupferTF.setText( preisT );
- vvGoldTF.setGrößeNachText();
- vvSilberTF.setGrößeNachText();
- vvKupferTF.setGrößeNachText();
- vvGoldTF.setGröße( vvGoldTF.getBreite(), 20 );
- vvSilberTF.setGröße( vvSilberTF.getBreite(), 20 );
- vvKupferTF.setGröße( vvKupferTF.getBreite(), 20 );
- vvKupferTF.setPosition( vvKupferTF.getX() - vvKupferTF.getBreite(), vvKupferTF.getY() );
- vvSilberTF.setPosition( ( vvSilberTF.getX() - vvKupferTF.getBreite() ) - vvSilberTF.getBreite(), vvSilberTF.getY() );
- vvGoldTF.setPosition( ( ( vvGoldTF.getX() - vvKupferTF.getBreite() ) - vvSilberTF.getBreite() ) - vvGoldTF.getBreite(), vvGoldTF.getY() );
- vvkosten.setPosition( vvGoldTF.getX() - 55, vvkosten.getY() );
- initBildO( vvGoldBildO, vvGoldTF.getX() + vvGoldTF.getBreite(), 25, goldBild );
- initBildO( vvSilberBildO, vvSilberTF.getX() + vvSilberTF.getBreite(), 25, silberBild );
- initBildO( vvKupferBildO, vvKupferTF.getX() + vvKupferTF.getBreite(), 25, kupferBild );
- initKnopf( vvKaufen, 450, 50, 100, 20, "Erwerben" );
- vvKaufen.setMausEreignis( "vvKME" );
- if( preis > Rückruf( "GetKupfer" ) )
- {
- vvKaufen.löscheStyle( 0x2 );
- vvNGK.setText( "Du hast nicht genug Geld." );
- }
- }
- }
- func bool tick( double z )
- {
- if( ( alpha == 255 ) && ( y >= 280 ) )
- {
- return vvKaufen.tick( z );
- }
- alpha += ( z * 100 );
- if( alpha > 255 )
- {
- alpha = 255;
- }
- y += ( yS * z );
- yS -= ( z * 40 );
- if( yS < 0 )
- {
- yS = 0;
- }
- if( y > 280 )
- {
- y = 280;
- }
- return true;
- }
- func void maus( MausEreignis me )
- {
- me.setMy( me.my - y );
- vvKaufen.doMausEreignis( me );
- me.setMy( me.my + y );
- }
- func void render( Bild b )
- {
- if( ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 1 ) )
- {
- b.setAlpha( alpha );
- if( b.setDrawOptions( 0, y, 700, 200 ) )
- {
- vve.render( b );
- vvkosten.render( b );
- vvGoldTF.render( b );
- vvSilberTF.render( b );
- vvKupferTF.render( b );
- vvGoldBildO.render( b );
- vvSilberBildO.render( b );
- vvKupferBildO.render( b );
- vvKaufen.render( b );
- vvNGK.render( b );
- b.releaseDrawOptions();
- }
- b.releaseAlpha();
- }
- }
- };
- var TextErscheinen beschreibung;
- var TestVersion tv;
- var VollVersion vv;
- func void start()
- {
- besitzStatus = Rückruf( "GetBesitzStatus" );
- erwerbbarStatus = Rückruf( "GetErwerbbarStatus" );
- goldBild = Rückruf( "GetBild", "data/bilder/system.ltdb", "system.ltdb/gold.jpg" );
- silberBild = Rückruf( "GetBild", "data/bilder/system.ltdb", "system.ltdb/silber.jpg" );
- kupferBild = Rückruf( "GetBild", "data/bilder/system.ltdb", "system.ltdb/kupfer.jpg" );
- beschreibung.init( besitzStatus );
- tv.init();
- vv.init();
- }
- func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
- {
- tf.setPosition( x, y );
- tf.setGröße( br, hö );
- tf.setStyle( style );
- tf.setSchriftFarbe( 0xFFFFFFFF );
- tf.setText( t );
- }
- func void initBildO( BildO bo, int x, int y, Bild b )
- {
- bo.setPosition( x, y );
- bo.setGröße( b.getBreite(), b.getHöhe() );
- bo.setStyle( 0x1 );
- bo.setBild( b );
- }
- func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
- {
- k.setPosition( x, y );
- k.setGröße( br, hö );
- k.setText( t );
- k.addStyle( 0x1 );
- }
- func bool maus( MausEreignis me )
- {
- tv.maus( me );
- vv.maus( me );
- return me.verarbeitet;
- }
- func bool tick( double z )
- {
- var bool ret;
- ret = beschreibung.next( z );
- ret |= tv.tick( z );
- ret |= vv.tick( z );
- return ret;
- }
- func void render( Bild rObj )
- {
- beschreibung.render( rObj );
- tv.render( rObj );
- vv.render( rObj );
- }
- func bool tvKME( MausEreignis me )
- {
- if( me.id == 3 )
- {
- Rückruf( "Kaufen", 0 );
- }
- return true;
- }
- func bool vvKME( MausEreignis me )
- {
- if( me.id == 3 )
- {
- Rückruf( "Kaufen", 1 );
- }
- return true;
- }
|