elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con ncurses
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con ncurses  (Leído 1,667 veces)
tca153

Desconectado Desconectado

Mensajes: 10


Ver Perfil
ayuda con ncurses
« en: 29 Agosto 2021, 02:00 am »

buen dia a todos, estoy haciendo un programa algo tonto con ncurses, un juego, y una de las clases me esta dando problemas, la de manejo de pantalla, tengo 2 problemas que son:
1-cuando se ejecuta la ventana del terminal siempre es muy chica, de alrededor de1/4 a 1/3 del area de la pantalla, en ese momento las zonas que dibujo en pantalla estan bien, pero cuando la maximizo quedan chicas.
2-para realizar un mapa uso 9 sub ventanas llamadas bloques, pero resulta que estas no me toman los atributos de color, lo demas anda.
El mas importante seria el primero, necesitaria saber como arrancar ya con la pantalla maximizada por soft, si es que se puede (lei por ahi que si y tambien vi una funciones llamadas resizeterm y resize_term que no se si tendran algo que ver) y adaptar la escala al nuevo tamaño de forma automatica (tambien he podido ver que puedo interceptar el evento de maximizado como una pulsacion con getch()). lo otro seria mas por prolijidad

Código:
#ifndef PANTALLA_H
    #define PANTALLA_H
    #include <ncurses.h>

    class Pantalla
    {
        private:
            WINDOW *mapa, *dialogo, *inventario, *bloques[9];
        public:
            Pantalla();
            ~Pantalla();
            int Mapa(void);
            int Dialogo(void);
            int Inventario(void);
    };

#endif // PANTALLA_H

Código:
#include "Pantalla.h"
#include <ncurses.h>
#include <iostream>

Pantalla::Pantalla()
{
    int8_t i;
    initscr();
    start_color();
    cbreak();
    noecho();
    keypad(stdscr,TRUE);
    init_pair(1,COLOR_RED,COLOR_GREEN);
    init_pair(2,COLOR_RED,COLOR_WHITE);
    init_pair(3,COLOR_BLUE,COLOR_YELLOW);
    init_pair(4,COLOR_BLACK,COLOR_RED);
    init_pair(5,COLOR_BLACK,COLOR_CYAN);
    mapa=subwin(stdscr,22,38,1,1);

    if(mapa == NULL)
    {
        endwin();
        std::cout << "imposible crear ventana";
        getch();
        return;
    }
    dialogo=subwin(stdscr,10,38,1,41);
    if(dialogo == NULL)
    {
        delwin(mapa);
        endwin();
        std::cout << "imposible crear ventana";
        getch();
        return;
    }
    inventario=subwin(stdscr,10,38,13,41);
    if(inventario == NULL)
    {
        delwin(mapa);
        delwin(dialogo);
        endwin();
        std::cout << "imposible crear ventana";
        getch();
        return;
    }
    for(i=0;i<3;i++)
    {
        bloques[i]=subwin(mapa,5,7,5,9+(7*i));
        bloques[i+3]=subwin(mapa,5,7,10,9+(7*i));
        bloques[i+6]=subwin(mapa,5,7,15,9+(7*i));
    }
    for(i=0;i<9;i++)
    {
        box(bloques[i],0,0);
    }
    attron(COLOR_PAIR(1));
    bkgd(COLOR_PAIR(1));
    attroff(COLOR_PAIR(1));
    wattron(mapa,COLOR_PAIR(2));
    wbkgd(mapa,COLOR_PAIR(2));
    wattroff(mapa,COLOR_PAIR(2));
    wattron(dialogo,COLOR_PAIR(3));
    wbkgd(dialogo,COLOR_PAIR(3));
    wattroff(dialogo,COLOR_PAIR(3));
    wattron(inventario,COLOR_PAIR(4));
    wbkgd(inventario,COLOR_PAIR(4));
    wattroff(inventario,COLOR_PAIR(4));
    box(mapa,0,0);
    box(dialogo,0,0);
    box(inventario,0,0);
    refresh();
    getch();
}

Pantalla::~Pantalla()
{
    delwin(mapa);
    delwin(dialogo);
    delwin(inventario);
    endwin();
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C]Bordes de subwin en ncurses
Programación C/C++
RyogiShiki 1 3,603 Último mensaje 30 Marzo 2011, 00:35 am
por RyogiShiki
[DUDA][C][ncurses] Mostrar caracteres Unicode via ncurses.
Programación C/C++
RyogiShiki 0 2,999 Último mensaje 3 Mayo 2011, 18:41 pm
por RyogiShiki
PAC-MAN EN C CON HILOS Y <NCURSES>
Programación C/C++
angelicavf 3 3,056 Último mensaje 15 Enero 2016, 19:49 pm
por MAFUS
[C] Problema con libreria ncurses.h Linux
Programación C/C++
ianmorar03 0 2,051 Último mensaje 20 Mayo 2020, 10:24 am
por ianmorar03
¿Se puede usar la librería de #include <ncurses> en C?
Programación C/C++
TeyaIV 1 2,549 Último mensaje 11 Diciembre 2020, 03:34 am
por Loretz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines