Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zastąpienie konsoli

Ostatnio zmodyfikowano 2014-11-07 19:42
Autor Wiadomość
oen432
Temat założony przez niniejszego użytkownika
Zastąpienie konsoli
» 2014-11-07 14:38:30
Witam,

Chciałbym zastąpić konsolę czymś podobnym ale żeby była możliwość używania polskich znaków. No i zmianę tła na jaki się chce a nie ograniczony jak to w przypadku DOS'a.
Ktoś coś poradzi? Jestem początkowym programistą i nie za bardzo w tych sprawach się orientuję.
P-120127
pekfos
» 2014-11-07 14:43:04
Dowolna biblioteka graficzna.
P-120128
oen432
Temat założony przez niniejszego użytkownika
» 2014-11-07 14:45:53
Ok... Jak wcześniej wspomniałem, jestem początkujący, nie za bardzo mi pomogła informacja o takiej bibliotece.
Daj mi na przykład użycie SFML. Czego będę potrzebował do działania?
P-120129
pekfos
» 2014-11-07 14:57:26
Ok... Jak wcześniej wspomniałem, jestem początkujący
Wykonanie tego, czego oczekujesz wykracza poza podstawy programowania. Nie da się w żaden łatwy i przyjemny sposób zrobić sobie 'lepszej konsoli' w miejsce starej. Standardową konsolę możesz co najwyżej wyłączyć, a nowe lepsze okno musisz sobie sam zrobić. Choćby w SFML.
P-120131
michal11
» 2014-11-07 17:00:00
Do wyświetlania polskich znaków w konsoli wystarczy wstring (chyba trzeba mieć jeszcze ustawione odpowiednie kodowanie w konsoli).
Zmniane tła można zrobić w ustawieniach konsoli, lub korzystając z windows.h.
P-120136
oen432
Temat założony przez niniejszego użytkownika
» 2014-11-07 18:54:16
Dobra, pobawiłem się sam itp.
Okno jest, ale nie tak jak trzeba bowiem się zawiesza po kompilacji.
Wszystko to przez funkcję "walka". Gdy ją usunę to pojawia się czarne okno jak należy.

#include <SFML/Graphics.hpp>
#include <conio.h>
#include <ctime>
#include <iostream>

int hp_przeciwnik;
int hp_postac;

int damage_postac;
int damage_przeciwnik;

void walka()
{
    srand(time(0));

    const std::string bronLista[6] = { "mieczem", "reka", "noga", "glowa", "lokciem", "kolanem" };
    const std::string bronListap[6] = { "mieczem", "reka", "noga", "glowa", "lokciem", "kolanem" };

    hp_przeciwnik = 100;
    hp_postac = 100;
    damage_postac = 1;
    damage_przeciwnik = 1;

    bool petla = false;

    int opcja;
    bool obrona = false;
    bool atak = true;
    while(!petla)
    {
        std::string bron = bronLista[rand() % 6];
        std::string bronp = bronListap[rand() % 6];
        std::cout << "Twoja tura, co robisz?" << std::endl;
        std::cout << "[1] ATAK" << std::endl;
        std::cout << "[2] OBRONA" << std::endl;
        std::cin >> opcja;
        switch(opcja)
        {
            case 1:
                hp_przeciwnik -= damage_postac;
                std::cout << "Zaatakowales " << bron << " i zadales " << damage_postac << " obrazen" << std::endl;
                std::cout << "Zycie przeciwnika: " << hp_przeciwnik << std::endl;
                break;

            case 2:
                obrona = true;
                break;

        }
        std::cout << "\n";
        std::cout << "Tura przeciwnika" << std::endl;

        if(obrona) {
            obrona = false;
            std::cout << "Obroniles sie przed atakiem przeciwnika";
            std::cout << "\n" << "\n";
        }
        else {
            std::cout << "Przeciwnik zaatakowal Cie " << bronp << " zadajac " << damage_przeciwnik << " obrazen";
            std::cout << "\n" << "\n";
        }
    }
}

int main()
{
    sf::Window window(sf::VideoMode(800, 600), "Gra RPG");

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        walka();
        window.clear;
        window.display();
    }

    return 0;
}
P-120138
pekfos
» 2014-11-07 19:28:32
To w ogóle tak nie działa. SFML to nie jest gotowy substytut konsoli. Zapoznaj się z kursem.
P-120140
oen432
Temat założony przez niniejszego użytkownika
» 2014-11-07 19:34:12
Tego się obawiałem.
No nic, wychodzi na to że muszę się jeszcze podszkolić żeby taki efekt osiągnąć. To jeszcze pytanie, zrobienie okna i przycisków w nim które wywołują to co mam w case 1 i 2 jest łatwiejszą sprawą?
P-120141
« 1 » 2
  Strona 1 z 2 Następna strona