User Tag List

Показано с 1 по 10 из 697

Тема: Бейсики для Вектора-06Ц и клонов

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #14

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    240
    Спасибо Благодарностей отдано 
    148
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Команда SCREEN0,0,L,P присвоит математическим/логическим цветам 0 и 1 физические цвета L и P
    Да, но я имел ввиду другой контекст.
    Код:
    10 FOR L=0 TO 15
    20 P=INT(RND(1)*255)+1)
    30 SCREEN 0,L,P
    40 NEXT L
    И вот здесь берём мою формулировку: Команда SCREEN 0,L,P в строке 30 служит для присвоения логическому цвету L (0-15, из 16 возможных) случайного физического цвета P из палитры 255 цветов.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Цвет бордюра зависит не только от SCREEN (физический) но и от третьего аргумента COLOR (математический/логический, по умолчанию в 2.5=1, но так не во всех его клонах).
    Проблемы терминологические. Я считаю так:

    • Логический цвет - это то чем оперирует программист на своём уровне логики работы программы, это абстракция. В 06Ц Бейсик программист может оперировать 16 цветами, потому что больше Вектор на экране формально показать не может.
    • Физический цвет - это цвет который присвоен логическому цвету физически, по факту. Какие для этого отображения потребовалось затронуть плоскости, программисту на уровне Бейсика, в принципе безразлично. Он про них наверное и знать не обязан.

    То что я хочу сказать:

    • Физический цвет фона зависит от установленного логического цвета 0
    • Физический цвет бордюра зависит от установленного логического цвета 1
    • Физический цвет тона зависит от установленного логического цвета 15.

    Вместо тысячи слов. Вот программа на Acorn BASIC:
    Код:
       10 REM Draw to the screen
       20 MODE 2
       30 D=1280/16
       40 X=0
       50 MOVE X,0  
       60 MOVE X,1024   
       70 FOR I=0 TO 15  
       80 X=X+D
       90 GCOL 0,I
      100 PLOT 85,X,0
      110 PLOT 85,X,1024
      120 NEXT I
      130 REM Cycle the palette
      140 K=0
      150 FOR L=0 TO 15
      160 P=0
      170 IF L=K THEN P=5
      180 VDU 19,L,P,0,0,0
      190 NEXT L
      200 K=K+1  
      210 IF K>15 THEN K=0 : REM We can now use 0 as part of our animation
      220 GOTO 150
    Переписываем это на 06Ц Бейсик:
    Код:
    10 D=255/16
    20 X=0
    30 PLOT X,0,2
    40 PLOT X,255,2
    50 FOR I=0 TO 15
    60 X=X+D
    70 COLOR I
    80 LINE X,0,BF
    90 LINE X,255,BF
    100 NEXT I
    110 K=0
    120 FOR L=0 TO 15
    130 P=0
    140 IF L=K THEN P=5
    150 SCREEN 0,L,P
    160 NEXT L
    170 K=K+1
    180 IF K>15 THEN GOTO 110
    190 GOTO120
    И это даже работает. Внимание, вопрос: как будет выглядеть проверка необходимая для того чтобы эта шляпа не моргала бордюром?

    Программа для Вектора: anim.zip
    Последний раз редактировалось aGGreSSor; 31.07.2025 в 22:31.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  2. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  3. Ответов: 198
    Последнее: 26.04.2020, 13:05
  4. Ответов: 58
    Последнее: 06.07.2019, 23:56
  5. Ответов: 8
    Последнее: 14.11.2008, 02:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •