home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1987 August / 64er_Magazin_87-08_1987_Markt__Technik_de_Side_A.d64 / hirn 64 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1987-01-01  |  3.8 KB  |  95 lines

  1. 0 rem *********************************
  2. 1 rem *                               *
  3. 2 rem *       **  hirn 64  **         *
  4. 3 rem *                               *
  5. 4 rem *           1986 by             *
  6. 5 rem *        wilhelm todter         *
  7. 6 rem *       eisenhandstr. 23        *
  8. 7 rem *         a-4020 linz           *
  9. 8 rem *                               *
  10. 9 rem *********************************
  11. 10 rem
  12. 11 rem *      hypra-basic module:                   2, 3, 21, 31, 34, ??71??
  13. 12 rem
  14. 100 poke53280,6:poke53281,6:poke646,7:aw=rnd(-ti):printchr$(14)
  15. 109 rem * erweiterung laden und starten
  16. 110 ifpeek(49152)=169andpeek(49153)=11andpeek(49154)=141andpeek(49155)=8then130
  17. 120 printchr$(147);"[204]oading ...":load"hirn.erw",8,1
  18. 129 rem * variable vordefinieren
  19. 130 sys49152:jo=56320:sp=14:zl=22:fe=0:fb=8:fa=1:dimfa(6),fe(4)
  20. 132 p1$=chr$(5)+"^":p2$=chr$(5)+"_":li$=chr$(155)+"[192]"
  21. 140 fori=1to6:readfa(i):next
  22. 141 data 7,2,4,14,3,5
  23. 150 t1$="[158]*[200][156][201][154][210][159][206]*":t2$="*[159]+[154]6[156]4+[158]*":t3$="[158]*h[156]i[154]r[159]n*"
  24. 160 le$="                                       "
  25. 199 rem * titelbild
  26. 200 printchr$(147):frame0:back0:pen15:reclow0,0,40,25,15:reclow1,1,38,23,15
  27. 210 big4,8,t1$:big9,8,t2$:set9,15,"1986 by [215]ilhelm [212]odter":invers14,8,16,31
  28. 220 set8,19,"[208]ress <[210][197][212][213][210][206]> to start":blink 19,14,19,21,200
  29. 230 geti$:ifi$<>chr$(13)then220
  30. 299 rem * spielfeldaufbau
  31. 300 printchr$(142);chr$(147):pen15
  32. 310 set15,0,"[176][192][178][192][178][192][178][192][174]":set15,1,"[221]?[155][221]?[155][221]?[155][221]?[155][221]"
  33. 320 fori=2to20step2:set15,i,"[171][192][219][192][219][192][219][192][179]":set15,i+1,"[221][215][221][215][221][215][221][215][221]":next
  34. 330 set15,22,"[173][192][177][192][177][192][177][192][189]":pen1:set6,1,"*wt*";:set30,1,"*86*";
  35. 340 fori=0to5:bigi*4,0,mid$(t3$,2*i+1,2):bigi*4,36,mid$(t2$,2*i+1,2):next
  36. 350 fori=0to5:penfa(i+1):set8,8+i,chr$(175):next:invers8,8,13,8
  37. 360 pen1:setsp,zl,"^":set9,fb,"_":pen15
  38. 362 se$="*loeschen*":fori=1to10:set13,2*i,mid$(se$,i,1):next:sline1,12,21,15
  39. 364 se$="*bewerten*":fori=1to10:set25,2*i,mid$(se$,i,1):next:sline1,26,21,15
  40. 369 rem * farbcode durch zufallszahlen
  41. 370 se$="* ich lose die farben aus *":gosub1000
  42. 380 fori=1to4:co(i)=fa(int(6*rnd(1))+1):next
  43. 400 pen15:se$="* auf geht's! *":gosub1000
  44. 409 rem * eingabeschleife
  45. 410 do:jy=peek(jo):getse$:ifsp<>24then:set24,zl,chr$(32)
  46. 412 ifsp<>14then:set14,zl,chr$(32)
  47. 419 rem * feldauswahl
  48. 420 ifjy=123andsp>14thensp=sp-2:setsp,zl,p1$:fe=fe-1:ifsp<22then:setsp+2,zl,li$
  49. 430 ifjy=119andsp<24thensp=sp+2:setsp,zl,p1$:fe=fe+1:ifsp>16then:setsp-2,zl,li$
  50. 439 rem * farbauswahl
  51. 440 ifjy=126andfb>8thenfb=fb-1:set9,fb,p2$:set9,fb+1,chr$(32):fa=fa-1
  52. 450 ifjy=125andfb<13thenfb=fb+1:set9,fb,p2$:set9,fb-1,chr$(32):fa=fa+1
  53. 460 loop until jy<119orse$=chr$(133)
  54. 464 rem * f1 = aufgabe
  55. 465 ifse$=chr$(133)then800
  56. 469 rem * farbe setzen
  57. 470 ifsp>14andsp<24then:penfa(fa):setsp,zl-1,"[209]";:fe(fe)=fa(fa):goto410
  58. 480 ifsp=14then:pen15:set16,zl-1,"[215][215][215][215]":fori=1to4:fe(i)=0:next:goto410
  59. 499 rem * auswertung einer zeile
  60. 500 se$="* mal sehen ... *":gosub1000
  61. 509 rem * nicht alle felder gesetzt
  62. 510 fl=0:fori=1to4:iffe(i)=0thenfl=1
  63. 520 next:iffl=1then:se$="* so aber nicht!! *":gosub1000:goto400
  64. 529 rem * codezeile kopieren
  65. 530 fori=1to4:fv(i)=co(i):next
  66. 539 rem * farbe und position richtig
  67. 540 fw=0:fori=1to4:iffe(i)=fv(i)thenfw=fw+1:fe(i)=0:fv(i)=-1
  68. 542 next:iffw>0then:pen1:fori=1tofw:set28+i,zl-1,"*":next
  69. 549 rem * nur farbe richtig
  70. 550 fg=0:fori=1to4:forj=1to4:iffe(i)=fv(j)thenfg=fg+1:fe(i)=0:fv(j)=-1
  71. 552 next:next:iffg>0then:pen15:fori=1tofg:set28+fw+i,zl-1,"+":next
  72. 560 sp=16:zl=zl-2:pen1:set24,zl+2,chr$(32):fe=1
  73. 569 rem * spiel beendet?
  74. 570 iffw<4andzl>2then:setsp,zl,"^":goto400
  75. 579 rem * spielende - code zeigen
  76. 580 fori=1to4:penco(i):set14+2*i,1,"[209]":next:iffw=4then600
  77. 589 rem * verloren
  78. 590 pen15:se$="* mein tip: ueben, ueben ... *":gosub1000:gosub1100:run
  79. 599 rem * gewonnen
  80. 600 pen15:ifzl=20thense$="* ph! reiner zufall! *"
  81. 610 ifzl=18orzl=16thense$="* na ja, mit glueck... *"
  82. 620 ifzl=14orzl=12thense$="* bist ja ein mitdenker! *"
  83. 630 ifzl=10orzl=8thense$="* auch nicht schlecht! *"
  84. 640 ifzl=6orzl=4orzl=2thense$="* das geht noch besser! *"
  85. 650 gosub1000:gosub1100:run
  86. 799 rem * aufgegeben
  87. 800 fori=1to4:penco(i):set14+2*i,1,"[209]":next
  88. 810 pen15:se$="* aufgegeben *":gosub1000:gosub1100:run
  89. 999 rem * kommentarzeile ausgeben
  90. 1000 set0,24,le$;:set20-len(se$)/2,24,se$;:poke162,200
  91. 1010 ifpeek(162)then1010
  92. 1020 return
  93. 1099 rem * kommentarzeile blinken
  94. 1100 blink24,19-len(se$)/2,24,21+len(se$)/2,200:return
  95.