home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 09_10 / gfademo / mirror.gfa (.txt) < prev    next >
Encoding:
GFA-BASIC MS-DOS  |  1991-05-20  |  24.6 KB  |  600 lines

  1. GFA-BASIC MS-DOS
  2. Sound
  3. Anzahl
  4. NrAlt
  5. Merki
  6. Merkh
  7. SchussX1
  8. SchussY1
  9. Reflektion
  10. SoundOn
  11. Again
  12. Turned
  13. Moved
  14. Shapes
  15. zeichnen
  16. 15======'
  17. Stone
  18. SchussX
  19. SchussY
  20. Shoot
  21. Shield
  22. Swupp
  23. Score=============================================NM
  24. MakeShapes    StartGame
  25. DrawSegment
  26. DrawZiffer
  27. DrawMirror
  28. TurnMirror
  29. MoveMirror
  30. Shoot
  31. PBOXol1
  32. Sound
  33. rausDURE
  34. Haupt-SpielroutineDO
  35. (20,8),
  36. (11,8),
  37. (11,8),
  38. (2,6)
  39. (6,6),
  40. (2)DIM
  41. (72),
  42. DEFMOUSE
  43. PROCEDURE
  44. COLOR
  45. ELSECOLOR
  46. ENDIF
  47. COLOR
  48. ELSECOLOR
  49. ENDIF
  50. COLOR
  51. ELSECOLOR
  52. ENDIF
  53. COLOR
  54. ELSECOLOR
  55. ENDIF
  56. COLOR
  57. ELSECOLOR
  58. ENDIF
  59. COLOR
  60. ELSECOLOR
  61. ENDIF
  62. COLOR
  63. ELSECOLOR
  64. ENDIF
  65. RETURN
  66. PROCEDURE
  67. Farbe
  68. Segment
  69. Farbe
  70. Segment
  71. Breite
  72. Segmente
  73. Y-Startposition
  74. ZiffernSELECT
  75. 36)CASE
  76. 93)CASE
  77. 46)CASE
  78. 37)CASE
  79. ENDSELECT
  80. RETURN
  81.  Maustasten: <links> Spiegel drehen/schie
  82. en  <rechts> Spiegel verschieben 
  83.  Spiegel zuerst verschieben, dann drehen!     <Q> Spiel beenden oder neu   
  84.     (c) 1991 toolbox
  85. PROCEDURE
  86. Shapes
  87. zeichnen
  88. 15SCREEN
  89. Farben
  90. 3DEFFILL
  91. <2COLOR
  92. 12ELSECOLOR
  93. 10ENDIF
  94. PCIRCLE
  95. <2COLOR
  96. ELSECOLOR
  97. ENDIF
  98. DEFLINE
  99. CIRCLE
  100. 25,25,15
  101. COLOR
  102. 15DEFLINE
  103. =0LINE
  104. 10,10,40,40ENDIF
  105. SELECT
  106. 1,3LINE
  107. 10,40,40,10CASE
  108. 0,2LINE
  109. 10,10,40,40ENDSELECT
  110. 2,2,48,48,
  111. (8)DEFLINE
  112. COLOR
  113. 15DEFFILL
  114. GRAPHMODE
  115. *50,0,45+
  116. *50,50,
  117. )NEXT
  118. COLOR
  119. 13FOR
  120. *50,5+
  121. *50,45-
  122. *50,5+
  123. *50,45-
  124. )NEXT
  125. ERASE
  126. 2,2,48,48,
  127. COLOR
  128. DEFFILL
  129. 14PBOX
  130. DEFFILL
  131. 412,12,628,388
  132. 453COLOR
  133. 415,15,625,385BOX
  134. 416,16,624,384COLOR
  135. 14PRINT
  136. AT(54,3);"
  137. "PRINT
  138. AT(54,4);"
  139. "PRINT
  140. AT(54,5);"
  141. PRINT
  142. AT(54,6);"
  143. "PRINT
  144. AT(54,7);"
  145. COLOR
  146. 12BOX
  147. PRINT
  148. AT(3,27);"
  149. Maustasten:
  150. <links>
  151. Spiegel
  152. drehen/schie
  153. <rechts>
  154. Spiegel
  155. verschieben
  156. "PRINT
  157. AT(3,28);"
  158. Spiegel
  159. zuerst
  160. verschieben,
  161. drehen!
  162. Spiel
  163. beenden
  164. "COLOR
  165. PRINT
  166. AT(54,24);"
  167. toolbox"
  168. RETURN
  169. MakeShapes
  170. PROCEDURE
  171. einen
  172. Spiegelstein
  173. zeichnenPUT
  174. *50+2,
  175. *50+2,
  176. )RETURN
  177. Schwierigkeit@Z
  178. 1|2@H
  179. SoundeffekteZ
  180. An|AusH
  181. Anzahl Spiegel|16 Spiegel|20 Spiegel|24 Spiegel|28 Spiegel|32 Spiegel|36 Spiegel
  182. PROCEDURE
  183. Neuanfang
  184. ALERT
  185. "Schwierigkeit",
  186. "1|2",
  187. ALERT
  188. "Soundeffekte",
  189. "An|Aus",
  190. POPUP("Anzahl
  191. Spiegel|16
  192. Spiegel|20
  193. Spiegel|24
  194. Spiegel|28
  195. Spiegel|32
  196. Spiegel|36
  197. Spiegel",
  198. =FALSE
  199. GRAPHMODE
  200. COLOR
  201. 0DEFFILL
  202. 14PBOX
  203. 0,0,400,398CLR
  204. ARRAYFILL
  205. ARRAYFILL
  206. ARRAYFILL
  207. ARRAYFILL
  208. ARRAYFILL
  209. GRAPHMODE
  210. COLOR
  211. 14,1DEFFILL
  212. =RANDOM(9)
  213. )=25+
  214. )=75+
  215. *50PUT
  216. )-20,
  217. )-20,
  218. )PBOX
  219. *50,5+
  220. *350,95+
  221. *50,45+
  222. *50,5+
  223. *350,95+
  224. *50,45+
  225. *350TEXT
  226. *50,33+
  227. *350,2-
  228. Spiegelfeld
  229. zeichnenCOLOR
  230. 15,0DEFFILL
  231. 49,49,351,351DEFLINE
  232. 6LINE
  233. *50,50,50+
  234. *50,350
  235. *50+50,350,
  236. *50+50
  237. Spiegel
  238. setzen
  239. ARRAYFILL
  240. (),-1WHILE
  241. Spiegelsteine
  242. setzen
  243. =RANDOM(6)+1
  244. =RANDOM(6)+1
  245. =RANDOM(2+
  246. ENDIF
  247. WENDCOLOR
  248. 15DEFFILL
  249. GRAPHMODE
  250. 55,5,95,45
  251. 55,355,95,395GRAPHMODE
  252. (1)=1
  253. (1)=7
  254. (2)=1
  255. (2)=0COLOR
  256. DEFFILL
  257. RETURN
  258. StartGame
  259. PROCEDURE
  260. SELECT
  261. )CASE
  262. ENDSELECT
  263. =TRUEENDIF
  264. RETURN
  265. TurnMirror
  266. PROCEDURE
  267. Punkte
  268. abziehen
  269. Altes
  270. schenGRAPHMODE
  271. =FALSE
  272. REPEATMOUSE
  273. =INT(
  274. /50)*50
  275. =INT(
  276. /50)*50
  277. /50IF
  278. <=300
  279. <=300IF
  280. =TRUEELSE
  281. =FALSE
  282. ENDIF
  283. =FALSE
  284. ENDIF
  285. =TRUE
  286. *50+2,
  287. *50+2,
  288. ENDIF
  289. UNTIL
  290. =TRUE
  291. /50)=
  292. ckschreiben
  293. =TRUE
  294. beendetENDIF
  295. RETURN
  296. MoveMirror
  297. Wollen Sie das|Spiel beenden?eZ
  298. Weiter|Neu|QuituH
  299. PROCEDURE
  300. Haupt-SpielroutineDO
  301. Spielers
  302. anzeigen
  303. ENDIF
  304. Variablen
  305. schen
  306. GRAPHMODE
  307. WHILE
  308. MOUSEKWENDREPEATMOUSE
  309. =INT(
  310. /50)*50
  311. =INT(
  312. /50)*50
  313. =UPPER$(INKEY$)WHILE
  314. INKEY$<>""WENDIF
  315. Spiel
  316. abbrechenALERT
  317. 1,"Wollen
  318. das|Spiel
  319. beenden?",1,"Weiter|Neu|Quit",
  320. SELECT
  321. 2GOTO
  322. 3SCREEN
  323. ndeEND
  324. ENDSELECT
  325. ENDIF
  326. Spiegel
  327. drehen
  328. verschieben
  329. <=300
  330. <=300
  331. Out!=FALSE
  332. Screen-
  333. Feldkoordinaten
  334. umrechnen
  335. =INT(
  336. /50)*50
  337. Feldkoordinaten
  338. runden
  339. =INT(
  340. /50)*50IF
  341. SELECT
  342. Spiegel
  343. drehen
  344. Taste
  345. 1CASE
  346. )=>50
  347. verschieben
  348. Taste
  349. Punkte
  350. tig!ENDIF
  351. ENDSELECT
  352. ENDIF
  353. ENDIF
  354. Schwarzes
  355. bewegt
  356. sichIF
  357. /50<>
  358. <=300
  359. /50COLOR
  360. 15,0DEFFILL
  361. )*50+5,
  362. )*50+5,
  363. )*50+45,
  364. )*50+45
  365. 1)*7PBOX
  366. )*50+5,
  367. )*50+5,
  368. )*50+45,
  369. )*50+45COLOR
  370. 15DEFFILL
  371. ENDIF
  372. UNTIL
  373. <=300
  374. <=300
  375. =2))'
  376. SCHUSS!
  377. Startkoordinaten
  378. Strahl
  379. ermitteln
  380. )*50+25
  381. =25ENDIF
  382. )*50+25
  383. ENDIF
  384. Screen-sichern
  385. Artikel
  386. beschriebenen
  387. Methode
  388. wurde'
  389. ausdokumentiert.
  390. Grund:
  391. Speicherplatzprobleme.'
  392. n%+39,
  393. Monitor$(n%
  394. GRAPHMODE
  395. andere
  396. Methode:
  397. Linien
  398. XOR-Modus
  399. zeichnen
  400. COLOR
  401. REPEATFOR
  402. Linie
  403. einem
  404. chsten
  405. ziehenIF
  406. PAUSE
  407. ENDIF
  408. einzelne
  409. Punkte!
  410. Feldkoordinate
  411. Feldkoordinate
  412. Richtungen
  413. sichern
  414. SELECT
  415. Spiegeltyp
  416. checken
  417. SOUND
  418. neusten
  419. GFA-Version
  420. jetzt
  421. implementiert!SOUND
  422. 0ENDIF
  423. SOUND
  424. 0SOUND
  425. 0ENDIF
  426. ENDSELECT
  427. SELECT
  428. ENDIF
  429. ENDIF
  430. ENDSELECT
  431. ENDIF
  432. UNTIL
  433. =375'
  434. Screen-restaurieren
  435. Artikel
  436. beschriebenen
  437. Methode
  438. wurde
  439. ausdokumentiert.
  440. Grund:
  441. Speicherplatzprobleme.'
  442. Screen
  443. restaurieren
  444. Monitor$(n%
  445. SchussX1%,
  446. SchussX2%
  447. -1FOR
  448. Linie
  449. einem
  450. chsten
  451. ziehenADD
  452. Grundstein
  453. getroffen
  454. Scorefeld
  455. getroffenCLR
  456. +1)*10
  457. ENDIF
  458. =RANDOM(9)
  459. Scorestein
  460. animierenIF
  461. SOUND
  462. ENDIF
  463. ELSEPUT
  464. SOUND
  465. ENDIF
  466. ENDIF
  467. ELSEDEC
  468. ENDIF
  469. ENDIF
  470. :RETURN
  471.   Spieler Y
  472. Drehe die Spiegel!
  473. Bewege die Spiegel! 
  474.                    Q
  475. Schie
  476.  auf den Gegner!
  477.                         
  478. Punkte Spieler 1: 
  479. -####
  480. Punkte Spieler 2: 
  481. -####
  482. PROCEDURE
  483. Infobox
  484. aktualisieren
  485. GRAPHMODE
  486. COLOR
  487. PRINT
  488. AT(59,10);"
  489. Spieler
  490. "COLOR
  491. 12PRINT
  492. AT(57,12);"Drehe
  493. Spiegel!"IF
  494. )=>50
  495. PRINT
  496. AT(57,13);"Bewege
  497. Spiegel!"
  498. ELSEPRINT
  499. AT(57,13);"
  500. ENDIF
  501. )=>200PRINT
  502. AT(55,14);"Schie
  503. Gegner!"
  504. ELSEPRINT
  505. AT(55,14);"
  506. ENDIF
  507. COLOR
  508. 15PRINT
  509. AT(55,16);"Punkte
  510. Spieler
  511. ";USING
  512. "-####",
  513. PRINT
  514. AT(55,17);"Punkte
  515. Spieler
  516. ";USING
  517. "-####",
  518. 1)+1)
  519. 1)+1)ENDIF
  520. )ENDIF
  521. RETURN
  522. Punkte im Soll!
  523. Da ist nix mehr!
  524. Markierter Stein!!
  525. Falsche Seite!
  526.                     
  527.                     
  528. PROCEDURE
  529. Zahlenfeld
  530. getroffenGRAPHMODE
  531. COLOR
  532. ),200IF
  533. ENDIF
  534. ENDIF
  535. =2)IF
  536. 1)+1)*50+25IF
  537. -25)/50)=FALSE
  538. )=>0COLOR
  539. DEFFILL
  540. +20COLOR
  541. =1000
  542. SOUND
  543. 1NEXT
  544. ENDIF
  545. -25)/50)=TRUE
  546. 1)+1),100INC
  547. )ENDIF
  548. =TRUEPRINT
  549. AT(59,20);"Punkte
  550. Soll!"
  551. ENDIF
  552. =TRUEPRINT
  553. AT(57,20);"Da
  554. mehr!"ENDIF
  555. =TRUEPRINT
  556. AT(57,20);"Markierter
  557. Stein!"
  558. ENDIF
  559. =TRUEPRINT
  560. AT(59,21);"Falsche
  561. Seite!"ENDIF
  562. =TRUE
  563. =FALSE
  564. 1)+1),100IF
  565. -2SOUND
  566. 0SOUND
  567. 1000-
  568. ELSEDELAY
  569. ENDIF
  570. COLOR
  571. PRINT
  572. AT(57,20);"
  573. PRINT
  574. AT(57,21);"
  575. ENDIF
  576. RETURN
  577.    Spieler 2:|Du hast gewonnen!|  Noch einmal?Z
  578. Jawoll!|Nee...H
  579.    Spieler 1:|Du hast gewonnen!|  Noch einmal?Z
  580. Jawoll!|Nee...H
  581. PROCEDURE
  582. Winner!IF
  583. ALERT
  584. Spieler
  585. 2:|Du
  586. gewonnen!|
  587. einmal?",1,"Jawoll!|Nee...",
  588. ELSEALERT
  589. Spieler
  590. 1:|Du
  591. gewonnen!|
  592. einmal?",1,"Jawoll!|Nee...",
  593. ENDIF
  594. =TRUEELSE
  595. Programmende
  596. SCREEN
  597. TextmodusEND    '
  598. ENDIF
  599. RETURN
  600.