Member 12815686 Ответов: 1

Моя графика.H плагин отказывается показывать графику с моим ранним предтестовым кодом для игры на code:: blocks


Я еще не мог протестировать или изменить структуру кода, и это все еще очень, очень ранняя сборка... если я не пытаюсь включить какую-либо графику, игра отлично работает в командной строке.
#include <iostream>
#include <string>
#include <graphics.h>

int main()
{
    int gd = DETECT;
    int gm;
    initgraph(&gd, &gm, "C:\\TC\\BGI");

    arc(200, 200, 0, 130, 50);
    arc(150, 150, 0, 360, 10);
    arc(250, 150, 0, 360, 10);
    arc(200, 200, 0, 360, 5);

    getch();
    closegraph;

    int erick[2][6] = {{1,3,5},{2,4,6}};

    // 1,3,5
    // 2,4,6

    int juliett[3][6] = {{1,3,5},{2,4,6}};

    // 1,3,5
    // 2,4,6

    int elliot[4][6] = {{1,3,5},{2,4,6}};

    // 1,3,5
    // 2,4,6

    int paul[5][6] = {{1,3,5},{2,4,6}};

    // 1,3,5
    // 2,4,6

    int friedrich[6][6] = {{1,3,5},{2,4,6}};

    // 1,3,5
    // 2,4,6

    int name1;
    string age1;
    char initial1;

    cout << "naming game: type and guess the secret name to advance, if failure you see the credits!" << endl;
    cin >> age1 >> initial1 >> name1;

    cout << "type the secret name" << name1 << "starts with " << age1 << "the letter e" << name1 << endl;

    int name2;
    string age2;
    char initial2;

    cout << "stage 2" << endl;
    cin >> age2 >> initial2 >> name2;

    cout << "type the secret name" << name2 << "starts with " << age2 << "the letter j" << name2 << endl;

    int name3;
    string age3;
    char initial3;

    cout << "stage 3" << endl;
    cin >> age3 >> initial3 >> name3;

    cout << "type the secret name" << name3 << "starts with " << age3 << "the letter e" << name3 << endl;

    int name4;
    string age4;
    char initial4;

    cout << "stage 4" << endl;
    cin >> age4 >> initial4 >> name4;

    cout << "type the secret name" << name4 << "starts with " << age4 << "the letter p" << name4 << endl;

    int name5;
    string age5;
    char initial5;

    cout << "stage 5" << endl;
    cin >> age5 >> initial5 >> name5;

    cout << "type the secret name" << name5 << "starts with " << age5 << "the letter f" << name5 << endl;

}


Другими словами, маленькое окно пустое (серое), и ничего не происходит, если я пытаюсь использовать графику.

Что я уже пробовал:

Я попытался убрать графическое кодирование, и оно начало работать как интерфейс командной строки. Также была предпринята попытка изменить кодировку здесь и там, но на данный момент она в основном работает через CLI, а не через GUI.

1 Ответов

Рейтинг:
6

Jochen Arndt

То графика.ч заголовочный файл предназначен для графической библиотеки Turbo C[++] для DOS. Если вы хотите использовать это, вы должны построить свою программу с Turbo C[++] и выполнить ее в DOS (загрузиться в систему DOS или использовать эмулятор DOS, такой как DOSBox).

Для создания программ с графическим выводом при работе в оконной системе можно


  1. Используйте зависящий от системы низкоуровневый фреймворк (например, Microsoft Windows API, X Window или Wayland с Linux)
  2. Используйте высокоуровневые фреймворки, такие как MFC или WTL для Windows или Qt, GTK+, wxWidgets для нескольких операционных систем

Обзор графических фреймворков см. В разделе Список инструментов виджетов-Википедия[^].