'***************************************
'* Ping                                *
'***************************************
'*So I was Bord so I built ping. thats *
'*right ping. A simple small game. with*
'*256 vga color pc-specker-sound and a *
'*a ball. o ya a ball                  *
'* if you think this program is cheap, *
'*small,stupid,deadly or you just want *
'*it to go down there email me at      *
'* xxxl52@hotmail.com                  *
'*                                     *
'*                                     *
'*                                     *
'*                                     *
'***************************************
DIM ball(8, 8)
DIM blank(8, 8)
DIM lg$(12)
1 SCREEN 13
2 CLS
3 z = 200
4 x = 75
5 y = 50
6 w = 3: zZZ = 1
7 o = 5
8 s = 1
9 u = 20
delay = 3000
dell = 3000
sc = 0
lg$(1) = "11000001111011100111000000000000000000"
lg$(2) = "01110000110001000010011111000000000000"
lg$(3) = "01011000110001100010110001100000000000"
lg$(4) = "01001100110001010010110000000000000000"
lg$(5) = "01011000110001001010110000000000000000"
lg$(6) = "01110000110001000110110111000000000000"
lg$(7) = "01100000110001000010110001001100001110"
lg$(8) = "01100000110001000010011110010010010010"
lg$(9) = "11110001111011100111001110001010001100"
lg$(10) = "00000000000000000000000000000110010010"
lg$(11) = "00000000000000000000000000000100010010"
lg$(12) = "00000000000000000000000000001001001100"

LOCATE 25, 1: PRINT "score"; sc;
kk$ = INKEY$
FOR xx = 1 TO 8
FOR yy = 1 TO 8
READ ss
sss = ss
IF sss = 1 THEN sss = 16
IF sss = 9 THEN sss = 18
IF sss = 8 THEN sss = 20
IF sss = 7 THEN sss = 22
IF sss = 6 THEN sss = 24
IF sss = 5 THEN sss = 26
PSET (xx + 40, yy + 40), sss
NEXT yy
NEXT xx
GET (40, 40)-(47, 47), ball
GET (50, 50)-(57, 57), blank
PUT (36, 36), blank
LINE (40, 40)-(47, 47), 0, BF
1111
logo:
 FOR xxx = 1 TO 12
 FOR yyy = 1 TO 38
  m$ = MID$(lg$(xxx), yyy, 1)
   IF m$ = "1" THEN PUT (yyy * 7, xxx * 7), ball, PSET
 NEXT yyy
 NEXT xxx
 x = 75
 y = 50
 w = 3
LOCATE 12, 5: PRINT "Press x To Play"
LOCATE 14, 5: PRINT "press h for help"
LOCATE 20, 5: PRINT "press Q to Quit"
sl:
kk$ = INKEY$
IF kk$ = "x" THEN GOTO st:
IF kk$ = "h" THEN GOTO help:
IF kk$ = "q" THEN GOTO korn:
GOTO sl:
st:
CLS

10 LINE (z - u, 175)-(z + u, 175), 22
11 LINE (z - (u + 2), 176)-(z + (u + 2), 176), 23
12 LINE (z - u, 177)-(z + u, 177), 22
15 LINE (1, 1)-(300, 1), 24
16 LINE (1, 2)-(300, 2), 23
17 LINE (1, 3)-(300, 3), 22
18 LINE (1, 4)-(300, 4), 21
20 LINE (1, 5)-(300, 5), 20
30 LINE (1, 1)-(1, 190), 24
31 LINE (2, 2)-(2, 189), 23
32 LINE (3, 3)-(3, 188), 22
33 LINE (4, 4)-(4, 187), 21
40 LINE (5, 5)-(5, 186), 20
50 LINE (300, 1)-(300, 190), 24
51 LINE (299, 2)-(299, 189), 23
52 LINE (298, 3)-(298, 188), 22
53 LINE (297, 4)-(297, 187), 21
60 LINE (296, 5)-(296, 186), 20
70 LINE (1, 190)-(300, 190), 24
71 LINE (2, 189)-(299, 189), 23
72 LINE (3, 188)-(298, 188), 22
73 LINE (4, 187)-(297, 187), 21
80 LINE (5, 186)-(296, 186), 20
90 kk$ = INKEY$
91 IF kk$ = "a" THEN t = 2: GOTO 1000
92 IF kk$ = "q" GOTO 10000
95 FOR B = 1 TO 2
100  IF kk$ = "d" THEN t = 1: GOTO 1000
101 NEXT B
111  PUT (y - 4, x - 4), blank, AND
120 IF w = 1 THEN y = y + s: x = x + s
121 IF w = 2 THEN y = y + s: x = x - s
122 IF w = 3 THEN y = y - s: x = x - s
123 IF w = 4 THEN y = y - s: x = x + s
130 IF x <= 5 + o + s AND w = 3 THEN w = 4: PLAY "l32n50"
131 IF x <= 5 + o + s AND w = 2 THEN w = 1: PLAY "l32n50"
132 IF y <= 5 + o + s AND w = 3 THEN w = 2: PLAY "l32n40"
133 IF y <= 5 + o + s AND w = 4 THEN w = 1: PLAY "l32n40"
134 IF y >= 294 - o - s AND w = 2 THEN w = 3: PLAY "l32n40"
135 IF y >= 294 - o - s AND w = 1 THEN w = 4: PLAY "l32n40"
136 IF x = 174 - o OR x = 175 - o OR x = 176 - o OR x = 177 - o THEN IF y >= z - (u + 2) THEN IF y <= z + (u + 2) THEN IF w = 1 THEN w = 2: PLAY "l32n60": sc = sc + 10: LOCATE 25, 1: PRINT "score"; sc;
137 IF x = 174 - o OR x = 175 - o OR x = 176 - o OR x = 177 - o THEN IF y >= z - (u + 2) THEN IF y <= z + (u + 2) THEN IF w = 4 THEN w = 3: PLAY "l32n60": sc = sc + 10: LOCATE 25, 1: PRINT "score"; sc;
138 IF z + u >= 288 THEN t = 2: GOTO 1000
139 IF z - u <= 13 THEN t = 1: GOTO 1000
140 IF sc = 200 THEN dell = dell - 500: sc = sc + 1
141 IF sc = 400 THEN dell = dell - 500: sc = sc + 1
142 IF sc = 600 THEN dell = dell - 500: sc = sc + 1
143 IF sc = 800 THEN dell = dell - 500: sc = sc + 1
144 IF sc = 1000 THEN dell = dell - 500: sc = sc + 1
190  PUT (y - 4, x - 4), ball, OR
191 FOR del = 1 TO dell: NEXT del
192 IF x > 185 THEN GOTO 2000
200 GOTO 90
1000 LINE (z - u, 175)-(z + u, 175), 0
1001 LINE (z - (u + 2), 176)-(z + (u + 2), 176), 0
1002 LINE (z - u, 177)-(z + u, 177), 0
1010 IF t = 1 THEN z = z + 7
1011 IF t = 2 THEN z = z - 7
1100 LINE (z - u, 175)-(z + u, 175), 22
1101 LINE (z - (u + 2), 176)-(z + (u + 2), 176), 23
1103 LINE (z - u, 177)-(z + u, 177), 22
GOTO 90



help:
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
 PRINT
 PRINT "    controles    "
 PRINT "a---- move the padlle left"
 PRINT "d---- move the padlle right"
 PRINT "q---- quit"
 PRINT : PRINT : PRINT : PRINT
 PRINT "  this game is freeware. it can be changed "
 PRINT "and sold. "
 PRINT
 PRINT "Programing By"
 PRINT "    ken thalheim"
 LOCATE 25, 1: PRINT "press x to goto main menu"
ea:
kk$ = INKEY$
 IF kk$ = "x" THEN CLS : GOTO 1111
GOTO ea:
1200 GOTO 90
2000 LOCATE 10, 10: PRINT "Game Over"
CLS
10000 REM
DATA 0,0,1,9,9,1,0,0
DATA 0,1,9,7,7,9,1,0
DATA 1,9,6,5,6,7,9,1
DATA 9,0,6,6,7,8,9,9
DATA 9,0,7,6,7,8,9,9
DATA 1,9,8,7,8,9,9,1
DATA 0,1,9,8,9,9,1,0
DATA 0,0,1,9,9,1,0,0
CLS
LOCATE 10, 10: PRINT "Game Over"
FOR x1 = 1 TO delay * 100
NEXT x1
CLS
GOTO 1111
korn:
END








