!!!Koung

A simple PONG like game written in Quick

General Information

Author: 	Carsten Strotmann \\
Language: 	QUICK \\
Compiler/Interpreter: 	QUICK \\
Published: 	1989 ABBUC \\

{{{

D1:KOUNG.QIK    
----------------
Length: $11BD

Free  : $65AE
----------------



KOUNG
(ODER HIESS ES PONG???)

BYTE
[
CONSOL=53279,COL2H=53272,BOOT=9
HITCLR=53278,ATTR=77,WSYNC=54282
COL1H=53271,COL0=708,COL4H=53274
COL1=709,COL2=710,PCOL1=704,PCOL2=705
PCOL3=706,DMACL=559,PMBASE=54279
PMCTL=53277,HPOS1=53248,HPOS2=53249
MPOS3=53254,M2PCOL=53258,CSRIN=752
STICK0=632,STICK1=633,CRM=87,COL4=712
Y1,Y2,XB,YB,XW,YW,PU1,PU2,FLAG,FLAG2,W
X,Y,CC,FLAG3,WAIT,ENDS,END,SCORE,DEMO
]

WORD
[
CASINI=2
DL=560,DF=88,DLADR=32803,DL2ADR=32922
PLAYDAT1,PLAYDAT2,MISSDAT,X
]

MAIN
UNSIGN

BOOT=2
CASINI=20480

CLOSE (1)
OPEN (1,12,0,"E:")

CLR (131,3)
DMACL=0

DATA (32864) * TITELDISPLAYLIST
[
112,112,112,112,112,78,0,144
14,14,14,14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14,14,14,14,14,14
14,14,14,14,14,14,14,14
240,112,66,0,0,2,2,2,112,2,2,65,144,0
]

-1

DLI (TITEL)
VBI (NULL)

DL=32864
DL2ADR=DF
DMACL=54

COL0=6
COL1=22
COL2=18
ENDS=50
WAIT=5
DEMO=0
  
POS (5,0)
PRINT ("   by PhoeniX SoftCrew 1989 ")
POS (5,1)
PRINT (" coded from Carsten Strotmann")
POS (5,2)
PRINT ("    with the help of QUICK")
POS (6,3)
PRINT ("  Please Contact <02581/8920>")

REPEAT

  CSRIN=1

  POS (0,4)
  PRINT ("CHOOSE  : <SELECT> = ");
  PRINT ("SPEED :",WAIT,"   ")
  POS (0,5)
  PRINT ("          <OPTION> = END");
  PRINT ("SCORE :",ENDS,"  ")

  IF CONSOL=3
  ADD(ENDS,5,ENDS)
  ENDIF

  IF CONSOL=5
  WAIT+
  ENDIF

  IF WAIT>10
  WAIT=0
  ENDIF

  IF ENDS>100
    ENDS=10
  ENDIF

  IF CONSOL=0
    DEMO=1
  ENDIF

  .PAUSE (100)

UNTIL CONSOL=6

MULT (WAIT,5,WAIT)

CLOSE (1)
OPEN (1,12,0,"E:")
DMACL=0

XB=100
YB=100
Y1=110
Y2=110
XW=1
YW=1
MISSDAT=131
PLAYDAT1=132
PLAYDAT2=133
PMBASE=128
HPOS1=55
HPOS2=200
PMCTL=3
CSRIN=1
PCOL1=120
PCOL2=200
PCOL3=56
COL2=5
COL1=13
COL4=5
END=0

DATA (32768) * $8000=PLAYERDATEN
[
0,48,48,48,48,48,48,48,48,48,48,48,48
48,48,48,48,48,48,0
]

DATA (32800) * DISPLAYLIST
[
112,112,70,0,0
48,6,176,2,2,48,14,14,14,14,14
112,112,112,112,112,112
112,112,112,112,112,112,112,112,112,112
112,112,112,14,14,14,14,65,128,32
]

DL=32800
DLADR=DF

CRM=15
COLOR (2)
Y=2

REPEAT
  Y+
  PLOT (0,Y)
  DRAW (159,Y)
UNTIL Y=12

PU1=0
PU2=0
CRM=0
.TREFFER

POS (0,0)
PRINT ("       KOUNG        ");
PRINT (" PHOENIX   SOFTCREW")

VBI (PLAYERCOP)
DLI (FARBE)

.PAUSE (255)
DMACL=62

REPEAT

ATTR=0
CSRIN=1

.PAUSE (WAIT)

IF STICK0=14
  IF Y1>70
  Y1-
  ENDIF
ENDIF

IF STICK0=13
  IF Y1<208
  Y1+
  ENDIF
ENDIF

IF STICK1=14
  IF Y2>70
  Y2-
  ENDIF
ENDIF

IF STICK1=13
  IF Y2<208
  Y2+
  ENDIF
ENDIF

FLAG+

IF FLAG=2

  SIGN

  ADD (YB,YW,YB)
  ADD (XB,XW,XB)

  UNSIGN

  FLAG=0

ENDIF

IF YB<72
  YW=1
ENDIF

IF YB>224
  YW=-1
ENDIF

IF XB<40
  PU2+
  .TREFFER
ENDIF

IF XB>220
  PU1+
  .TREFFER
ENDIF

IF FLAG2>0
  HITCLR=0
  FLAG2-
ELSE
  IF M2PCOL>0
    .SCHLAG
  ENDIF
ENDIF

IF PU1=ENDS
  END=1
  SCORE=PU1
ENDIF

IF PU2=ENDS
  END=2
  SCORE=PU2
ENDIF

IF DEMO>0
  Y1=YB
  SUB (Y1,5,Y1)
  Y2=YB
  SUB (Y2,5,Y2)
ENDIF

UNTIL END>0

CLOSE (1)
OPEN (1,8,0,"E:")

DMACL=0
DL=32864

POS (8,1)
PRINT ("WINNER OF THIS GAME IS")
POS (15,2)
PRINT ("PLAYER ",END)
POS (15,3)
PRINT ("POINTS ",SCORE)

POS (13,5)
PRINT ("PRESS START")

HPOS1=0
HPOS2=0
XB=0
YB=0

COL1=13
COL2=0

DMACL=54

REPEAT
UNTIL CONSOL=6

JUMP (1)

ENDMAIN

*------------------------------*

INTER PLAYERCOP

BEGIN

  IPUSH
  CLR (131,3)

  PLAYER (PLAYDAT1,Y1,20,32768)
  PLAYER (PLAYDAT2,Y2,20,32768)
  PLAYER (MISSDAT,YB,3,32768)

  MPOS3=XB

  FLAG3+
  IF FLAG3=16
    FLAG3=0
    ADD (COL0,16,COL0)
  ENDIF
  
  IPULL

ENDVBI

*------------------------------*

PROC PAUSE

IN

BYTE
[
WAIT
]

BEGIN

  REPEAT
  WAIT-
  UNTIL WAIT=0

ENDPROC

*-----------------------------*

PROC TREFFER

BEGIN

POS (3,1)
PRINT ("PLAYER  1:",PU1)
POS (25,1)
PRINT ("PLAYER  2:",PU2)
POS (0,2)
PRINT ("   _________________");
PRINT ("_________________")

SOUND (0,14,5,10)
SOUND (1,16,5,12)

.PAUSE (255)
.PAUSE (255)

IF XW=-1
  XB=64
  XW=1
ELSE
  XB=180
  XW=-1
ENDIF

SOUND (0,0,0,0)
SOUND (1,0,0,0)


ENDPROC

*-------------------------------*

PROC SCHLAG

BEGIN

SOUND (0,50,5,5)

IF XW=-1
  XW=1
ELSE
  XW=-1
ENDIF

.PAUSE (70)

SOUND (0,0,0,0)
HITCLR=0
FLAG2=20

ENDPROC

*-----------------------------*

INTER FARBE

BEGIN
  PUSH
  IPUSH

  WSYNC=0
  COL4H=0

  CC=6
  REPEAT
    WSYNC=0
    CC+
    CC+
    COL1H=CC
  UNTIL CC=16
  
  WSYNC=0
  COL1H=53

  IPULL
  PULL

ENDDLI

*-----------------------------*

INTER TITEL

BEGIN

  PUSH
  IPUSH

  WSYNC=0
  COL1H=13
  COL2H=0

  IPULL
  PULL

ENDDLI

*-----------------------------*

INTER NULL

BEGIN
ENDVBI

*-----------------------------*
}}}