1. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.

кто рубит в паскале?

Тема в разделе "Hard & Soft", создана пользователем Malcolm, 2 май 2006.

  1. CryAngel

    CryAngel

    Регистрация:
    27 апр 2006
    Сообщения:
    62
    Нда... хотелось бы увидеть описание. А то то что я увидел в исходнике меня оччень порадовало )). Ужель и правда разработчики и правда через такую ж... сорь, сделали?..
     
  2. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    Malcolm, так ты с flush пробовал?
     
  3. kl-13 Будущий Император всея Земли

    kl-13

    Legacy

    Регистрация:
    2 янв 2006
    Сообщения:
    4.109
    Народ может я и не втему но коль тут программисты собрались то у меня вопрос в школе я писал на бейсике на компах электроника (12 таких трёхцветных мониторов "чёрный белый серый " мониторов с клавой прилепленных к серверу) но какой у нас был бейсик я не знаю учитель начало программы или командную строку вводил с сервака и нам не показывал мы начинали с чистого монитора с мигающим курсором вот пример простейшей программы ( рисунок домика )
    в неё возможны ошибки в окружности и после b во второй строке возможно нужна запятая просто точно уже не помню

    line (10,10)-(130,90),1,b
    line (30,25)-(70,60),1,bf
    line (110,40)-(130,90),1,b
    line (10,10)-(60,1),1
    line (60,1)-(130,10),1
    circle (60,4),p2,,,1.25

    Так вот вопрос что это за бейсик а если подходит любой или какой другой то что в нём надо перед подобной прогой вводить ? Ключ или как он там называеться . Если возникнет вопрос зачем оно мне надо отвечу сразу когда я учился в школе мне удались все проги кроме одной и у меня мечта идиота её дописать если кто поможет буду очень благодарен .
     
  4. VorteX DrAgON Троллей не кормлю, сами сдохнут.

    VorteX DrAgON

    Legacy

    Регистрация:
    20 сен 2004
    Сообщения:
    3.050
    Все картинки в Даггерфоле 256-цветные.
    Некоторые используют стандартную палитру, а для некоторых используются другие палитры, хранящиеся в файлах *.pal

    Причем формат картинки в некоторых файлах описан, а в некоторых нет.

    Вот структура для хранения картинки загруженой
    Код:
    typedef struct {
      dword FileSize;
      bool PalAvail;//наличие палитры в файле. При отсутствии берется палитра из файла MAP.PAL
      bool Header;//наличие заголовка в файле
      word XOffset;
      word YOffset;
      word Width;
      word Height;
      byte Format;
      byte Flags;
      word ImageSize;
      byte *ImageData;
      byte Palette[256][3];
    }TDFImage;
    
    А вот как заполняются поля этой структуры при чтении из разных картинок (проверка идет по размеру файла картинки)
    Код:
      switch(DFImage.FileSize)
      {
       case 720:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=9;
        DFImage.Height=80;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 990:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=45;
        DFImage.Height=22;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 1720:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=43;
        DFImage.Height=40;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 2140:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=107;
        DFImage.Height=20;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 2916:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=81;
        DFImage.Height=36;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 3200:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=40;
        DFImage.Height=80;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 3938:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=179;
        DFImage.Height=22;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 4280:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=107;
        DFImage.Height=40;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 4508:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=322;
        DFImage.Height=14;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 20480:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=320;
        DFImage.Height=64;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 26496:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=184;
        DFImage.Height=144;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 64000:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=320;
        DFImage.Height=200;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 64768:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=320;
        DFImage.Height=200;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=true;
        DFImage.Header=false;
       }break;
       case 68800:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=320;
        DFImage.Height=215;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       case 112128:
       {
        DFImage.XOffset=0;
        DFImage.YOffset=0;
        DFImage.Width=512;
        DFImage.Height=219;
        DFImage.ImageSize=DFImage.Width*DFImage.Height;
        DFImage.PalAvail=false;
        DFImage.Header=false;
       }break;
       default:
       {
        fread(&DFImage.XOffset,sizeof(DFImage.XOffset),1,f);
        fread(&DFImage.YOffset,sizeof(DFImage.YOffset),1,f);
        fread(&DFImage.Width,sizeof(DFImage.Width),1,f);
        fread(&DFImage.Height,sizeof(DFImage.Height),1,f);
        fread(&DFImage.Format,sizeof(DFImage.Format),1,f);
        fread(&DFImage.Flags,sizeof(DFImage.Flags),1,f);
        fread(&DFImage.ImageSize,sizeof(DFImage.ImageSize),1,f);
        DFImage.PalAvail=false;
        DFImage.Header=true;
       }
      }
    
    Соответственно при наличии палитры в файле мы используем ее, иначе читаем ее в структуру из файла MAP.PAL

    Код:
      if(DFImage.PalAvail){
       fread(DFImage.Palette,256*3,1,f);
      }else
      {
       fpal=fopen((root_path+"[URL="file://\\map.pal"]\\map.pal").c_str(),"rb[/URL]+");
       fread(DFImage.Palette,256*3,1,fpal);
       fclose(fpal);
      }
    
     
  5. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    kl-13, у меня quick Basic 4.5 есть. Синтакасис для line, кажись, такой же. A чтобы запустилось добавь в начале файла
    Код:
    SCREEN 11
     
  6. CryAngel

    CryAngel

    Регистрация:
    27 апр 2006
    Сообщения:
    62
    kl-13, ИМХО этот синтаксис пойдет на большинстве бэйсиков. Кроме визуал понятно)). Хотя немного изменив все это можно запихнуть и в него. Возможно в начале над бут переключиться в графический режим, но точно не скажу - давно все эти бейсики были))
     
  7. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    VorteX DrAgON, а разве размеры картинок стандартны? например, у файла размер 720, но он не 9 Х 80 а 80 Х 9, тогда что будет? Или в этом случае поля ширины и высоты тоже будут заполнены, и размер будет больше 720? Но я подозреваю, что и тогда остается возможность создать такой файл, чтобы размер подходил под какой-либо стандартный, но внутреннее представление было бы другим
     
  8. CryAngel

    CryAngel

    Регистрация:
    27 апр 2006
    Сообщения:
    62
    В том то и дело, что это код для чтения игровых картинок, а не созданых, а они ессно отвечают всем требованиям. Сейчас вопрос именно в этом - желательны б точные спецификации, что бы программа могла определить подходит ли созданная картинка под требования игры.
     
  9. Malcolm

    Malcolm

    Регистрация:
    9 мар 2006
    Сообщения:
    540
    2 CaH51o
    Вот. Я лентяй. Да. Нифига я больше не далал.
     
  10. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    так всех начинающих программеров распугаешь :(
     
  11. idtdev

    idtdev

    Регистрация:
    27 май 2004
    Сообщения:
    395
    в современных библиотеках (явские, dotNET) перекодировка осуществляется в пару строк всего, все уже реализовано :)
     
  12. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    а зачем вообще переводить? Либо кто-то уже перевел, либо занимается этим
     
  13. VorteX DrAgON Троллей не кормлю, сами сдохнут.

    VorteX DrAgON

    Legacy

    Регистрация:
    20 сен 2004
    Сообщения:
    3.050
    >> так всех начинающих программеров распугаешь

    Не распугаю :)

    Могу даже постановку задачи дать для начинающих :) Только прога нужна с GUI желательно, а не консольная.
     
  14. kl-13 Будущий Император всея Земли

    kl-13

    Legacy

    Регистрация:
    2 янв 2006
    Сообщения:
    4.109
    Огромное спасибо за ключ он помог а с бейсиком я решил не мудрить и взял кубасик из дос 6.22 и там всё пашет :) . Да какие ещё ключи бывают и для чего я находил один или два но для чего они непонял для моих прог они не подходили школьных вроде . Да и ещё вопрос не в тему что значит РЕСПЕКТ :blush: ? Сколько лет вижу на форумах это слова а по сей день не знаю значения .

    А самое главное что я теперь не только могу вспомнить старое и научиться новому , теперь моему творчеству нету границ (почьти нету) а на электронике всё творчество кажеться 64 строками программы заканчивалась а пот наступал конец памяти и приходилось стирать начало программы и дописывать конец и сдавать работу по половинкам :D .
     
    Последнее редактирование: 4 май 2006
  15. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    kl-13, это был просто инициализатор графического режима. А если не надо графики, то можно и без него.

    Респект - от английского respect = уважаю
     
  16. CryAngel

    CryAngel

    Регистрация:
    27 апр 2006
    Сообщения:
    62
    А во всяких Дельфах и Билдерах с GUI ИМХО даже проще писать чем консольные:spiteful: :D
     
  17. SAS io.sys

    SAS

    Администратор

    Регистрация:
    8 июл 2003
    Сообщения:
    19.082
    гм...возможно попробую наваять что-нибудь для Даггера, как только текущую прогу для работы сделаю.
     
  18. CryAngel

    CryAngel

    Регистрация:
    27 апр 2006
    Сообщения:
    62
    О... ну уж если за даггер возьмется SAS, то нам тут делать нечего :)
     
  19. SAS io.sys

    SAS

    Администратор

    Регистрация:
    8 июл 2003
    Сообщения:
    19.082
    CryAngel, да ладно тебе ;) У меня на носу диплом, +надо еще как-то успеть программу для работы написать...поэтому примусь за Даггер я нескоро.
     
  20. CaH51o Target lifeform

    CaH51o

    Регистрация:
    30 ноя 2004
    Сообщения:
    1.480
    Тем что ограничители блоков сами вставляются и не нужно писать код с нуля? :D
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление