Link Log

Una manera de perder el tiempo…

Cuadrado Mágico

with 5 comments

Actualización: http://www.israelsc.mx/programacion/java/cuadrado-magico/

 

Aquí va otro que usa interface y herencia.

Se supone que las reglas son:
El 1 siempre va en la primera fila en el medio, el siguiente numero seria arriba a la izquierda, pero si ya esta ocupado se coloca debajo del numero anterior.

Primero la interface

public interface IJuego {

public abstract void calculaposicion();
public abstract void imprime();
}

Luego la clase donde se desarrolla el juego (que se que se puede hacer mas sencillo, pero así lo querían…).

public class Juego implements IJuego {

public void calculaposicion() {

int tabla[][] = new int[3][3];

tabla[0][1]=1;

if (tabla[2][0]==0)
{
tabla[2][0]=2;
}
else if (tabla[2][0]!=0)
{
tabla[1][1]=2;
}
if (tabla[1][2]==0)
{
tabla[1][2]=3;
}
else if (tabla[1][2]!=0)
{
tabla[0][0]=3;
}
if (tabla[0][1]==0)
{
tabla[0][1]=4;
}
else if (tabla[0][1]!=0)
{
tabla[2][2]=4;
}
if (tabla[1][1]==0)
{
tabla[1][1]=5;
}
else if (tabla[1][1]!=0)
{
tabla[0][2]=5;
}
if (tabla[0][0]==0)
{
tabla[0][0]=6;
}
else if (tabla[0][0]!=0)
{
tabla[2][1]=6;
}
if (tabla[2][2]==0)
{
tabla[2][2]=7;
}
else if (tabla[2][2]!=0)
{
tabla[1][0]=7;
}
if (tabla[0][2]==0)
{
tabla[0][2]=8;
}
else if (tabla[0][2]!=0)
{
tabla[2][2]=8;
}
if (tabla[2][1]==0)
{
tabla[2][1]=9;
}
else if (tabla[2][1]!=0)
{
tabla[1][2]=9;
}

for ( int ab = 0; ab < tabla.length; ab++ ){
for ( int cd = 0; cd < tabla[ab].length; cd++ ){
System.out.print( tabla[ab][cd]+”\t” );
}
System.out.println( “” );
}
}

public void imprime(){
System.out.print(“”);
}

public static void main( String args[] ){
}
}

Al final utilizando la herencia para imprimir tanto el tablero como el resultado del juego.

public class Tablero extends Juego {

public static void main( String args[] ){

String dibujar[][] = new String [5][3];
dibujar[0][0] = new String( “###” );
dibujar[0][1] = new String( “###” );
dibujar[0][2] = new String( “####” );

dibujar[1][0] = new String( “#__#” );
dibujar[1][1] = new String( “__” );
dibujar[1][2] = new String( “#__#” );

dibujar[2][0] = new String( “#__#” );
dibujar[2][1] = new String( “__” );
dibujar[2][2] = new String( “#__#” );

dibujar[3][0] = new String( “# #” );
dibujar[3][1] = new String( ” ” );
dibujar[3][2] = new String( “# #” );

dibujar[4][0] = new String( “###” );
dibujar[4][1] = new String( “###” );
dibujar[4][2] = new String( “####” );

for (int i=0; i < dibujar.length; i++) {
for (int j=0; j < dibujar[i].length; j++) {
System.out.print(dibujar[i][j]);
}
System.out.println(“”);
}

Juego j = new Juego();
j.calculaposicion();
}
}

El resultado es:

##########
#__#__#__#
#__#__#__#
# # # #
#########

6 1 8
7 5 3
2 9 4

Written by Link X

December 14, 2007 at 4:29 am

5 Responses

Subscribe to comments with RSS.

  1. He posteado tu código en mi blog, espero que no te moleste, claro he puesto el link hasta aquí, graciias.

    Ix Ornelas.

    January 11, 2008 at 2:44 am

  2. FRIKIIIIIS!!!

    oiuy

    April 22, 2008 at 1:03 am

  3. ola mhaUIUIOGVT

    julio

    August 3, 2008 at 3:24 pm

  4. OLA REBELDE_CHILE_11@HOT…..
    W3.FOTOLOG.COM/JULIIIO___X

    julio

    August 3, 2008 at 3:25 pm

  5. gracias por tu link pero como lo programo detal manera de que yo inserte los numeros y ¿lo hago con un java del tipo class o como fue el proseso?

    gcs.fenix@hotmail.com

    jak

    February 20, 2009 at 9:49 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: