Важная информация

User Tag List

Результаты опроса: Нужен ли конкурс игр на бейсике?

Голосовавшие
56. Вы ещё не участвовали в этом опросе
  • Да, нужен, буду участвовать.

    7 12.50%
  • Да, нужен, буду спонсором.

    2 3.57%
  • Да, нужен, буду зрителем.

    29 51.79%
  • Нет, не нужен.

    18 32.14%
Страница 4 из 37 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 368

Тема: Конкурс игр на бейсике

  1. #31
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я за конкурс, может, даже поучаствую. Мое мнение про ограничения: надо запретить только разработку ассемблерного кода для самой игры. В этому случае можно использовать тучу тулов и ассемблерного кода, зарелиженных до конкурса, а именно:
    • Laser-, Beta-, Mega- и прочие бэйсики;
    • [New]SuperCode и аналогичные либы;
    • тулы, не требующие программирования, но генерящие выходной код, например, мой SpriteGrabber;
    • специально разработанные и утвержденные оргами для конкурса пакеты подпрограмм (например, проигрывание фоновой AY-музыки из 128-й страницы, загрузка музыки в GS, печать хитрых символов через PRINT#, поддержка расширенных экранов клонов и так далее).


    Это позволит сделать зрелищную BASIC-игру, использующую возможности железа, недоступные из обычного BASIC'а. При этом вся логика игры останется на BASIC, автор игры не напишет ни одной строчки кода на асме, обеспечится равенство участников и игры будут ни разу не унылыми.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    и системная переменная LAST_K в которой лежит "код" последней нажатой клавиши.
    а как Cursor Joystick будет выглядеть, если нажаты влево-вверх или влево-огонь?

  4. #33
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, в случае отслеживания нажатия сразу нескольких клавиш, поможет только чтение из порта(ов). LAST_K - не более чем, аналог команды CODE INKEY$.
    Когда есть, но не знаешь где - это все равно, что нету.

  5. #34
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    Есть команда чтения из порта (клавиатурного, в том числе) и системная переменная LAST_K в которой лежит "код" последней нажатой клавиши.
    LAST_K с KSTATE такой же "невариант" как и INKEY$ (два одновременных нажатия как?), а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.

    Если выдать всем участникам пару стандартных процедур - опрос клавы и вывод спрайта, игры станут в 10 раз быстрей. Спрайты, скажем, из инфоркомовской "Динамической графики" - вполне себе олдскул, и из бейсика пользоваться просто.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  6. #35
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    LAST_K с KSTATE такой же "невариант" как и INKEY$ (два одновременных нажатия как?), а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.
    ой ли? я на Атари делал аналог, выйдет тормозно.

  7. #36
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго
    Можно, но опять же не быстро и не просто. Именно поэтому я писал, про невозможность написания динамических игры на "чистом" бейсике.
    Когда есть, но не знаешь где - это все равно, что нету.

  8. #37
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.
    Для Kempston- и Sinaclair-джойстиков из порта читается 32 возможных значения - что мешает сделать массив с номерами строк для перехода по каждому возможному значению? А, если выкинуть опрос "огня", который, как правило, обрабатывается отдельно, получится 16 значений всего.

  9. #38
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ты забыл про три старших бита, которые надо откинуть по MOD (которого в спектрумовском бейсике нет).
    LET i=IN ...:LET i=i-(32*INT (i/32))

  10. #39
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На бейсике "раскидывание" на биты, однобайтового десятичного значения, можно организовать в виде подпрограммы (строки 2 и 30 служат для ввода и вывода значения):

    Код:
    2 INPUT n
    ...
    8 DIM b(8)
    10 IF n>127 THEN LET n=n-128: LET b(8)=1
    12 IF n>63 THEN LET n=n-64: LET b(7)=1
    14 IF n>31 THEN LET n=n-32: LET b(6)=1
    16 IF n>15 THEN LET n=n-16: LET b(5)=1
    15 IF n>7 THEN LET n=n-8: LET b(4)=1
    20 IF n>3 THEN LET n=n-4: LET b(3)=1
    22 IF n>1 THEN LET n=n-2: LET b(2)=1
    24 LET b(1)=n
    ...
    30 FOR i =1 TO 8: PRINT AТ 0, i; b(i): NEXT i
    Можно организовать программу несколько иначе (отказаться от массива). Данный вариант показывает общий принцип, что это можно реализовать довольно коротко и просто.
    ----
    В отличии от "циклопической" программы из книжки: "Как написать игру..."

    Код:
    10 DIM J(5)
    20 LET JOY=IN 31
    30 FOR N=1 TO 5
    40 LET JOY=J0Y/2
    50 LET J(N)=(JOY<>INT JOY): LET JOY=INT JOY
    60 NEXT N
    70 PRINT AT 0,0;
    80 FOR N=5 TO 1 STEP -1
    90 PRINT J(N);
    100 NEXT N
    110 GO TO 20
    Последний раз редактировалось null_device; 15.03.2014 в 12:24.
    Когда есть, но не знаешь где - это все равно, что нету.

  11. #40
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Red face

    Прикладываю образец ввода с клавиатуры и кемпстон мыши в бейсике.
    Смотреть LIST, запустить RUN.

    Глубоко надеюсь, что старшие разряды не будут скакать на вашем эмуляторе.
    Вложения Вложения
    • Тип файла: zip InTest.zip (432 байт, Просмотров: 71)

Страница 4 из 37 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Графика в Бейсике на УКНЦ
    от nzeemin в разделе ДВК, УКНЦ
    Ответов: 45
    Последнее: 19.04.2022, 22:30
  2. Демо на бейсике
    от Viktor2312 в разделе Программирование
    Ответов: 134
    Последнее: 09.07.2014, 01:34
  3. Небольшие программки на Бейсике.
    от new в разделе Для начинающих
    Ответов: 11
    Последнее: 17.07.2010, 15:45
  4. Спрайты в бейсике
    от AER в разделе Для начинающих
    Ответов: 13
    Последнее: 28.03.2010, 11:50
  5. моя игра на бейсике
    от женя999 в разделе Игры
    Ответов: 44
    Последнее: 10.02.2010, 16:02

Ваши права

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