Как нарисовать эти рисунки в Си? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите нарисовать данные рисунки на языке Си

Решение задачи: «Как нарисовать эти рисунки в Си?»

textual
Листинг программы
#include "SDL.h"
 
int main(int argc, char* argv[])
{
    if (SDL_Init(SDL_INIT_VIDEO) == 0)
    {
        SDL_Window* window = NULL;
        SDL_Renderer* renderer = NULL;
 
        if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0)
        {
            SDL_bool done = SDL_FALSE;
 
            while (!done)
            {
                SDL_Event event;
 
                SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
                SDL_RenderClear(renderer);
 
                SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
                SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
                SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
                SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
                SDL_RenderPresent(renderer);
 
                while (SDL_PollEvent(&event))
                {
                    if (event.type == SDL_QUIT)
                    {
                        done = SDL_TRUE;
                    }
                }
            }
        }
 
        if (renderer)
        {
            SDL_DestroyRenderer(renderer);
        }
        if (window)
        {
            SDL_DestroyWindow(window);
        }
    }
    SDL_Quit();
    return 0;
}

Объяснение кода листинга программы

  1. Подключение библиотеки SDL.h
  2. Инициализация SDL с помощью функции SDL_Init и передачей параметра SDL_INIT_VIDEO
  3. Создание окна и рендера с помощью функции SDL_CreateWindowAndRenderer и передачей параметров 640, 480, 0, &window, &renderer
  4. Создание переменной SDL_bool done со значением SDL_FALSE
  5. Запуск цикла while, который выполняется до тех пор, пока переменная done не станет SDL_TRUE
  6. Очистка окна и рендера с помощью функции SDL_RenderClear
  7. Установка цвета для рисования на рендере с помощью функции SDL_SetRenderDrawColor и передачей параметров 0, 0, 0, SDL_ALPHA_OPAQUE
  8. Рисование линий на рендере с помощью функции SDL_RenderDrawLine и передачей параметров 320, 200, 300, 240; 300, 240, 340, 240; 340, 240, 320, 200
  9. Представление нарисованных линий на экране с помощью функции SDL_RenderPresent
  10. Проверка событий с помощью функции SDL_PollEvent и проверка типа события на SDL_QUIT
  11. Если событие SDL_QUIT обнаружено, то переменная done устанавливается в SDL_TRUE
  12. Повторение шагов 8-11 до тех пор, пока событие SDL_QUIT не будет обнаружено
  13. Если рендерер не равен NULL, то он уничтожается с помощью функции SDL_DestroyRenderer
  14. Если окно не равно NULL, то оно уничтожается с помощью функции SDL_DestroyWindow
  15. Вызов функции SDL_Quit для завершения работы SDL
  16. Возврат 0 из функции main, что означает успешное выполнение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы