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