GithubHelp home page GithubHelp logo

kaptajnkaper's Introduction

KaptajnKaper

Source Code of Peter Ole Frederiksens original Danish pirate game

Peter Ole Frederiksen klassiske piratspil, Kaptajn Kaper i Kattet til PC DOS 2.0 fra 1985, udgives her under en GNU General Public License version 3 licens i samarbejde med Peter Ole Frederiksens to sønner, Jan Thorhauge Frederiksen og Morten Frederiksen. Kildekoden er doneret til Det Kgl. Bibliotek af Thorbjørn Stegelmann, som vi takker mange gange for at hjælpe med at sikre bevaringen af den digitale danske kultuarv for eftertiden.

Nedenfor er indholdet af Peter Ole Frederiksens egne instrukser fra disketten med spillets kildekode:

Dette er sourcekoden til Kaptajn Kaper i Kattegat.

Foruden denne file, skal disketten indeholde følgende:

BUILD.BAS
SKUD.BAS
TEGN.BAS
HLP.BAS
KAPER.BAS
SPECIAL.BAS
TITEL.PIC

Build opbygger kortet over Kattegat og BSAVE'er det.
Skud opbygger billedet til kamp med kanoner - herunder også det skib,
der bruges, når man border - og BSAVE'er det.
Tegn laver diverse plask og flag og gemmer dem i figure.dat
Hlp opbygger help-filen med skilletegn for ny side og nyt afsnit.
Kaper er selve hovedprogrammet.

Du kan udskrive programmet ved "print kaper.bas" eller editere det
direkte med personal editor eller lignende.

Special er en version, der kan køre uden at være blevet kompileret
med BASIC COMPILER, altså lavet til maskinkode.

Du må være klar over, at denne version af programmet kører MEGET langsomt,
men det kan du eventuelt selv rette i.

Som det vil kunne ses, er der gjort meget for at omgå pladsbegrænsninger
når der samtidigt skal være plads til to fulde get/put skærme i memory.

Alle programmerne ligger i ASCII-format på disketten, så de kan
editeres direkte. Til gengæld tager de lang tid at load'e ind i
basic, så hvis du vil, kan du loade dem og derpå save dem igen,
så de kommer til at ligge i normalt basic format, så loader de
hurtigere. Altså:
LOAD"SPECIAL
SAVE"SPECIAL

Hvis du vil bevare dem i ASCII-format, må du skrive:
SAVE"SPECIAL.BAS",A

Hvis der skulle være uklare punkter (der er jo ikke mange kommentarer),
så kontakt mig på 06-166511 om dagen eller 06-394185 om aftenen.


		Venlig hilsen

		P.O.Frederiksen

kaptajnkaper's People

Contributors

jolf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kaptajnkaper's Issues

Vejledning til afvikling

Jeg har prøvet at afvikle kildeteksten. Nedenfor er de udfordringer, uklarheder, og løsninger jeg stødte på.

  • Jeg bruger DOSBox til al afvikling.

  • Som BASIC-fortolker bruger jeg BASICA.EXE, der potentielt er den BASIC-fortolker som Peter Ole Frederiksen selv brugte. De kommandoer han angiver i sine instruktioner er gyldige i BASICA, men der var også en ældre IBM BASIC som jeg måske bør prøve, jf. de følgende vanskeligheder. BASICA.EXE kan nemt erhverves på Internettet.

  • Titelbilledet, lagret i datafilen TITEL.PIC, kalder spillet for Privateer. Al andet tekst i spillet er dog på dansk.

  • Andre datafiler (MAP.PIC, SIGTE.PIC, FIGURE.DAT, HELP.DAT) mangler. De skal dannes ved at afvikle hhv. BUILD.BAS, SKUD.BAS, TEGN.BAS, og HLP.BAS. Dog er der så vidt jeg kan se en fejl i SKUD.BAS - der skal byttes om på de to sidste linjer (inklusive linjenumrene), ligesom det er gjort i BUILD.BAS.

  • Derefter kan spillet afvikles. Dog er der nogle lejlighedsvist ubehagelige lydartefakter (f.eks. straffes flugt fra fjendtlige fartøjer med en skrækkelig aftagende hyletone, fulgt af en persistent hyletone indtil næste lydeffekt i spillet afspilles). Jeg ved ikke om disse er en del af forfatterens oprindelige vision, eller et resultat af at jeg måske bruger et forkert afviklingsmiljø.

  • KAPER.BAS kalder sig for "release 4", mens SPECIAL.BAS kalder sig for "release 3".

Det kan være noget af dette bør dokumenteres for andre der vil prøve at afvikle spillet selv.

Korrektion af timing

Allan siger at han gerne vil have nogen retter Kaptajn Kaper så dets gameplay ikke er afhængig af maskinhastigheden. Jeg ved ikke hvor nyttigt det er når man bare kan indstille hastigheden DOSBox, men det lyder sjovt nok at kigge på. Problemet er at spillet en del steder bruger tomme løkker til at skabe pauser; f.eks:

6002 PRINT "den velb\206rne Tulleman Gylleborg!":PRINT:print "Af sorg herover, hopper du i havet!":FOR II=1 TO 5000:NEXT:RETURN 5020

Jeg tror det er følgende løkke der skaber pauserne når man anløber en havn:

1410 FOR J=1 TO (at%*5000)-((IDIF-2)*40):NEXT J

Jeg tror IDIF er en sværhedsgradsindstilling. Jeg har ikke lige gennemskuet hvad at% er, men jeg tror faktisk det er en konstant der prøver at kalibrere pausen afhængigt af hvilken maskine der køres på. Den sættes nemlig baseret på at kigge på nogle underlige ting i lageret:

937 B$="":DEF SEG=&HF000:A$=HEX$(PEEK(&HFFFE)):DEF SEG:AT%=1:IF A$="FC" THEN AT%=2

Gammeldags BASIC har desværre ikke mulighed for at suspendere afviklingen i et antal sekunder, men man kan bruge TIMING-funktionen til at lave sin egen:


2 SEK=10
3 PRINT "JEG TAGER EN LUR"
4 GOSUB 20
5 PRINT "NU ER JEG OPPE IGEN"
9 END
20 FOR I = 1 TO SEK*18.2 'SOV SEK SEKUNDER
30 ST = TIMER
40 WHILE TIMER = ST: WEND
50 NEXT I
60 RETURN

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.