Форум программистов, компьютерный форум, киберфорум
Наши страницы

Пишем свой интерпретатор языка BASIC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились:...
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp #include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() { http://www.cyberforum.ru/cpp-beginners/thread41186.html
Массивы строк C++
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер
Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) ...
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; ... подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
954 / 225 / 6
Регистрация: 12.04.2009
Сообщений: 921
25.10.2009, 20:00  [ТС]
Сделал инструкцию SCREEN(ревизия 42),пока только в одном варианте,так как там куча всяких режимов,я даже не знаю,получится ли все их сделать,библиотеки разные,выбрал наиболее подходящий.(640 на 480,глубина цвета 16 бит,страница создаётся в системной памяти)
В-общем,если интересно попробовать(в принципе там ничего пока не увидишь,только чёрный экран с курсором),то тогда нужно указать режим возврата(то есть твой режим видео) а то экран так и останется в 640Х480,а мне даже понравилось,некоторые старые игрушки,Homm 3 например,не растягиваются у меня на полный экран,так как у меня widescreen,а это способ,возможно,насильно растянуть картинку как хочешь.
Менять нужно в файле graphics.h вот эти два enum'a
C++
1
2
3
4
5
6
7
8
9
10
11
  enum ScreenModeW { // Screen width
     x640  = 640,
     x800  = 800,
     x1400 = 1400
  };
/* -------------------------------------------------------------------------- */
  enum ScreenModeH { // Screen height
     x480 = 480,
     x600 = 600,
     x900 = 900
  };
и функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  template <class T> void graphics_SetSCREEN (T params)
  {
     switch (params->at(0)->Get_ival())
     {
        case 12: // SCREEN 12
           if (!graphics.isinit())
              if (SDL_Init( SDL_INIT_VIDEO ) < 0)
                 error(CANNOT_INIT_VIDEO_SUBSYS);
           Gr_Surface_t *display;
           if (SDL_VideoModeOK(ScreenModeW(x640),ScreenModeH(x480),
                                               BitDepth(_16bit),SDL_SWSURFACE|
                                                                SDL_FULLSCREEN))
              display = SDL_SetVideoMode (ScreenModeW(x640),ScreenModeH(x480),
                                               BitDepth(_16bit),SDL_SWSURFACE|
                                                                SDL_FULLSCREEN);
 
           else error(CANNOT_SET_DISPLAY);
           // TODO Just for test,need to be removed later
           sleep(2);
           if (SDL_VideoModeOK(ScreenModeW(x1400),ScreenModeH(x900),
                                               BitDepth(_32bit),SDL_SWSURFACE|
                                                                SDL_FULLSCREEN))
              display = SDL_SetVideoMode (ScreenModeW(x1400),ScreenModeH(x900),
                                               BitDepth(_32bit),SDL_SWSURFACE|
                                                                SDL_FULLSCREEN);
           //////////////////////////////////////////////
           assert (display);
           graphics.set_last_display(display);
        break;
        default: error(UNKNOWN_VIDEO_MODE);
     }
  }
Как раз после // TODO,просто прописать новые значения из перечислений.
И ксатати,если не нужно полный экран,то просто убрать " | SDL_FULLSCREEN"
Насчёт линий и прочего я не нашёл специальных функций,но зато обнаружил пример рисования пикселя на экране.Причём функцию нужно писать самому.Но главное нарисовать точку,а там уже "да здравствует математика".
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru