QBASICBOOK.ru: сайт про QB64

Опубликовано: 2020-05-06 08:00:00

Аналоговые часы

В этой статье представлена неплохая реализация аналоговых часов.

Рассмотрим исходный текст программы:


  1. SCREEN 12
  2. CONST PI = 3.14159265358#
  3. X0 = 320: Y0 = 240: R = 220: RS = 200: RM = 180: RH = 175: DIM C$(12)
  4. DATA XII,I,II,III,IV,V,VI,VII,VIII,IX,X,XI
  5. FOR I = 1 TO 12: READ C$(I): NEXT
  6. CIRCLE (X0, Y0), R, 4
  7. FOR S = 0 TO 59
  8.     AX = CINT(X0 - R * COS((PI / 180) * (6 * S + 90)))
  9.     AY = CINT(Y0 - R * SIN((PI / 180) * (6 * S + 90)))
  10.     AX1 = CINT(X0 - (R - 15) * COS((PI / 180) * (6 * S + 90)))
  11.     AY1 = CINT(Y0 - (R - 15) * SIN((PI / 180) * (6 * S + 90)))
  12.     AX2 = CINT(X0 - (R - 5) * COS((PI / 180) * (6 * S + 90)))
  13.     AY2 = CINT(Y0 - (R - 5) * SIN((PI / 180) * (6 * S + 90)))
  14.     IF S MOD 5 = 0 THEN
  15.         LINE (AX, AY)-(AX1, AY1), 5
  16.         LOCATE AY1 / 16, AX1 / 8: PRINT C$((S / 5) + 1)
  17.     ELSE
  18.         LINE (AX, AY)-(AX2, AY2), 5
  19.     END IF
  20. NEXT
  21. WHILE INKEY$ = ""
  22.     A$ = TIME$
  23.     H = VAL(MID$(A$, 1, 2))
  24.     M = VAL(MID$(A$, 4, 2))
  25.     S1 = S: S = VAL(MID$(A$, 7, 2))
  26.     IF S1 <> S THEN
  27.         LINE (X0, Y0)-(XS, YS), 0
  28.         LINE (X0, Y0)-(XM, YM), 0
  29.         LINE (X0, Y0)-(XH, YH), 0
  30.         XS = CINT(X0 - RS * COS((PI / 180) * (6 * S + 90)))
  31.         YS = CINT(Y0 - RS * SIN((PI / 180) * (6 * S + 90)))
  32.         LINE (X0, Y0)-(XS, YS), 4
  33.         XM = CINT(X0 - RM * COS((PI / 180) * (90 + 6 * M)))
  34.         YM = CINT(Y0 - RM * SIN((PI / 180) * (90 + 6 * M)))
  35.         LINE (X0, Y0)-(XM, YM), 15
  36.         XH = CINT(X0 - RH * COS((PI / 180) * (90 + 6 * ((H MOD 12) * 5 + M \ 12))))
  37.         YH = CINT(Y0 - RH * SIN((PI / 180) * (90 + 6 * ((H MOD 12) * 5 + M \ 12))))
  38.         LINE (X0, Y0)-(XH, YH), 1
  39.     END IF
  40. WEND

Рисунок 1 – Исходный текст для построения аналоговых часов 

Рисунок 1 – Исходный текст для построения аналоговых часов

 Рисунок 2 – Результат построения аналоговых часов

Рисунок 2 – Результат построения аналоговых часов

Спасибо за прочтение этой статьи.

 

Прикрепленные файлы:

< Предыдущая статья
График функции вида Z = F(X, Y)
Следующая статья >
Цифровые часы

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.