Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Just playing around
#21
Thank you Big Grin
Peace cannot be obtained without war. Why? If there is already peace, it is unnecessary for war. If there is no peace, there is already war."

Visit www.neobasic.net to see rubbish in all its finest.
Reply
#22
Code:
DEFINT A-Z
SCREEN 13
RANDOMIZE TIMER
FOR i& = 0 TO 255
OUT &H3C9, 0
OUT &H3C9, i&
OUT &H3C9, 0
NEXT i&
i& = 0
mb = -(INT(RND * 16) + 5)
ma = INT(RND * 15) + 3
me = 0
mc = -1
mc2 = -1
md = 255
r1 = INT(RND * 20) - 10

DIM rnd2(1 TO 4)
DO
m4 = (INT(RND * 8) + 2)

FOR i = 1 TO 4
rnd2(i) = INT(RND * r1)
NEXT i
rnd2(INT(RND * 4) + 1) = 1
m3 = 0
m2& = 0
FOR m = ma TO mb STEP mc
FOR i = 1 TO 4
rnd2(i) = INT(RND * r1)
NEXT i
rnd2(INT(RND * 4 + 1)) = 1
m3 = m3 + 1
m2& = m2& + 5000 \ (SQR(ABS(m3) + 1))
IF m2& > 10000 THEN m2& = 10000
FOR i = md TO me STEP mc2
IF me > 128 THEN OUT &H3C9, 0
OUT &H3C9, i
IF me > 128 THEN OUT &H3C9, 0
FOR j& = 1 TO m2& + ABS(256 - i)
NEXT j&:

im = i * m \ m4
sqr.i% = SQR(i%)
FOR im2 = im - sqr.i% TO im + sqr.i%
im3 = im2 \ (INT(RND * 5) + 1)'2

IF rnd2(1) > 0 THEN
LINE (160, 150 - im3)-(0, 100), i: LINE (160, 50 + im3)-(0, 100), i
LINE (160, 150 - im3)-(320, 100), i: LINE (160, 50 + im3)-(320, 100), i
END IF
IF rnd2(2) > 0 THEN
LINE (0, 200 - im2)-(160, 150 - im3), i: LINE (0, im2)-(160, 50 + im3), i
LINE (320, 200 - im2)-(160, 150 - im3), i: LINE (320, im2)-(160, 50 + im3), i
END IF
IF rnd2(3) > 0 THEN
LINE (160, 100 + im3)-(319, 199), i: LINE (160, 100 - im3)-(319, 0), i
LINE (160, 100 + im3)-(1, 199), i: LINE (160, 100 - im3)-(1, 0), i
END IF
IF rnd2(4) > 0 THEN
LINE (0, 200 - im2)-(160, 100 - im3), i: LINE (0, im2)-(160, 100 + im3), i
LINE (320, 200 - im2)-(160, 100 - im3), i: LINE (320, im2)-(160, 100 + im3), i
END IF

NEXT im2
IF INKEY$ <> "" THEN EXIT DO
NEXT i
SWAP me, md
mc2 = -mc2
IF mc2 > 0 THEN
mb = -(INT(RND * 16) + 5)
ma = INT(RND * 15) + 3
END IF
NEXT m
SWAP ma, mb
mc = -mc
LOOP

SUB line2 (x1 AS INTEGER, y1 AS INTEGER, x2 AS INTEGER, y2 AS INTEGER, colr AS INTEGER)

IF y1 > y2 THEN
SWAP y1, y2
SWAP x1, x2
END IF

DeltaX = x2 - x1
DeltaY = y2 - y1

IF DeltaX > 0 THEN

IF DeltaX > DeltaY THEN
DeltaYx2 = DeltaY * 2
DeltaYx2MinusDeltaXx2 = DeltaYx2 - (DeltaX * 2)
ErrorTerm = DeltaYx2 - DeltaX
PSET (x1, y1), colr
DO WHILE DeltaX > 0
DeltaX = DeltaX - 1
IF ErrorTerm >= 0 THEN
y1 = y1 + 1
ErrorTerm = ErrorTerm + DeltaYx2MinusDeltaXx2
ELSE
ErrorTerm = ErrorTerm + DeltaYx2
END IF
x1 = x1 + 1
PSET (x1, y1), colr
LOOP
ELSE
DeltaXx2 = DeltaX * 2
DeltaXx2MinusDeltaYx2 = DeltaXx2 - (DeltaY * 2)
ErrorTerm = DeltaXx2 - DeltaY
PSET (x1, y1), colr
DO WHILE DeltaY > 0
DeltaY = DeltaY - 1
IF ErrorTerm >= 0 THEN
x1 = x1 + 1
ErrorTerm = ErrorTerm + DeltaXx2MinusDeltaYx2
ELSE
ErrorTerm = ErrorTerm + DeltaXx2
END IF
y1 = y1 + 1
PSET (x1, y1), colr
LOOP
END IF

ELSE

DeltaX = -DeltaX
IF DeltaX > DeltaY THEN
DeltaYx2 = DeltaY * 2
DeltaYx2MinusDeltaXx2 = DeltaYx2 - (DeltaX * 2)
ErrorTerm = DeltaYx2 - DeltaX
PSET (x1, y1), colr
DO WHILE DeltaX > 0
DeltaX = DeltaX - 1
IF ErrorTerm >= 0 THEN
y1 = y1 + 1
ErrorTerm = ErrorTerm + DeltaYx2MinusDeltaXx2
ELSE
ErrorTerm = ErrorTerm + DeltaYx2
END IF
x1 = x1 - 1
PSET (x1, y1), colr
LOOP
ELSE
DeltaXx2 = DeltaX * 2
DeltaXx2MinusDeltaYx2 = DeltaXx2 - (DeltaY * 2)
ErrorTerm = DeltaXx2 - DeltaY
PSET (x1, y1), colr
DO WHILE DeltaY > 0
DeltaY = DeltaY - 1
IF ErrorTerm >= 0 THEN
x1 = x1 - 1
ErrorTerm = ErrorTerm + DeltaXx2MinusDeltaYx2
ELSE
ErrorTerm = ErrorTerm + DeltaXx2
END IF
y1 = y1 + 1
PSET (x1, y1), colr
LOOP
END IF

END IF

END SUB
Peace cannot be obtained without war. Why? If there is already peace, it is unnecessary for war. If there is no peace, there is already war."

Visit www.neobasic.net to see rubbish in all its finest.
Reply
#23
Can you guyz add WIDTH 80 after your proggies finish? It's a wee bit annoying to run the program and kill the IDE at the same time (yes I know I should compile, but hey)
Reply
#24
awesome effects everyone Big Grin i love seeing this crazy stuff in qb
ammit potato!
Reply
#25
Code:
SCREEN 13

FOR i = 1 TO 3

SELECT CASE i

CASE 1
FOR r = 1 TO 63
OUT &H3C8, 0
OUT &H3C9, r
OUT &H3C9, g
OUT &H3C9, b
FOR t = 1 TO 80000: NEXT
NEXT r

CASE 2
FOR g = 1 TO 63
OUT &H3C8, 0
OUT &H3C9, r
OUT &H3C9, g
OUT &H3C9, b
FOR t = 1 TO 80000: NEXT
NEXT g

CASE 3
FOR b = 1 TO 63
OUT &H3C8, 0
OUT &H3C9, r
OUT &H3C9, g
OUT &H3C9, b
FOR t = 1 TO 80000: NEXT
NEXT b

END SELECT

NEXT
just learning about OUT &H3C9
Reply
#26
changed diroga's code around:

Code:
SCREEN 13

FOR r = 0 TO 63
FOR g = 0 TO 63
FOR b = 0 TO 63
OUT &H3C8, 0
OUT &H3C9, r
OUT &H3C9, g
OUT &H3C9, b
t = TIMER: DO: LOOP UNTIL TIMER - t <= 1
NEXT b, g, r
[Image: sig.php]
Back by popular demand!
I will byte and nibble you bit by bit until nothing remains but crumbs.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)