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