JTarot

Todavía faltan muchas cosas, pero bueno espero mejorarlo aun más.

Les adjunto solo el Jar por el momento (el código está muy simple y desordenado).

AdjuntoTamaño
JTarot.zip138.11 KB

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Faltan muchas cosas por agregar

Descripción de las cartas, darle un mejor formato,etc.

Si tienen algún problema al ejecutar el jar. Descargar la librería http://napkinlaf.sourceforge.net/

Ir al JAVA_HOME/jre/lib/ext/ y pegarla

En JAVA_HOME/lib/ crear el archivo swing.properties y agregar los siguiente:

swing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel y de preferencia reiniciar su máquina.

¿Qué hace el programita?

Arcanos:

String[] arcanos={"El-Mago.jpg","La-Papisa.jpg","La-Emperatriz.jpg","El-Emperador.jpg","El-Papa.jpg","El-Enamorado.jpg","El-Carro.jpg","La-Justicia.jpg","El-Ermitano.jpg","La-Rueda.jpg","La-Fuerza.jpg","El-Colgado.jpg","La-Muerte.jpg","La-Templanza.jpg","El-Diablo.jpg","La-Torre.jpg","La-Estrella.jpg","La-Luna.jpg","El-Sol.jpg","El-Juicio.jpg","El-Mundo.jpg","El-Loco.jpg"};
             
//El-Mago=1
//La-Papisa=2
...
//El-Loco=22                                            

Si Pedro nacio el día 12 de abril y el año que inicia es 2012 se suma toda esta cantidad, como abril es una "cadena" se toma su valor numérico que sería 4 y tenemos:
12+4+2012 = 2028 ahora sumar cada uno de los dígitos 2+0+2+8 =12 le corresponde la carte de: El Colgado

JTarot.java

import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.*;
import javax.swing.JDialog;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
@author yo
*/

public class Prog28 extends JFrame{
private JTextField txtNombre,txtDiaNac,txtMes,txtAnyoNuevo;
private JTextArea textArea;
private JScrollPane scroller;
   public Prog28(){
   super("[JTarot ... los arcanos en Java ]");
         setVisible(true);
         setDefaultLookAndFeelDecorated(true);   
         JPanel panel=new JPanel();  
         JLabel lblImg= new JLabel(new ImageIcon(Prog03.class.getResource("JTarot.png")));       
         panel.add(lblImg);
         panel.add(new JLabel("Tu nombre:"));
         txtNombre=new JTextField(6);
         panel.add(txtNombre);
         panel.add(new JLabel("Día de nacimiento:"));
         txtDiaNac=new JTextField(6);
         panel.add(txtDiaNac);
         panel.add(new JLabel("Mes de nacimiento:"));
         txtMes=new JTextField(6);
         panel.add(txtMes);
         panel.add(new JLabel("Año nuevo que inicia:"));
         txtAnyoNuevo=new JTextField(6);
         panel.add(txtAnyoNuevo);
         
         JButton calcular=new JButton("Calcular");
         calcular.setToolTipText("obtener tu carta del tarot");
         calcular.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
        String c1=obtenerSumaParc(txtDiaNac.getText().trim(),txtMes.getText().trim(),txtAnyoNuevo.getText().trim());
        JOptionPane.showMessageDialog(null, txtNombre.getText()+ " la carta que te corresponde es:\n"+tuCarta(obtenerSuma(c1)), "JTarot", JOptionPane.WARNING_MESSAGE, new ImageIcon(imgTarot(c1)));
        limpia();
                 
                 }
         });
         panel.add(calcular);
         JButton quitar=new JButton("Quitar");
         quitar.setToolTipText("quitar programa");
          quitar.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
                 System.exit(0);
                 }
         });
         
         panel.add(quitar);
         
         
         add(panel);
         setSize(900,200);
     setLocationRelativeTo(null);
         setDefaultCloseOperation(EXIT_ON_CLOSE);
         
         
         
   }
   
   public static void main(String ... args)throws Exception{
   
      for(UIManager.LookAndFeelInfo laf:UIManager.getInstalledLookAndFeels()){
            if("Nimbus".equals(laf.getName()))
                try {
                UIManager.setLookAndFeel(laf.getClassName());
                                SplashScreen splash = new SplashScreen(10000);
                splash.showSplashOnly();
                                new Prog28();
            } catch (Exception ex) {
            }
   
   }
}

public String imgTarot(String c){
String[] arcanos={"El-Mago.jpg","La-Papisa.jpg","La-Emperatriz.jpg","El-Emperador.jpg","El-Papa.jpg","El-Enamorado.jpg","El-Carro.jpg","La-Justicia.jpg","El-Ermitano.jpg","La-Rueda.jpg","La-Fuerza.jpg","El-Colgado.jpg","La-Muerte.jpg","La-Templanza.jpg","El-Diablo.jpg","La-Torre.jpg","La-Estrella.jpg","La-Luna.jpg","El-Sol.jpg","El-Juicio.jpg","El-Mundo.jpg","El-Loco.jpg"};
String tarot=null;
int aux=obtenerSuma(c);
for(int j=0;j<arcanos.length;j++){
  tarot=arcanos[aux-1];
}

return tarot;
}

static int obtenerSuma(String cad){
int sumaTotal=0;
  for(int i=0;i<cad.length();i++){
    char caracter=cad.charAt(i);
    String cadena=String.valueOf(caracter);
    sumaTotal+=Integer.parseInt(cadena);
  }
  return sumaTotal;
}

static String obtenerSumaParc(String dia,String mes, String nuevo){
  int sumaparc=0;
   int aux=0;
   String cade=null;
if(mes.equals("enero")){
   aux=1;
 
}
if(mes.equals("febrero")){
  aux=2;
 
}
if(mes.equals("marzo")){
  aux=3;
 
}
if(mes.equals("abril")){
  aux=4;
 
}
if(mes.equals("mayo")){
  aux=5;
 
}
if(mes.equals("junio")){
  aux=6;
 
}
if(mes.equals("julio")){
  aux=7;
 
}
if(mes.equals("agosto")){
  aux=8;
 
}
if(mes.equals("septiembre")){
  aux=9;
 
}
if(mes.equals("octubre")){
 aux=10;
 
}
if(mes.equals("noviembre")){
 aux=11;
   
}
if(mes.equals("diciembre")){
  aux=12;
 
 }
 
  sumaparc=Integer.parseInt(dia)+aux+Integer.parseInt(nuevo);
  cade=String.valueOf(sumaparc);
   
  return cade;

}

static String tuCarta(int s){
  String horos=null;

  switch(s){
  case 1:
    horos="El Mago";
   
  break;
  case 2:
    horos="La Papisa";
   
  break;
  case 3:
   horos="La Emperatriz";
   
  break;
  case 4:
    horos="El Emperador";
 
  break;
  case 5:
    horos="El Papa";
   
  break;
  case 6:
    horos="El Enamorado";
   
  break;
  case 7:
    horos="El Carro";
   
  break;
  case 8:
    horos="La Justicia";
   
  break;
  case 9:
    horos="El Ermitaño";
   
  break;
  case 10:
    horos="La Rueda";
   
  break;
  case 11:
    horos="La Fuerza";
   
  break;
  case 12:
    horos="El Colgado";
   
  break;
  case 13:
    horos="La Muerte";
   
  break;
  case 14:
    horos="La Templanza";
   
  break;
  case 15:
    horos="El Diablo";
   
  break;
  case 16:
    horos="La Torre";
   
  break;
 case 17:
    horos="La Estrella";
   
  break;
  case 18:
    horos="La Luna";
   
  break;
  case 19:
    horos="El Sol";
   
  break;
  case 20:
    horos="El Juicio";
   
  break;
  case 21:
    horos="El Mundo";
   
  break;
  case 22:
    horos="El Loco";
   
   break;
}

  return horos;
 
}

public void limpia(){

   txtAnyoNuevo.setText("");
   txtDiaNac.setText("");
   txtMes.setText("");
   txtNombre.setText("");

}

}

Imagen de Jose Manuel

Desde mi punto de vista creo

Desde mi punto de vista creo que tiene potencial la aplicación. Estaría chida una vez con la descripción de cada carta. Oh también que pudieras "lanzar" las cartas y realizar una consulta. Hay mucha gente a la que le gusta el esoterismo y el tarot o gente que simplemente tiene curiosidad.
O,o bastante interesante tu proyecto. Espero verlo ya terminado.
Saludos.

Imagen de Sr. Negativo

Gracias

Si había pensado en eso de "lanzar" las cartas y esas cosas, pero falta investigar más como se hacen ese tipo de cálculos. También depurar el código por ejemplo en vez de usar if podría usar HashMap:

  public static void verCarta(int aux){
   HashMap<Integer,String> mapa=new HashMap<Integer,String>();
   String[] arcanos={"El Mago",
   "La Papisa","La Emperatriz",
   "El Emperador","El Papa",
   "El Enamorado","El Carro",
   "La Justicia","El Ermitaño",
   "La Rueda","La Fuerza",
   "El Colgado","La Muerte",
   "La Templanza","El Diablo",
   "La Torre","La Estrella",
   "La Luna","El Sol","El Juicio",
   "El Mundo","El Loco"};
   
   //lenar el mapa
for(int i=0;i<arcanos.length;i++){
     mapa.put(i+1,arcanos[i]);
   }
   
   Iterator it = mapa.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry)it.next();
//System.out.println(e.getKey() + " " + e.getValue());
if(e.getKey().equals(aux)){  System.out.println("-->: "+e.getValue());}
}
 
 
   }

Espero terminarlo pronto.

Imagen de javamx

te hare un comentario constructivo

anteriormente puse esto aunque no retrocedo con el comentario que puse

( realmente no se que gente tonta hizo esta aplicacion mejor has cosas de provecho no tontadas
utiliza el lenguaje para algo bien no para tontadas
respetando a todo el mundo ..... )

pero viendolo de otra perspectiva te digo que esta muy bien mucha gente hace lo mismo y lo mismo (programas administrativos) y no
ve mas alla o no se anima a hacer algo diferente por ejemplo los que se estan en un lenguaje desde el año del caldo (visual 6 o cobol), por que sigen programando y haciendo las cosas en esos lenguajes (lo siento si lastimo a alguien con ese comentario), el objetivo de esto es automatizar los procedimientos manuales que se hacen en la vida cotidiana, expandir la logica y aprender nuevas tecnologias asi como defenderlas ante las empresas
que no se atreven a cambiar o inovar sus sistemas viejos ejecutados en la ventanita negra

es mi punto de vista constructivo

Imagen de Sr. Negativo

Re:te hare un comentario constructivo

Estaba por hacer un
"reto para programadores haciendo este programa con un Web Service ... consuman este servicio " < / sarcasmo>

Se respeta tu opinión eh

:D !!!

Imagen de javamx

haaa ¬¬ que buena memoria tiene

bueno eso del amazon fue en su tiempo pero esto que utilidad le darias?, que tan veridico y confiable es?

aveces no nomas siempre es escribir codigo por ejemplo
comparando esto con lo de amazon

diria

La libreria B con la de Amazon quiere saber cuantos libros a vendido Amazon para asi mejorar sus ventas. Entonces
se le ve la utilidad a los metodos que publica amazon.

al contrario

La persona que cre en el tarot y que se la traga completa accede a a la app y sabe que carta le toco sobre la informacion proporcionada
entonces le salio un resultado x y este se la cree tanto que hace algo insolito, sin fundamento alguno.

PERO BUENO ESTA BIEN HACER ALGO DIFERENTE Y ESO LO APLAUDO :P

Imagen de javamx

BUENO INDISTINTAMENTE DE LAS DIFERENCIAS

TU APLICACION ESTA MUY BIEN SALUDOS

VIENDO TU APP DE OTRA PERSPECTIVA DIRE QUE EXCELENTE

Imagen de Jose Manuel

Sr. Negativo no alimentes al

Sr. Negativo no alimentes al ardido, digo, al troll. ¿Donde esta el chapulin colorado (admin) cuando se le necesita?

Imagen de javamx

no no quiero que se mire de ese lado nuevamente

es solo un comentario como etiquetan el asunto no hay ningun ardido ...

y bien lo dije

tu aplicacion esta muy bien, estamos acostumbrados a hacer cosas similares que no probamos cosas nuevas
y nos estamos con puros programitas administrativos esta bien lo que hace el sr negativo

Imagen de neko069

Yo antes de dar mi opinión,

Yo antes de dar mi opinión, tengo que informarme cómo funciona éso del tarot, pero sí da ñañaras porque son cosas del diablo :-D
Bien por tu iniciativa @Siñor negativo! estaré siguiendo tus avances.
Ah y por cierto, como le dije alguna vez a @José Manuel, créate tu repo en github, es más fácil seguir actualizaciones de tu código.

Imagen de Jose Manuel

Me dan ñañaras

Jajaja ñañaras, nunca había leído esa palabra. Los polivoces son los que decían eso! creo...

Es que yo todavía no me animo porque soy muy noob u_u
Lo que quedaría genial en la aplicación de JTarot son los efectos. Las cartas moviéndose por todos lados y ordenándose O.O se vería cool.

Imagen de javamx

si que fuera como yu gi ohh!!

eso estaria padre

Imagen de Sr. Negativo

Tienes razón Jose Manuel

No hay que alimentar al ardido, digo al troll .

Los comentarios se toman de quien viene

@neko069

Créeme no tiene nada que ver con algo malo, ya tengo un repositorio solo que todavía falta mucho por hacer.

De hecho me anime hacer este proyecto gracias a tu JNekounter jeje (la verdad te quedo muy bien).

El JTarot no es nada malo, no va revolucionar la informática ni mucho menos, solo es algo "didáctico" los programadores que inician les puede servir (al menos eso espero)

Imagen de javamx

y quien te dice que es algo didactico

puedes hacer la aplicacion para android y venderlo, hay muchas aplicaciones que son bajadas por gentes a sus moviles :P
puedes ponerle precio por la descarga de la version del juego :P

algo tonto pudiese tener un valor muy grande

hay mucha gente que cree en muchas cosas

para la mala suerte el ateo no aprovecha esas ondas e ignora
mientras que a la iglecia , a madame zazu , a walter mercado
le funciona :P

@Mr- +1 Subelo a GitHub

@Mr- +1

Subelo a GitHub para hacerle algunas contribuciones

Chau!

Imagen de Sr. Negativo

GitHub

No he tenido tiempo de poner esta versión, ya está la primera parte en github

Puedes checarlo gracias.

:D !!