Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Sothu

#1
La idea es crear un tablero donde diversos jugadores puedan ir ocupando casillas (con unas ciertas condiciones) y gana el que mas casillas ocupa al final del juego.
#2
He avanzado algo, lo que me falta ahora es crear el borde del tablero con los # y las letras a b c d tal como se ve en la imagen: https://imageshack.us/i/p5BQ0KKlp
dejo el codigo que tengo hasta el momento:
#include <iostream>
#include <fstream>

using namespace std;

void llegirTauler(std::ifstream &in)
{
    int n, m, x, current = 0;
    bool black = true;
    in >> n >> m;

    while (in >> x)
    {
        if (black)
        {
            while (current <= m and x)
            {
                if (current == m)
                {
                    std::cout << "\n";
                    current = 0;
                }
                std::cout << "#";
                ++current;
                --x;
            }
            black = false;
        }
        else
        {
            while (current <= m and x)
            {
                if (current == m)
                {
                    std::cout << "\n";
                    current = 0;
                }
                std::cout << " ";
                ++current;
                --x;
            }
            black = true;
        }
    }
}

int main()
{
    int nombreJugadors;
    cout << "BENVINGUTS A OKUPACIO !" << endl;
    cout << "ENTRA NOMBRE DE JUGADORS (2-10):" << endl;
    cin >> nombreJugadors;
    while (nombreJugadors<2 || nombreJugadors>10)
    {
        cout << "ENTRA NOMBRE DE JUGADORS (2-10):" << endl;
        cin >> nombreJugadors;
    }
    cout << "NOM DEL FITXER DEL TAULER:" << endl;
    string nomFitxer;
    cin >> nomFitxer;
    ifstream file(nomFitxer.c_str());
    if (file.is_open())
    {
        llegirTauler(file);
    }
    else cout << "NO ES POR OBRIR EL FITXER";
    return 0;
}


Lo que se obtiene ahora al correr el programa es lo siguiente (como veis faltan los bordes): http://postimg.org/image/l4a6fcwv5/
#3
Si me pudieras pasar el codigo que tienes te lo agradeceria ya que no soy capaz de realizarlo..
Saludos
#4
Si me pudieses ayudar en la tarea de crearla te lo agradeceria mucho... estoy muy pero que muy perdido :S
#5
Pero lo que haces es simplemente construir un tablero, lo que necessito esque el tablero sea creado segun los numeros del archivo :S
#6
Si pudieras darme algo de codigo te lo agradeceria ya que estoy bastante perdido...
#7
A ver si de aqui puede verse..
http://subefotos.com/ver/?f733aded4a76debedeaf52f0002c6007o.png

Aprovecho para explicarme algo mejor:
La foto de este tablero es propia del archivo que contiene lo siguiente:
4 4
2 1 1 1 3 2 5 1
Los dos primeros numeros (4 4) marcan el nombre de filas x columnas. En este caso es un tablero 4x4. Los numeros a continuacion son las celdas vacias y las negras alternativamente. Si empezamos por arriba la izquierda tenemos 2 casillas vacias, 1 negra, 1 vacia, 1 negra, 3 vacias... Supongo que se entiende la idea. Además de esto hay un borde fijo y las letras para numerar las casillas que hacen que se amplie en 2 el grueso del tablero.
#8
void llegirTauler(ifstream &file)
{
    int files=1, columnes=1;
    int nblanques, nnegres;
    file >> files >> columnes;
    while (not file.eof())
    {
        file >> nblanques >> nnegres;
        for (int i=1; i<=nblanques; i++)
        {
            cout << "#" << endl;
        }

    }
}
#9
Buenas gente del foro, necesito que alguien me heche un cable con esto...
Tengo que crear un tablero que tenga la forma siguiente:

https://imagizer.imageshack.us/v2/92x135q90/905/BQ0KKl.png

Para esto dispongo de un archivo txt que contiene lo siguiente:
4 4
2 1 1 1 3 2 5 1

Donde 4 4 es el nombre de filas x columnas y los otros numeros son los que se usan para formar el tablero (1 representa una casilla en negro). Empezando por arriba a la izquierda tenemos 2 casillas vacias, luego tres negras seguidas, luego 3 vacias... etc.

Alguien me podria hechar un cable para construir este tablero? Todo tiene que hacerse leyendo desde el archivo ya que luego hay tableros mas grandes.
Muchas gracias!
#10
Programación C/C++ / Re: Alinear texto a la derecha
12 Diciembre 2015, 19:29 PM
Y no hay alguna manera de que cuente a partir del principio? Es decir, que ignore lo que tenga escrito a la izquierda de manera que todas las filas queden alineadas.