Другие языки программирования и технологии

Рисунки в Qbasic !

Помогите пожалуйста сделать средний рисунок в SCREEN 12 Если есть какие-ниб конверторы изображений - дайте знать ! Оч надо ! 10 баллов отдам !
Olim Norov
Olim Norov
8 908
Могу предложить только анимированные аналоговые часики собственного изготовления:

DECLARE SUB drawhours (x!, y!, r!)
DECLARE SUB drawseconds (x!, y!, r!)
DECLARE SUB drawminutes (x!, y!, r!)
DECLARE FUNCTION dx! (n!)
DECLARE FUNCTION dy! (n!)
DECLARE FUNCTION rad! (n!) ' функция перевода градусов в радианы
SCREEN 12
maxx = 639 ' максимальное значение по оси X
maxy = 479 ' максимальное значение по оси Y
r1 = 75 ' радиус циферблата
r2 = 65 ' радиус часовых отметок
r3 = 70 ' радиус минутных отметок
r4 = 60 ' радиус секундной стрелки
r5 = 50 ' радиус минутной стрелки
r6 = 45 ' радиус часовой стрелки
FOR n = 0 TO 360 STEP 2
x = maxx / 2
y = maxy / 2
' рисуем циферблат:
IF n = 0 THEN
PSET (x + dx(n) * r1, y + dy(n) * r1), 10
ELSE
LINE -(x + dx(n) * r1, y + dy(n) * r1), 10
END IF
' рисуем минутные деления:
IF n MOD 6 = 0 AND n MOD 30 <> 0 THEN
LINE (x + dx(n) * r3, y + dy(n) * r3)-(x + dx(n) * r1, y + dy(n) * r1), 15
END IF
' рисуем часовые деления:
IF n MOD 30 = 0 THEN
LINE (x + dx(n) * r2, y + dy(n) * r2)-(x + dx(n) * r1, y + dy(n) * r1), 14
END IF
NEXT
drawhours x, y, r6
drawminutes x, y, r5
drawseconds x, y, r4
ON TIMER(1) GOSUB move
TIMER ON
DO
LOOP WHILE INKEY$ = ""
END
move:
drawhours x, y, r6
drawminutes x, y, r5
drawseconds x, y, r4
RETURN
SUB drawhours (x, y, r)
STATIC olda
h = TIMER / 3600
h = h - 3
IF h > 12 THEN
h = h - 12
END IF
LINE (x, y)-(x + dx(olda) * r, y + dy(olda) * r), 0
a = h * 30
olda = a
LINE (x, y)-(x + dx(a) * r, y + dy(a) * r), 11
END SUB
SUB drawminutes (x, y, r)
STATIC olda
m = (TIMER - INT(TIMER / 3600) * 3600) / 60
m = m + 45
IF m > 60 THEN
m = m - 60
END IF
LINE (x, y)-(x + dx(olda) * r, y + dy(olda) * r), 0
a = INT(m) * 6
olda = a
LINE (x, y)-(x + dx(a) * r, y + dy(a) * r), 9
END SUB
SUB drawseconds (x, y, r)
STATIC olda
m = (TIMER - INT(TIMER / 3600) * 3600) / 60
s = (m - INT(m)) * 60
s = s + 45
IF s > 60 THEN
s = s - 60
END IF
LINE (x, y)-(x + dx(olda) * r, y + dy(olda) * r), 0
a = INT(s) * 6
olda = a
LINE (x, y)-(x + dx(a) * r, y + dy(a) * r), 12
END SUB
FUNCTION dx (n)
dx = COS(rad(n))
END FUNCTION
FUNCTION dy (n)
dy = SIN(rad(n))
END FUNCTION
FUNCTION rad (n)
pi = ATN(1) * 4
rad = n * pi / 180
END FUNCTION
ЛЛ
Лол Лолов
9 204
Лучший ответ
Ого долгож будеш делать в ручную.. .