Text Only
|
Text with Attachments
QB64.org Forum
Active Forums => Programs => Topic started by: bplus on March 04, 2018, 02:18:04 am
Title:
Outline Letters
Post by:
bplus
on
March 04, 2018, 02:18:04 am
Well we've rotated letters every which way, how about outling them?
Code: QB64:
[Select]
_TITLE
"Outline Letter bplus 2018-03-03"
RANDOMIZE
TIMER
CONST
xmax
=
1260
CONST
ymax
=
600
COMMON
SHARED
cN
,
pR!
,
pG!
,
pB!
SCREEN
_NEWIMAGE
(
xmax
,
ymax
,
32
)
_SCREENMOVE
100
,
20
mess$
=
"Bplus strikes again!"
PRINT
mess$
w
=
8
*
LEN
(
mess$
)
: h
=
16
DIM
p
(
8
*
w
,
8
*
h
)
black&&
=
POINT
(
0
,
0
)
FOR
y
=
0
TO
h
-
1
FOR
x
=
0
TO
w
-
1
IF
POINT
(
x
,
y
)
<>
black&&
THEN
FOR
yy
=
0
TO
7
FOR
xx
=
0
TO
7
p
(
8
*
x
+
xx
,
8
*
y
+
yy
)
=
1
NEXT
NEXT
END
IF
NEXT
NEXT
'now hollow out letter
DIM
newP
(
8
*
w
,
8
*
h
)
FOR
y
=
0
TO
8
*
h
FOR
x
=
0
TO
8
*
w
IF
x
>
0
AND
x
<
8
*
w
THEN
IF
y
>
0
AND
y
<
8
*
h
THEN
IF
p
(
x
,
y
)
THEN
IF
p
(
x
-
1
,
y
)
AND
p
(
x
+
1
,
y
)
AND
p
(
x
,
y
-
1
)
AND
p
(
x
,
y
+
1
)
THEN
newP
(
x
,
y
)
=
0
ELSE
newP
(
x
,
y
)
=
1
END
IF
ELSE
newP
(
x
,
y
)
=
0
END
IF
ELSE
newP
(
x
,
y
)
=
p
(
x
,
y
)
END
IF
ELSE
newP
(
x
,
y
)
=
p
(
x
,
y
)
END
IF
NEXT
NEXT
CLS
xo
=
5
: yo
=
235
: m
=
4
resetPlasma
WHILE
1
CLS
FOR
y
=
0
TO
8
*
h
FOR
x
=
0
TO
8
*
w
IF
newP
(
x
,
y
)
THEN
IF
cycle
MOD
4
=
0
THEN
changePlasma
LINE
(
x
,
y
)
-
STEP
(
0
,
4
)
,
,
BF
ELSE
LINE
(
x
,
y
)
-
STEP
(
0
,
4
)
,
_RGB
(
lc
,
lc
,
lc
)
,
BF
END
IF
x1
=
x
+
20
*
COS
(
A
)
y1
=
y
+
40
*
COS
(
A
)
*
SIN
(
A
)
PSET
(
x1
,
y1
+
lc
+
200
)
,
_RGB
(
255
,
255
,
0
)
ELSEIF
p
(
x
,
y
)
THEN
LINE
(
x
,
y
)
-
STEP
(
0
,
4
)
,
_RGB32
(
100
,
0
,
0
)
,
BF
END
IF
NEXT
NEXT
_DISPLAY
_LIMIT
30
A
=
A
+
_PI
(
1
/
12
)
lc
=
lc
+
1
lc
=
lc
MOD
255
IF
lc
MOD
255
=
0
THEN
cycle
=
cycle
+
1
: resetPlasma
WEND
SUB
changePlasma
(
)
cN
=
cN
+
1
COLOR
_RGB
(
127
+
127
*
SIN
(
pR!
*
.1
*
cN
)
,
127
+
127
*
SIN
(
pG!
*
.1
*
cN
)
,
127
+
127
*
SIN
(
pB!
*
.1
*
cN
)
)
END
SUB
SUB
resetPlasma
(
)
pR!
=
RND
^
2
: pG!
=
RND
^
2
: pB!
=
RND
^
2
END
SUB
Text Only
|
Text with Attachments