Text Only
|
Text with Attachments
QB64.org Forum
Active Forums => Programs => Topic started by: FellippeHeitor on July 16, 2018, 08:12:03 pm
Title:
Steering wheel
Post by:
FellippeHeitor
on
July 16, 2018, 08:12:03 pm
I don't know what this will be used for (or if it will) but it's fun to run for now:
Code: QB64:
[Select]
SCREEN
_NEWIMAGE
(
600
,
600
,
32
)
DO
CLS
PRINT
a
CircleFill
_WIDTH
/
2
,
_HEIGHT
/
2
,
250
,
_RGB32
(
map
(
a
,
-
_PI
,
_PI
,
0
,
255
)
,
0
,
map
(
a
,
-
_PI
,
_PI
,
255
,
0
)
)
CircleFill
_WIDTH
/
2
+
COS
(
a
-
(
_D2R
(
90
)
)
)
*
200
,
_HEIGHT
/
2
+
SIN
(
a
-
(
_D2R
(
90
)
)
)
*
200
,
5
,
_RGB32
(
255
,
255
,
255
)
IF
_KEYDOWN
(
19200
)
THEN
'left
a
=
a
-
.1
END
IF
IF
_KEYDOWN
(
19712
)
THEN
'right
a
=
a
+
.1
END
IF
IF
a
>
0
THEN
a
=
a
-
map
(
a
,
0
,
_PI
,
.01
,
.1
)
IF
a
<
0
THEN
a
=
a
+
map
(
a
,
0
,
-
_PI
,
.01
,
.1
)
_DISPLAY
_LIMIT
60
LOOP
FUNCTION
map!
(
value!
,
minRange!
,
maxRange!
,
newMinRange!
,
newMaxRange!
)
map!
=
(
(
value!
-
minRange!
)
/
(
maxRange!
-
minRange!
)
)
*
(
newMaxRange!
-
newMinRange!
)
+
newMinRange!
END
FUNCTION
SUB
CircleFill
(
x
AS
LONG
,
y
AS
LONG
,
R
AS
LONG
,
C
AS
_UNSIGNED
LONG
)
x0
=
R
y0
=
0
e
=
0
DO
WHILE
y0
<
x0
IF
e
<=
0
THEN
y0
=
y0
+
1
LINE
(
x
-
x0
,
y
+
y0
)
-
(
x
+
x0
,
y
+
y0
)
,
C
,
BF
LINE
(
x
-
x0
,
y
-
y0
)
-
(
x
+
x0
,
y
-
y0
)
,
C
,
BF
e
=
e
+
2
*
y0
ELSE
LINE
(
x
-
y0
,
y
-
x0
)
-
(
x
+
y0
,
y
-
x0
)
,
C
,
BF
LINE
(
x
-
y0
,
y
+
x0
)
-
(
x
+
y0
,
y
+
x0
)
,
C
,
BF
x0
=
x0
-
1
e
=
e
-
2
*
x0
END
IF
LOOP
LINE
(
x
-
R
,
y
)
-
(
x
+
R
,
y
)
,
C
,
BF
END
SUB
Title:
Re: Steering wheel
Post by:
bplus
on
July 17, 2018, 12:00:25 am
Interesting, like it's spring loaded and self righting.
Text Only
|
Text with Attachments