'===========================================================================
' Subject: ANSI FIRE                          Date: 11-05-96 (15:55)       
'  Author: Mattias Andersson                  Code: QB, QBasic, PDS        
'  Origin: phobia2@hotmail.com              Packet: ANSI.ABC
'===========================================================================
' Ok, I'm back again... (Phobia that is...)
' This time I've made a flame in textmode...
' Errr... Comment or something...
'
' phobia2@hotmail.com
'
' Don't tell me how slow it is... I know how slow it is...
' QB is kinda limited when it comes to speed...
' And the source isn't in any way optimized... most of you can
' probably make a flame that 1000 times faster...
' But I was first! :-)
' And I don't wanna comment this one... to mezzy source...
' Just love it or hate it...
'
' See ya later!
'
DECLARE SUB addcol ()
DECLARE SUB plot (x1!, y1!, c1!)
x = 1
y = 20
n = 1
WIDTH 80, 50
CLS
FOR a = 20 TO 40
   plot a, 20, 9
   plot a, 21, 9
NEXT a
RANDOMIZE TIMER

hej:
n = n + 1
IF n = 500 THEN
   nn = 20
   n = 0
newline:
   c2 = INT(RND * 3)
   IF c2 = 2 THEN c2 = 9
   IF c2 = 3 THEN c2 = 1
   IF c2 = 1 THEN c2 = 1
   plot 1 + nn, 20, c2
   plot 1 + nn, 21, c2
   nn = nn + 1
   IF nn = 40 THEN GOTO newslut
   GOTO newline
newslut:
END IF
col = 0
coll = SCREEN(y, x, 1)
teck = SCREEN(y, x)
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
coll = SCREEN(y + 1, x, 1)
teck = SCREEN(y + 1, x)
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
coll = SCREEN(y, x + 1, 1)
teck = SCREEN(y, x + 1)
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
coll = SCREEN(y + 1, x + 1, 1)
teck = SCREEN(y + 1, x + 1)
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
IF y > 1 THEN
   coll = SCREEN(y - 1, x, 1)
   teck = SCREEN(y - 1, x)
END IF
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
IF x > 1 THEN coll = SCREEN(y, x - 1, 1)
IF x > 1 THEN teck = SCREEN(y, x - 1)
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
IF x > 1 THEN
   IF y > 1 THEN
      coll = SCREEN(y - 1, x - 1, 1)
      teck = SCREEN(y - 1, x - 1)
   END IF
END IF
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
IF x > 1 THEN
   coll = SCREEN(y + 1, x - 1, 1)
   teck = SCREEN(y + 1, x - 1)
END IF
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
IF y > 1 THEN
   coll = SCREEN(y - 1, x + 1, 1)
   teck = SCREEN(y - 1, x + 1)
END IF
IF coll = 15 THEN
   col = col + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col = col + 8
   IF teck = 178 THEN col = col + 7
   IF teck = 177 THEN col = col + 6
   IF teck = 176 THEN col = col + 5
   IF teck = 32 THEN col = col + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col = col + 3
   IF teck = 177 THEN col = col + 2
   IF teck = 176 THEN col = col + 1
   IF teck = 32 THEN col = col + 0
END IF
col = INT((col / 8) - .1)
IF y > 1 THEN plot x, y - 1, col

x = x + 1
IF x > 40 THEN
   x = 20
   y = y - 1
   IF y < 1 THEN y = 20
END IF
SELECT CASE INKEY$
   CASE CHR$(27)
      WIDTH 80, 25
      CLS
      COLOR 7, 0
      PRINT "Fire i textmode av Phobia 1996!"
      END
END SELECT
GOTO hej

SUB addcol
IF coll = 15 THEN
   col! = col! + 9
END IF
IF coll = 78 THEN
   IF teck = 219 THEN col! = col! + 8
   IF teck = 178 THEN col! = col! + 7
   IF teck = 177 THEN col! = col! + 6
   IF teck = 176 THEN col! = col! + 5
   IF teck = 32 THEN col! = col! + 4
END IF
IF coll = 4 THEN
   IF teck = 178 THEN col! = col! + 3
   IF teck = 177 THEN col! = col! + 2
   IF teck = 176 THEN col! = col! + 1
   IF teck = 32 THEN col! = col! + 0
END IF
END SUB

SUB plot (x1, y1, c1)
LOCATE y1, x1
IF c1 = 0 THEN COLOR 0, 0: PRINT " "
IF c1 = 1 THEN COLOR 4, 0: PRINT "°"
IF c1 = 2 THEN COLOR 4, 0: PRINT "±"
IF c1 = 3 THEN COLOR 4, 0: PRINT "²"
IF c1 = 4 THEN COLOR 14, 4: PRINT " "
IF c1 = 5 THEN COLOR 14, 4: PRINT "°"
IF c1 = 6 THEN COLOR 14, 4: PRINT "±"
IF c1 = 7 THEN COLOR 14, 4: PRINT "²"
IF c1 = 8 THEN COLOR 14, 4: PRINT "Û"
IF c1 = 9 THEN COLOR 15, 0: PRINT "Û"
END SUB
