Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ASCII Graphics Challenge! :P
#18
here is an ascii raycaster with texture mapping for anyone who wants to make a 3d game with it.

Cheers, MattSmile
Code:
'   Ascii Ray Caster with texture mapping
'   Using Integer Mathematics for speed    Clu 5-7-03      Qbasic 1.1
'
DEFINT A-Z: DIM l(16, 16), c(360), s(360), t(16, 16)
FOR y = 1 TO 16
READ l$
FOR x = 1 TO 16
l(x, y) = VAL(MID$(l$, x, 1))
NEXT x
NEXT y
FOR y = 1 TO 16
READ l$
FOR x = 1 TO 16
t(x - 1, y) = VAL(MID$(l$, x, 1))
NEXT x
NEXT y

FOR t = 0 TO 360
s(t) = 100 * SIN(22 / 7 * t / 180)
c(t) = 100 * COS(22 / 7 * t / 180)
NEXT t

x = 5600: y = 4000: f = 0: SCREEN 0: WIDTH 80, 50
DEF SEG = &HB800

main:
FOR s = -40 TO 39: a$ = INKEY$
r = f + (s * 60 \ 80): r = r + 360 * ((r > 360) - (r < 0))
r = r - (c(r) = 0): xi = c(r): yi = s(r): x1 = x: y1 = y:
wallcheck:
x1 = x1 + xi: y1 = y1 + yi
IF l(x1 \ 1600, y1 \ 1600) = 0 THEN GOTO wallcheck

xint = ABS(x1 - INT((x1 + 800) \ 1600) * 1600)
yint = ABS(y1 - INT((y1 + 800) \ 1600) * 1600)
IF xint > yint THEN tc = (x1 - (((x1 \ 1600)) * 1600)) \ 100
IF yint > xint THEN tc = (y1 - (((y1 \ 1600)) * 1600)) \ 100

d = (ABS((x - x1) \ c(r)) * c(ABS(r - f))) * .01
h = (69 * 16 \ d) \ 2
FOR ys = 0 TO 49
addr = (s + 40) * 2 + (ys * 160): POKE addr, 178
IF ys > 25 - h AND ys < 25 + h THEN POKE addr + 1, t(tc, INT(ys - (25 - h)) / (h * 2) * 16)
IF ys > 24 + h THEN POKE addr + 1, 2
IF ys <= 26 - h THEN POKE addr + 1, 9

NEXT ys
NEXT s

k = INP(96): f = f + 5 * (k = 75) - 5 * (k = 77)
f = f - 355 * (f = -5) + 360 * (f = 365)
dx = c(f) * (-(k = 72) + (k = 80)): dy = s(f) * (-(k = 72) + (k = 80))
IF l((x + dx) \ 1600, (y + dy) \ 1600) = 0 THEN x = x + dx: y = y + dy
IF INP(96) = 1 THEN SYSTEM ELSE GOTO main

DATA "1111111111111111"
DATA "1000010000010011"
DATA "1000000111110001"
DATA "1000010010000001"
DATA "1111111010000001"
DATA "1000001011101111"
DATA "1000001000000001"
DATA "1000000011100001"
DATA "1000001010000001"
DATA "1111111011100111"
DATA "1000001000000001"
DATA "1000101101001001"
DATA "1000000101011101"
DATA "1001000000001001"
DATA "1000000100000001"
DATA "1111111111111111"

DATA "8666666686666666"
DATA "8666666686666666"
DATA "8666666686666666"
DATA "8888888888888888"
DATA "6666866666668666"
DATA "6666866666668666"
DATA "6666866666668666"
DATA "8888888888888888"
DATA "8666666686666666"
DATA "8666666686666666"
DATA "8666666686666666"
DATA "8888888888888888"
DATA "6666866666668666"
DATA "6666866666668666"
DATA "6666866666668666"
DATA "8888888888888888"
Reply


Messages In This Thread
ASCII Graphics Challenge! :P - by adosorken - 12-18-2003, 11:43 AM
ASCII Graphics Challenge! :P - by wildcard - 12-18-2003, 03:58 PM
ASCII Graphics Challenge! :P - by na_th_an - 12-18-2003, 05:25 PM
ASCII Graphics Challenge! :P - by Neo - 12-18-2003, 05:38 PM
ASCII Graphics Challenge! :P - by na_th_an - 12-18-2003, 06:35 PM
ASCII Graphics Challenge! :P - by Anonymous - 12-18-2003, 08:20 PM
ASCII Graphics Challenge! :P - by adosorken - 12-18-2003, 08:32 PM
ASCII Graphics Challenge! :P - by na_th_an - 12-18-2003, 09:05 PM
ASCII Graphics Challenge! :P - by adosorken - 12-18-2003, 09:27 PM
ASCII Graphics Challenge! :P - by barok - 12-19-2003, 04:07 AM
ASCII Graphics Challenge! :P - by Rhiannon - 12-19-2003, 05:01 AM
ASCII Graphics Challenge! :P - by oracle - 12-19-2003, 05:42 AM
ASCII Graphics Challenge! :P - by relsoft - 12-19-2003, 07:49 AM
ASCII Graphics Challenge! :P - by relsoft - 01-09-2004, 11:39 AM
ASCII Graphics Challenge! :P - by adosorken - 01-09-2004, 05:13 PM
ASCII Graphics Challenge! :P - by KiZ - 01-09-2004, 07:17 PM
ascii raycast - by ravenxau - 03-31-2004, 04:14 PM
ASCII Graphics Challenge! :P - by Spotted Cheetah - 04-03-2004, 04:01 AM
ASCII is NOT dead - by Pc72 - 04-05-2004, 01:46 AM
ASCII Graphics Challenge! :P - by Rhiannon - 04-05-2004, 04:07 AM
ASCII Graphics Challenge! :P - by speedlemon - 04-05-2004, 05:20 AM
ASCII Graphics Challenge! :P - by Spotted Cheetah - 04-05-2004, 09:37 PM
ASCII Graphics Challenge! :P - by adosorken - 04-11-2004, 07:02 AM
ASCII Graphics Challenge! :P - by Spotted Cheetah - 04-13-2004, 04:47 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)