Giter Site home page Giter Site logo

conecta4's Introduction

METODOLOGÍA DE LA PROGRAMCACIÓN - TSU DESARROLLO DE SOFTWARE

PROYECTO - Conecta 4

Profesor: Alfonso Gregorio Rivero Duarte

Alumno: Isaac Vega Telésforo


CONECTA 4

Descripción del sistema

  • Se debe realizar un programa que simule el juego de Conecta 4 para poder jugar entre dos personas.

Posibles errores y puntos a tener en cuenta

  1. El jugador correspondiente ingresa un número del 1 al 10 para que la ficha caiga en esa “casilla”.

    • Para que el usuario pueda ingresar un valor del 1 al 10, siendo que estamos trabajando con una matriz 10x10, donde los valores admitidos son del 0 al 9, basta con restar 1 a la posición que se ingrese.
  2. Que no meta una columna invalida.

    • Para esto, cree una función llamada “validar”, la cual, no solo puede usarse en este programa, igual puede implementarse en otros, donde se necesite validar un dato dentro de cierto rango.

      int validar (int dato, int minimo, int maximo) {
          if (dato < minimo || dato > maximo) {
              puts("\nValor no valido\n");
              dato = 0;
          } else {
              dato = 1;
          }
      
          return dato;
      }
    • Donde: dato a evaluar, minimo valor mínimo, maximo valor máximo.

    • Si el dato esta fuera del rango mandará un mensaje en pantalla y regresa un resultado. En el proyecto, esté último, se usó en conjunto con otra variable y el ciclo “while”.

  3. Opciones durante la partida

    • Preferí hacerlo un poco más minimalista y quitar las opciones en pantalla, mostrando solo el ingreso de la columna donde caerá la ficha. Ya que las funciones de guardado de la partida y carga de una partida guardada, aún no han sido implementadas (aun no entiendo bien los temas, asique no quise complicarme más, pero tengo pensado implementarlas en un futuro).

    • De igual manera, para tener en cuenta las acciones faltantes, se sustituyeron con algunas funciones:

      • Para guardar la partida, bastará con ingresar como columna el código 3312, y para terminar la partida, el código 911.

Diseño de la matriz.

    9 |  |  |  |  |  |  |  |  |  |  |
    8 |  |  |  |  |  |  |  |  |  |  |
    7 |  |  |  |  |  |  |  |  |  |  |
    6 |  |  |  |  |  |  |  |  |  |  |
    5 |  |  |  |  |  |  |  |  |  |  |
    4 |  |  |  |  |  |  |  |  |  |  |
    3 |  |  |  |  |  |  |  |  |  |  |
    2 |  |  |  |  |  |  |  |  |  |  |
    1 |  |  |  |  |  |  |  |  |  |  |
    0 |  |  |  |  |  |  |  |  |  |  |
        0  1  2  3  4  5  6  7  8  9

Esta debe de ser impresa comenzando por la última fila, para ello se usan dos ciclos “for”, en el cual, el primero (correspondiente a las filas) se configura de la siguiente manera:

    for (int i = fil-1; i >= 0 ; i--) 5

El segundo “for” (correspondiente a las columnas) se plasma “normal”:

    for (int j = 0; j < col ; j++)

Al termino del segundo for, colocamos un puts(“ ”); para ir generando la tabla.


Sobreponer una ficha en otra.

Teniendo en cuenta que tenemos un eje horizontal x, un eje vertical y y un punto cero, ubicamos la columna deseada, y validamos, que la coordenada cero, no tenga ficha, caso contrario subimos una línea, y repetimos el proceso.

Algo como la siguiente tabla:

col(x), fil(y)
x , y+9
x , y+8
x , y+7
x , y+6
x , y+5
x , y+4
x , y+3
x , y+2
x , y+1
x , y
  • Cabe mencionar, que en el programa se tomó en cuenta, cuando ya no quedan espacios libres en la columna, por lo cual, al presentarse dicho evento, se alerta al jugador con un mensaje en pantalla.

Validaciones

Para que el juego cumpla su cometido, debemos tener en cuenta sus posibles formas de ganar.

Las formas horizontales y verticales.

  • Izquierda

    x-3 , y x-2 , y x-1 , y x , y
  • Derecha

    x , y x+1 , y x+2 , y x+3 , y
  • Abajo

    x , y
    x , y-1
    x , y-2
    x , y-3
  • Arriba

    x , y-3
    x , y-2
    x , y-1
    x , y
  • De igual manera, las diagonales.

    • Ascendente Izquierda
    x-3 , y+3
    x-2 , y+2
    x-1 , y+1
    x , y
    • Ascendente Derecha
    x+3 , y+3
    x+2 , y+2
    x+1 , y+1
    x , y
    • Descendente Izquierda
    x , y
    x-1 , y-1
    x-2 , y-2
    x-3 , y-3
    • Descendente Derecha
    x , y
    x+1 , y-1
    x+2 , y-2
    x+3 , y-3

Para más información, no dudes en explorar el código fuente.

conecta4's People

Contributors

isaacvt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.