DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦4918854bf⟧ TextFile

    Length: 9728 (0x2600)
    Types: TextFile
    Names: »ADVENTUR.E«

Derivation

└─⟦eca9022c5⟧ Bits:30002661 Datalære sådan - løsningsdiskette
    └─ ⟦this⟧ »ADVENTUR.E« 

TextFile

0010 // dette er en demonstration af et eventyr-spil. Det er ikke
0020 // særligt genialt, men er typisk for det niveau, som kan opnås«nul»
0030 // i f.eks. en dataopgave med lidt hjælp.«nul»
0040 // programnavn: SPIL
0050 //-------------------------------------------------------------«nul»
0060 DIM beskr$(6,5) OF 60,kort(6,4),lokudstyr$(6,2) OF 20
0070 DIM vejkrav$(6,4) OF 20,taske$(4) OF 20
0080 // hjælpestørrelser:
0090 DIM retning$ OF 4,byt$ OF 1,hjælp$ OF 20,nødv$ OF 20,svar$ OF 1
0100 //
0110 EXEC spilforklaring
0120 EXEC startindlæsning
0130 // diverse startværdier:
0140 RANDOMIZE 
0150 retning$:= "NØSV"
0160 vundet:= FALSE; harskat:= FALSE; skathjemme:= FALSE
0170 nr:= 1; glnr:= 1
0180 //
0190 REPEAT 
0200   CLEAR 
0210   FOR i:= 1 TO 5 DO
0220     PRINT beskr$(nr,i)
0230   NEXT i
0240   PRINT 
0250   FOR vej:= 1 TO 4 DO
0260     IF kort(nr,vej)<>0 THEN PRINT "-og du kan her gå mod ";retning$(vej:vej)
0270   NEXT vej
0290   PRINT "På denne lokalitet findes følgende ting, der kan tages med:"
0300   PRINT lokudstyr$(nr,1),"     og      ",lokudstyr$(nr,2)
0320   FOR vej:= 1 TO 4 DO
0330     IF kort(nr,vej)<>0 THEN
0340       PRINT "For at gå mod ";retning$(vej:vej)," skal du have ";
0350       PRINT vejkrav$(nr,vej);" i din taske."
0360     ENDIF 
0370   NEXT vej
0380   PRINT "(er der ikke nævnt noget krav, så er der fri passage)"
0400   EXEC opsamling
0410   hovsa:= RND(1,10)
0420   EXEC hændelse(hovsa)
0430   PRINT 
0440   PRINT "Du skal nu vælge, hvilken vej du vil gå. Du har følgende mulige:"
0450   FOR vej:= 1 TO 4 DO
0460     IF kort(nr,vej)<>0 THEN PRINT "   ";vej;" : mod ";retning$(vej:vej)
0470   NEXT vej
0480   REPEAT 
0490     INPUT "tast NUMMER på den valgte vej: ": valg
0500     IF kort(nr,valg)=0 THEN PRINT "Umuligt! - vælg igen."
0510     FOR pause:= 1 TO 1000 DO
0520     NEXT pause
0530   UNTIL kort(nr,valg)<>0
0540   //
0550   nødv$:= vejkrav$(nr,valg)
0560   IF nødv$ IN taske$(1)+taske$(2)+taske$(3)+taske$(4) OR nødv$=" " THEN
0570     glnr:= nr
0580     nr:= kort(nr,valg)
0590   ELSE 
0600     PRINT "Du har ikke det nødvendige udstyr til at komme den valgte vej"
0610     PRINT "og du må derfor forblive hvor du er! prøv igen"
0620     INPUT "-tast RETURN når du er klar:": svar$
0630   ENDIF 
0640   // er spillet vundet?:
0650   FOR i:= 1 TO 4 DO
0660     IF "skat" IN taske$(i) THEN harskat:= TRUE
0670   NEXT i
0680   IF harskat AND nr=1 THEN skathjemme:= TRUE
0690   IF skathjemme THEN
0700     CLEAR 
0710     PRINT AT(20,12),"DU HAR VUNDET SPILLET OG ER NU STINKENDE RIG"
0720   ENDIF 
0730 UNTIL skathjemme
0740 //------------------------------------------------------------------
0750 // nu følger underprogrammerne:«nul»
0760 PROC spilforklaring
0770   CLEAR 
0780   PRINT "Dette spil går ud på at drage til feernes hellige ø og hente"
0790   PRINT "en stor skat hjem igen derfra. Du har altså vundet spillet, når"
0800   PRINT "du har været på øen, fået fat i skatten og er kommet tilbage med"
0810   PRINT "den til dit startsted: den grønne eng."
0820   INPUT AT(20,10),"-tast RETURN når du er klar:": svar$
0830 ENDPROC spilforklaring
0840 //
0850 //
0860 PROC startindlæsning
0870   FOR r:= 1 TO 6 DO
0880     FOR s:= 1 TO 5 DO
0890       READ beskr$(r,s)
0900     NEXT s
0910   NEXT r
0920   //
0930   FOR r:= 1 TO 6 DO
0940     FOR s:= 1 TO 4 DO
0950       READ kort(r,s)
0960     NEXT s
0970   NEXT r
0980   //
0990   FOR r:= 1 TO 6 DO
1000     FOR s:= 1 TO 2 DO
1010       READ lokudstyr$(r,s)
1020     NEXT s
1030   NEXT r
1040   //
1050   FOR r:= 1 TO 6 DO
1060     FOR s:= 1 TO 4 DO
1070       READ vejkrav$(r,s)
1080     NEXT s
1090   NEXT r
1100   //
1110   // taskens startudrustning:«nul»
1120   FOR r:= 1 TO 4 DO READ taske$(r)
1130   //
1140 ENDPROC startindlæsning
1150 //
1160 //
1170 PROC hændelse(hovsa)
1180   IF hovsa=1 OR hovsa=2 THEN
1190     PRINT "En drage styrtdykker, griber dig og bringer tilbage til den"
1200     PRINT "lokalitet, du kom fra. Det kan give problemer med dit udstyr!"
1210     nr:= glnr
1220   ENDIF 
1230   //
1240   IF hovsa=3 OR hovsa=4 OR hovsa=5 THEN
1250     IF nr=6 THEN
1260       PRINT "DEN SOVENDE DRAGE ER VÅGNET!! - du må kæmpe mod den:"
1270       vundet:= FALSE
1280       IF "sværd" IN taske$(1)+taske$(2)+taske$(3)+taske$(4) THEN vundet:= TRUE
1290       IF vundet THEN
1300         PRINT "Da du har dit MAGISKE sværd overvinder du dragen. Du kan"
1310         PRINT "nu frit samle skatten op."
1320       ELSE 
1330         PRINT "Du mangler nu dit magiske sværd - og du må flygte tilbage"
1340         PRINT "til floden i din gummibåd - uden at få skatten med dig!"
1350         PRINT "Skatten går nu for evigt tabt i flodens malstrøm!"
1360         FOR i:= 1 TO 4 DO
1370           IF "skat" IN taske$(i) THEN taske$(i):= " "
1380         NEXT i
1390         nr:= 3
1400       ENDIF 
1410     ENDIF 
1420   ENDIF 
1430   //
1440   IF hovsa=6 OR hovsa=7 THEN
1450     PRINT "Du overraskes af uvejr og må grave dig ned i skjul mellem"
1460     PRINT "klippeblokkene for at redde dig."
1470     harskovl:= FALSE
1480     FOR i:= 1 TO 4 DO
1490       IF "skovl" IN taske$(i) THEN harskovl:= TRUE
1500     NEXT i
1510     IF harskovl THEN
1520       PRINT "Da du har taget en skovl med dig, klarer du problemerne"
1530       PRINT "og kan gå videre i spillet"
1540     ELSE 
1550       PRINT "Da du desværre ingen skovl har med dig, bliver du af de frådende"
1560       PRINT "vandmasser og jordskred revet med ned ad bjergsiden. Du vågner"
1570       PRINT "nu fortumlet op på en grøn eng - er det der du startede fra?"
1580       nr:= 1
1590     ENDIF 
1600   ENDIF 
1610 ENDPROC hændelse
1620 //
1630 PROC opsamling
1640   PRINT 
1650   PRINT "********* Nu kan du opsamle ting til din taske: *********"
1660   PRINT "Du har i øjeblikket følgende i din taske:"
1670   FOR i:= 1 TO 4 DO
1680     PRINT i," : ";taske$(i);" * ";
1690   NEXT i
1700   PRINT 
1710   PRINT "på denne lokalitet ligger altså følgende:"
1720   PRINT "  1 : ";lokudstyr$(nr,1);"         2 : ";lokudstyr$(nr,2)
1730   PRINT 
1740   INPUT "skal der byttes/opsamles noget? svar J eller N: ": byt$
1750   IF byt$ IN "Jj" THEN
1760     REPEAT 
1770       REPEAT 
1780         INPUT "hvilket NUMMER fra tasken skal lægges: ": læg
1790       UNTIL læg<=4 AND 1<=læg
1800       REPEAT 
1810         INPUT "hvilket NUMMER fra lokaliteten skal opsamles: ": ops
1820       UNTIL ops=1 OR ops=2
1830       hjælp$:= taske$(læg)
1840       taske$(læg):= lokudstyr$(nr,ops)
1850       lokudstyr$(nr,ops):= hjælp$
1860       INPUT "ønskes flere opsamlinger? (svar J eller N): ": byt$
1870     UNTIL byt$ IN "Nn"
1880   ENDIF 
1890 ENDPROC opsamling
1900 //----------------------------------------------------------------
1910 // Data til dette spil:«nul»
1920 DATA "Du står på en grøn eng. Mod Nord og Vest ligger der en dyb"
1930 DATA "afgrund. Mos Øst går en lille sti over mod en skov. Mod Syd"
1940 DATA "går en sti op ad et bjerg, hvis top er hyllet i tåge."
1950 DATA " I baggrunden brøler dragerne og spyr ild op mod dig."
1960 DATA " "
1970 // lok 2:«nul»
1980 DATA "Du trænger nu ind i en tæt skov, hvor du må gøre brug af din"
1990 DATA "økse for at komme frem."
2000 DATA "Mod nord har du stadig den dragefyldte afgrund."
2010 DATA "Fremad mod øst hører du de buldrende vandmasser fra en"
2020 DATA "stor flod, og mod syd skimtes de høje, kolde bjerge"
2030 // lok3:
2040 DATA "Du sejler nu ud på floden i din gummibåd. Floden er voldsomt"
2050 DATA "oprørt, og det er svært at se ret langt."
2060 DATA "Du føres af sted med strømmen mod syd, hvor en ø skimtes"
2070 DATA "i det fjerne. På vestbredden ses de skovklædte bredder, og"
2080 DATA "mod øst en ubestigelig stejl klippevæg."
2090 // lok 4:«nul»
2100 DATA "Du klatrer nu opad et stejlt bjergparti under brug af dit"
2110 DATA "reb. Et par drager fra afgrunden forsøger at klatre op"
2120 DATA "mod dig. Mod syd knejser en helt ufremkommelig bjergtop"
2130 DATA "og mod øst går terrænet over i et lavere højdedrag, der"
2140 DATA "til gengæld gennempiskes af en forrygende snestorm!"
2150 // lok 5:«nul»
2160 DATA "På dette isnende kolde højdedrag kan man kun overleve ved"
2170 DATA "at bygge en snehule og få tændt ild i en fart og afvente "
2180 DATA "snestormens ophør. Brug dit ildstål. Du kan skimte, at der"
2190 DATA "mod syd og øst er et stejlt fald ned til en flod, og mod nord"
2200 DATA "skimtes i snefoget en vildsom skov nede i dalen."
2210 // lok 6:«nul»
2220 DATA "Du står nu på den hellige Ø, hvor alfernes skat er begravet"
2230 DATA "under en stendysse. Hvis du er uheldig, kan du blive over-"
2240 DATA "faldet af den sovende drage, der vogter skatten - og hvis den "
2250 DATA "vågner må du dræbe den med dit sværd, der viser sig at være "
2260 DATA "MAGISK. Har du sværdet med? Ellers må du håbe den sover!"
2270 //
2280 // nu følger kortet:
2290 DATA 0,2,4,0
2300 DATA 0,3,5,1
2310 DATA 0,0,6,2
2320 DATA 1,5,0,0
2330 DATA 2,0,0,4
2340 DATA 3,0,0,0
2350 // lokudstyr:«nul»
2360 DATA "en økse","et sværd"
2370 DATA "et reb","en gummibåd"
2380 DATA "et anker","en fiskestang"
2390 DATA "en bjergkrystel","et ildstål"
2400 DATA "en hammer","en skovl"
2410 DATA "en madpakke","en skat"
2420 // vejkrav:«nul»
2430 DATA " ","en økse","et reb"," "
2440 DATA " ","en gummibåd","et reb"," "
2450 DATA " "," ","et anker","en økse"
2460 DATA "et reb","et ildstål"," "," "
2470 DATA "en økse"," "," "," "
2480 DATA " "," "," "," "
2490 // startindhold i taske:
2500 DATA "et spejl","en flaske whisky","en sutteklud","et tørklæde"
«eof»