KsgsShopSeite.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. const char *_neu_karte_ksgs_shop_seite =
  2. "\n"
  3. "var int besitzStatus;\n"
  4. "var int erwerbbarStatus;\n"
  5. "var Bild goldBild;\n"
  6. "var Bild silberBild;\n"
  7. "var Bild kupferBild;\n"
  8. "\n"
  9. "class TextErscheinen\n"
  10. "{\n"
  11. "private:\n"
  12. " var TextFeld beschreibung;\n"
  13. " var Text txt;\n"
  14. " var int num;\n"
  15. " var int län;\n"
  16. " var double z;\n"
  17. "public:\n"
  18. " func void init( int besitzStatus )\n"
  19. " {\n"
  20. " initTextFeld( beschreibung, 5, 5, 545, 180, \"\", 0x101 );\n"
  21. " txt = \"Kartenbeschreibung hier insert\n\";\n"
  22. " txt += \"Maximale Spieleranzahl: 0\n\";\n"
  23. " txt += \"Teamanzahl: 0\n\";\n"
  24. " txt += \"Maximale Spieler pro Team: 0\n\";\n"
  25. " txt += \"Spieltyp: Team gegen Team\n\";\n"
  26. " if( besitzStatus == 1 )\n"
  27. " {\n"
  28. " txt += \"Du besitzt die Testversion dieser Karte.\n\";\n"
  29. " txt += \"Anzahl verbleibender Spiele: \";\n"
  30. " txt += Rückruf( \"GetTestVersionVerbleibend\" );\n"
  31. " }\n"
  32. " if( besitzStatus == 2 )\n"
  33. " {\n"
  34. " txt += \"Du besitzt die Vollversion dieser Karte.\";\n"
  35. " }\n"
  36. " län = txt.getLength();\n"
  37. " num = 0;\n"
  38. " z = 0;\n"
  39. " }\n"
  40. " func bool next( double zeit )\n"
  41. " {\n"
  42. " z += zeit;\n"
  43. " if( ( z > 0.03 ) && ( num < län ) )\n"
  44. " {\n"
  45. " var Text t;\n"
  46. " t = beschreibung.getText();\n"
  47. " while( z > 0.03 )\n"
  48. " {\n"
  49. " z -= 0.03;\n"
  50. " t.append( txt.getTeilText( num, num + 1 ) );\n"
  51. " num += 1;\n"
  52. " if( num < län )\n"
  53. " {\n"
  54. " break;\n"
  55. " }\n"
  56. " }\n"
  57. " beschreibung.setText( t );\n"
  58. " return true;\n"
  59. " }\n"
  60. " return false;\n"
  61. " }\n"
  62. " func void render( Bild b )\n"
  63. " {\n"
  64. " beschreibung.render( b );\n"
  65. " }\n"
  66. "};\n"
  67. "\n"
  68. "class TestVersion\n"
  69. "{\n"
  70. "private:\n"
  71. " var double y;\n"
  72. " var int x;\n"
  73. " var double yS;\n"
  74. " var int alpha;\n"
  75. " var TextFeld tve;\n"
  76. " var TextFeld tvkosten;\n"
  77. " var TextFeld tvGoldTF;\n"
  78. " var TextFeld tvSilberTF;\n"
  79. " var TextFeld tvKupferTF;\n"
  80. " var BildO tvGoldBildO;\n"
  81. " var BildO tvSilberBildO;\n"
  82. " var BildO tvKupferBildO;\n"
  83. " var Knopf tvKaufen;\n"
  84. " var TextFeld tvNGK;\n"
  85. "public:\n"
  86. " func void init()\n"
  87. " {\n"
  88. " yS = 150;\n"
  89. " x = 0;\n"
  90. " y = 0;\n"
  91. " alpha = 0;\n"
  92. " initTextFeld( tve, 5, 0, 300, 20, \"\", 0x101 );\n"
  93. " initTextFeld( tvkosten, 5, 25, 50, 20, \"\", 0x701 );\n"
  94. " initTextFeld( tvGoldTF, 60, 25, 0, 0, \"\", 0x701 );\n"
  95. " initTextFeld( tvSilberTF, 90, 25, 0, 0, \"\", 0x701 );\n"
  96. " initTextFeld( tvKupferTF, 120, 25, 0, 0, \"\", 0x701 );\n"
  97. " initTextFeld( tvNGK, 5, 75, 200, 20, \"\", 0x101 );\n"
  98. " if( ( ( besitzStatus == 0 ) || ( besitzStatus == 1 ) ) && ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 2 ) )\n"
  99. " {\n"
  100. " tve.setText( \"10 Spiele Testversion\" );\n"
  101. " tvkosten.setText( \"Kosten: \" );\n"
  102. " var int preis;\n"
  103. " preis = Rückruf( \"GetPreis\", 0 );\n"
  104. " var Text preisT = preis / 10000;\n"
  105. " tvGoldTF.setText( preisT );\n"
  106. " preisT = ( preis / 100 ) % 100;\n"
  107. " tvSilberTF.setText( preisT );\n"
  108. " preisT = preis % 100;\n"
  109. " tvKupferTF.setText( preisT );\n"
  110. " tvGoldTF.setGrößeNachText();\n"
  111. " tvSilberTF.setGrößeNachText();\n"
  112. " tvKupferTF.setGrößeNachText();\n"
  113. " tvGoldTF.setGröße( tvGoldTF.getBreite(), 20 );\n"
  114. " tvSilberTF.setGröße( tvSilberTF.getBreite(), 20 );\n"
  115. " tvKupferTF.setGröße( tvKupferTF.getBreite(), 20 );\n"
  116. " tvSilberTF.setPosition( tvSilberTF.getX() + tvGoldTF.getBreite(), tvSilberTF.getY() );\n"
  117. " tvKupferTF.setPosition( tvKupferTF.getX() + tvGoldTF.getBreite() + tvSilberTF.getBreite(), tvSilberTF.getY() );\n"
  118. " initBildO( tvGoldBildO, 60 + tvGoldTF.getBreite(), 25, goldBild );\n"
  119. " initBildO( tvSilberBildO, 90 + tvGoldTF.getBreite() + tvSilberTF.getBreite(), 25, silberBild );\n"
  120. " initBildO( tvKupferBildO, 120 + tvGoldTF.getBreite() + tvSilberTF.getBreite() + tvKupferTF.getBreite(), 25, kupferBild );\n"
  121. " initKnopf( tvKaufen, 5, 50, 100, 20, \"Erwerben\" );\n"
  122. " tvKaufen.setMausEreignis( \"tvKME\" );\n"
  123. " if( preis > Rückruf( \"GetKupfer\" ) )\n"
  124. " {\n"
  125. " tvKaufen.removeStyle( 0x2 );\n"
  126. " tvNGK.setText( \"Du hast nicht genug Geld.\" );\n"
  127. " }\n"
  128. " }\n"
  129. " }\n"
  130. " func bool tick( double z )\n"
  131. " {\n"
  132. " if( ( alpha == 255 ) && ( y >= 280 ) )\n"
  133. " {\n"
  134. " return tvKaufen.tick( z );\n"
  135. " }\n"
  136. " alpha += ( z * 100 );\n"
  137. " if( alpha > 255 )\n"
  138. " {\n"
  139. " alpha = 255;\n"
  140. " }\n"
  141. " y += ( yS * z );\n"
  142. " yS -= ( z * 40 );\n"
  143. " if( yS < 0 )\n"
  144. " {\n"
  145. " yS = 0;\n"
  146. " }\n"
  147. " if( y > 280 )\n"
  148. " {\n"
  149. " y = 280;\n"
  150. " }\n"
  151. " return true;\n"
  152. " }\n"
  153. " func void maus( MausEreignis me )\n"
  154. " {\n"
  155. " me.setMy( me.my - y );\n"
  156. " tvKaufen.doMausEreignis( me );\n"
  157. " me.setMy( me.my + y );\n"
  158. " }\n"
  159. " func void render( Bild b )\n"
  160. " {\n"
  161. " if( ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 2 ) )\n"
  162. " {\n"
  163. " b.setAlpha( alpha );\n"
  164. " if( b.setDrawOptions( 0, y, 300, 200 ) )\n"
  165. " {\n"
  166. " tve.render( b );\n"
  167. " tvkosten.render( b );\n"
  168. " tvGoldTF.render( b );\n"
  169. " tvSilberTF.render( b );\n"
  170. " tvKupferTF.render( b );\n"
  171. " tvGoldBildO.render( b );\n"
  172. " tvSilberBildO.render( b );\n"
  173. " tvKupferBildO.render( b );\n"
  174. " tvKaufen.render( b );\n"
  175. " tvNGK.render( b );\n"
  176. " b.releaseDrawOptions();\n"
  177. " }\n"
  178. " b.releaseAlpha();\n"
  179. " }\n"
  180. " }\n"
  181. "};\n"
  182. "\n"
  183. "class VollVersion\n"
  184. "{\n"
  185. "private:\n"
  186. " var double y;\n"
  187. " var int x;\n"
  188. " var double yS;\n"
  189. " var int alpha;\n"
  190. " var TextFeld vve;\n"
  191. " var TextFeld vvkosten;\n"
  192. " var TextFeld vvGoldTF;\n"
  193. " var TextFeld vvSilberTF;\n"
  194. " var TextFeld vvKupferTF;\n"
  195. " var BildO vvGoldBildO;\n"
  196. " var BildO vvSilberBildO;\n"
  197. " var BildO vvKupferBildO;\n"
  198. " var Knopf vvKaufen;\n"
  199. " var TextFeld vvNGK;\n"
  200. "public:\n"
  201. " func void init()\n"
  202. " {\n"
  203. " yS = 150;\n"
  204. " x = 0;\n"
  205. " y = 0;\n"
  206. " alpha = 0;\n"
  207. " initTextFeld( vve, 0, 0, 100, 20, \"\", 0x101 );\n"
  208. " initTextFeld( vvkosten, 410, 25, 50, 20, \"\", 0x701 );\n"
  209. " initTextFeld( vvGoldTF, 470, 25, 0, 0, \"\", 0x701 );\n"
  210. " initTextFeld( vvSilberTF, 500, 25, 0, 0, \"\", 0x701 );\n"
  211. " initTextFeld( vvKupferTF, 530, 25, 0, 0, \"\", 0x701 );\n"
  212. " initTextFeld( vvNGK, 390, 75, 160, 20, \"\", 0x101 );\n"
  213. " if( ( besitzStatus == 0 ) && ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 1 ) )\n"
  214. " {\n"
  215. " vve.setText( \"Vollversion\" );\n"
  216. " vve.setGrößeNachText();\n"
  217. " vve.setPosition( 550 - vve.getBreite(), vve.getY() );\n"
  218. " vvkosten.setText( \"Kosten: \" );\n"
  219. " var int preis;\n"
  220. " preis = Rückruf( \"GetPreis\", 1 );\n"
  221. " var Text preisT = preis / 10000;\n"
  222. " vvGoldTF.setText( preisT );\n"
  223. " preisT = ( preis / 100 ) % 100;\n"
  224. " vvSilberTF.setText( preisT );\n"
  225. " preisT = preis % 100;\n"
  226. " vvKupferTF.setText( preisT );\n"
  227. " vvGoldTF.setGrößeNachText();\n"
  228. " vvSilberTF.setGrößeNachText();\n"
  229. " vvKupferTF.setGrößeNachText();\n"
  230. " vvGoldTF.setGröße( vvGoldTF.getBreite(), 20 );\n"
  231. " vvSilberTF.setGröße( vvSilberTF.getBreite(), 20 );\n"
  232. " vvKupferTF.setGröße( vvKupferTF.getBreite(), 20 );\n"
  233. " vvKupferTF.setPosition( vvKupferTF.getX() - vvKupferTF.getBreite(), vvKupferTF.getY() );\n"
  234. " vvSilberTF.setPosition( ( vvSilberTF.getX() - vvKupferTF.getBreite() ) - vvSilberTF.getBreite(), vvSilberTF.getY() );\n"
  235. " vvGoldTF.setPosition( ( ( vvGoldTF.getX() - vvKupferTF.getBreite() ) - vvSilberTF.getBreite() ) - vvGoldTF.getBreite(), vvGoldTF.getY() );\n"
  236. " vvkosten.setPosition( vvGoldTF.getX() - 55, vvkosten.getY() );\n"
  237. " initBildO( vvGoldBildO, vvGoldTF.getX() + vvGoldTF.getBreite(), 25, goldBild );\n"
  238. " initBildO( vvSilberBildO, vvSilberTF.getX() + vvSilberTF.getBreite(), 25, silberBild );\n"
  239. " initBildO( vvKupferBildO, vvKupferTF.getX() + vvKupferTF.getBreite(), 25, kupferBild );\n"
  240. " initKnopf( vvKaufen, 450, 50, 100, 20, \"Erwerben\" );\n"
  241. " vvKaufen.setMausEreignis( \"vvKME\" );\n"
  242. " if( preis > Rückruf( \"GetKupfer\" ) )\n"
  243. " {\n"
  244. " vvKaufen.removeStyle( 0x2 );\n"
  245. " vvNGK.setText( \"Du hast nicht genug Geld.\" );\n"
  246. " }\n"
  247. " }\n"
  248. " }\n"
  249. " func bool tick( double z )\n"
  250. " {\n"
  251. " if( ( alpha == 255 ) && ( y >= 280 ) )\n"
  252. " {\n"
  253. " return vvKaufen.tick( z );\n"
  254. " }\n"
  255. " alpha += ( z * 100 );\n"
  256. " if( alpha > 255 )\n"
  257. " {\n"
  258. " alpha = 255;\n"
  259. " }\n"
  260. " y += ( yS * z );\n"
  261. " yS -= ( z * 40 );\n"
  262. " if( yS < 0 )\n"
  263. " {\n"
  264. " yS = 0;\n"
  265. " }\n"
  266. " if( y > 280 )\n"
  267. " {\n"
  268. " y = 280;\n"
  269. " }\n"
  270. " return true;\n"
  271. " }\n"
  272. " func void maus( MausEreignis me )\n"
  273. " {\n"
  274. " me.setMy( me.my - y );\n"
  275. " vvKaufen.doMausEreignis( me );\n"
  276. " me.setMy( me.my - y );\n"
  277. " }\n"
  278. " func void render( Bild b )\n"
  279. " {\n"
  280. " if( ( erwerbbarStatus != 0 ) && ( erwerbbarStatus != 1 ) )\n"
  281. " {\n"
  282. " b.setAlpha( alpha );\n"
  283. " if( b.setDrawOptions( 0, y, 700, 200 ) )\n"
  284. " {\n"
  285. " vve.render( b );\n"
  286. " vvkosten.render( b );\n"
  287. " vvGoldTF.render( b );\n"
  288. " vvSilberTF.render( b );\n"
  289. " vvKupferTF.render( b );\n"
  290. " vvGoldBildO.render( b );\n"
  291. " vvSilberBildO.render( b );\n"
  292. " vvKupferBildO.render( b );\n"
  293. " vvKaufen.render( b );\n"
  294. " vvNGK.render( b );\n"
  295. " b.releaseDrawOptions();\n"
  296. " }\n"
  297. " b.releaseAlpha();\n"
  298. " }\n"
  299. " }\n"
  300. "};\n"
  301. "\n"
  302. "var TextErscheinen beschreibung;\n"
  303. "var TestVersion tv;\n"
  304. "var VollVersion vv;\n"
  305. "\n"
  306. "func void start()\n"
  307. "{\n"
  308. " besitzStatus = Rückruf( \"GetBesitzStatus\" );\n"
  309. " erwerbbarStatus = Rückruf( \"GetErwerbbarStatus\" );\n"
  310. " goldBild = Rückruf( \"GetBild\", \"data/bilder/system.ltdb\", \"system.ltdb/gold.jpg\" );\n"
  311. " silberBild = Rückruf( \"GetBild\", \"data/bilder/system.ltdb\", \"system.ltdb/silber.jpg\" );\n"
  312. " kupferBild = Rückruf( \"GetBild\", \"data/bilder/system.ltdb\", \"system.ltdb/kupfer.jpg\" );\n"
  313. " beschreibung.init( besitzStatus );\n"
  314. " tv.init();\n"
  315. " vv.init();\n"
  316. "}\n"
  317. "\n"
  318. "func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )\n"
  319. "{\n"
  320. " tf.setPosition( x, y );\n"
  321. " tf.setGröße( br, hö );\n"
  322. " tf.setStyle( style );\n"
  323. " tf.setSchriftFarbe( 0xFFFFFFFF );\n"
  324. " tf.setText( t );\n"
  325. "}\n"
  326. "\n"
  327. "func void initBildO( BildO bo, int x, int y, Bild b )\n"
  328. "{\n"
  329. " bo.setPosition( x, y );\n"
  330. " bo.setGröße( b.getBreite(), b.getHeight() );\n"
  331. " bo.setStyle( 0x1 );\n"
  332. " bo.setBild( b );\n"
  333. "}\n"
  334. "\n"
  335. "func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )\n"
  336. "{\n"
  337. " k.setPosition( x, y );\n"
  338. " k.setGröße( br, hö );\n"
  339. " k.setText( t );\n"
  340. " k.addStyle( 0x1 );\n"
  341. "}\n"
  342. "\n"
  343. "func bool maus( MausEreignis me )\n"
  344. "{\n"
  345. " tv.maus( me );\n"
  346. " vv.maus( me );\n"
  347. " return me.verarbeitet;\n"
  348. "}\n"
  349. "\n"
  350. "func bool tick( double z )\n"
  351. "{\n"
  352. " var bool ret;\n"
  353. " ret = beschreibung.next( z );\n"
  354. " ret |= tv.tick( z );\n"
  355. " ret |= vv.tick( z );\n"
  356. " return ret;\n"
  357. "}\n"
  358. "\n"
  359. "func void render( Bild rObj )\n"
  360. "{\n"
  361. " beschreibung.render( rObj );\n"
  362. " tv.render( rObj );\n"
  363. " vv.render( rObj );\n"
  364. "}\n"
  365. "\n"
  366. "func bool tvKME( MausEreignis me )\n"
  367. "{\n"
  368. " if( me.id == 3 )\n"
  369. " {\n"
  370. " Rückruf( \"Kaufen\", 0 );\n"
  371. " }\n"
  372. " return true;\n"
  373. "}\n"
  374. "\n"
  375. "func bool vvKME( MausEreignis me )\n"
  376. "{\n"
  377. " if( me.id == 3 )\n"
  378. " {\n"
  379. " Rückruf( \"Kaufen\", 1 );\n"
  380. " }\n"
  381. " return true;\n"
  382. "}";