Juego del Gato o Triqui
*
* Autor : jl_
* Fecha de Creacion : 2017_12_12
*
*/
package triqui;
public class Triqui {
public static void main(String[] args) {
triqui.JframeTriqui.main(null);
}
}
//fin clase Triqui
/*
* Juego Triqui
* Autor: jl_
* Fecha de Creacion : 2017_12_11
*
* Notas: el juego del gato o triqui debes compilarlo y agregar en la carpeta dist del jar
* la carpeta de las imagenes para que las muestre en el JFrame
* porque utilizo el metodo diractual() para asignar la ruta de las imagenes
*
*/
package triqui;
import java.io.File;
public class JframeTriqui extends javax.swing.JFrame {
//declaracion de variables
public int jugador = 1;
public int jugadorant = 1;
public int minimonumjugadas = 0;
public int maximonumjugadas = 9;
public int juegoiniciado = 0;
public String [][] configposicionjuego = new String[3][3];
public int [][] posicionjugadas = new int[3][3];
boolean jl_triqui=false;
String x=null, y=null;
String pos0=null, pos1=null, pos2=null;
int pos0jugador=0, pos1jugador=0, pos2jugador=0;
int swcoincidetriqui=0;
int l=0;
int swcoincide = 0;
public javax.swing.JButton jbtn;
public JframeTriqui() {
initComponents();
inicializarposjugadas();
configurarposicionesjuego();
iniciarbotones();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
x="0";y="0";
jbtn=jButton1;
triqui();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
x="1";y="0";
jbtn=jButton2;
triqui();
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
x="2";y="0";
jbtn=jButton3;
triqui();
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
x="0";y="1";
jbtn=jButton4;
triqui();
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
x="1";y="1";
jbtn=jButton5;
triqui();
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
x="2";y="1";
jbtn=jButton6;
triqui();
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
x="0";y="2";
jbtn=jButton7;
triqui();
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
x="1";y="2";
jbtn=jButton8;
triqui();
}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
x="2";y="2";
jbtn=jButton9;
triqui();
}
private void jbtnuevoActionPerformed(java.awt.event.ActionEvent evt) {
iniciarvariables();
inicializarposjugadas();
configurarposicionesjuego();
inicializarvblestriqui();
iniciarbotones();
lblinfo.setText("Juego Iniciado : Turno al Jugador 1");
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see <a href="http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html" title="http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html">http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html</a>
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(JframeTriqui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(JframeTriqui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(JframeTriqui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(JframeTriqui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new JframeTriqui().setVisible(true);
}
});
}
public void inicializarposjugadas(){
try {
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
posicionjugadas[i][j]=-1;
}
}
}
catch (Exception e) {
System.err.println("Error : "+e);
}
}
public void configurarposicionesjuego(){
try {
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
configposicionjuego[i][j]=null;
}
}
}
catch (Exception e) {
System.err.println("Error : "+e);
}
}
public void verificariniciojuego(){
juegoiniciado = iniciar();
try {
//nuevo
if(juegoiniciado==0){
juegoiniciado = 1;
jugador=2;
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public int iniciar(){
int res=0;
//
try{
if(juegoiniciado==0){
res=0;
}
if(juegoiniciado==1){
res=1;
}
}
catch(Exception ex){
System.out.println("Error : "+ex);
}
//
return res;
}
public void asignarposicionjugada(){
int x_=Integer.valueOf(x);
int y_=Integer.valueOf(y);
try{
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
//posicion y jugador fue asignado
if((configposicionjuego[i][j]!=null)&&(i==x_&&j==y_)){
swcoincide=-1;
}
//posicion y jugador sin asignar
if((configposicionjuego[i][j]==null)&&(i==x_&&j==y_)){
configposicionjuego[i][j]=x+","+y;
posicionjugadas[i][j]=jugador;
minimonumjugadas++;
swcoincide=1;
pegarimagenjugador(jbtn,jugador);
j=2;i=2;
}
}
}
if(swcoincide==-1){
javax.swing.JOptionPane.showMessageDialog(null, "Cuadro Seleccionado");
}
if(swcoincide==1){
//verificar triqui del jugador activo
try {
verificartriquijugador();
}
catch (Exception e) {
System.out.println("Error : "+e);
}
try {
if(jl_triqui==false){
//asignar imagen del jugador al boton
cambiarjugador();
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}
catch(Exception ex){
System.out.println("Error : "+ex);
}
}
public void verificartriquijugador(){
//verifica posiciones horizontales
if(jl_triqui==false){
verificahorizontales();
}
//verifica posiciones verticales
if(jl_triqui==false){
verificaverticales();
}
//diagonal principal
if(jl_triqui==false){
verificadiagonalprincipal();
}
//diagonal inversa
if(jl_triqui==false){
verificadiagonalinversa();
}
//termino juego
if(jl_triqui==true){
javax.swing.JOptionPane.showMessageDialog(null, "Triqui!!! Gano Jugador : "+jugador);
}
}
public void verificahorizontales(){
int j=0;
try {
inicializarvblestriqui();
for(int i=0;i<3;i++){
for(j=0;j<3;j++){
//posiciones
if(j==0){pos0=configposicionjuego[i][j];}
if(j==1){pos1=configposicionjuego[i][j];}
if(j==2){pos2=configposicionjuego[i][j];}
}
try{
//coincidencia del jugador en las tres posiciones
if(!pos0.equals(null)&&!pos1.equals(null)&&!pos2.equals(null)){
for(int k=0;k<3;k++){
for(l=0;l<3;l++){
if(l==0){pos0jugador=posicionjugadas[k][l];}
if(l==1){pos1jugador=posicionjugadas[k][l];}
if(l==2){pos2jugador=posicionjugadas[k][l];}
}
if(pos0jugador==jugador&&pos1jugador==jugador&&pos2jugador==jugador){
swcoincidetriqui=1;
jl_triqui=true;
l=2;k=2;
i=2;j=2;
}
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public void verificaverticales(){
int j=0;
try {
inicializarvblestriqui();
for(int i=0;i<3;i++){
for(j=0;j<3;j++){
//posiciones
if(j==0){pos0=configposicionjuego[j][i];}
if(j==1){pos1=configposicionjuego[j][i];}
if(j==2){pos2=configposicionjuego[j][i];}
}
try{
//coincidencia del jugador en las tres posiciones
if(!pos0.equals(null)&&!pos1.equals(null)&&!pos2.equals(null)){
for(int k=0;k<3;k++){
for(l=0;l<3;l++){
if(l==0){pos0jugador=posicionjugadas[l][k];}
if(l==1){pos1jugador=posicionjugadas[l][k];}
if(l==2){pos2jugador=posicionjugadas[l][k];}
}
if(pos0jugador==jugador&&pos1jugador==jugador&&pos2jugador==jugador){
swcoincidetriqui=1;
jl_triqui=true;
l=2;k=2;
i=2;j=2;
}
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public void verificadiagonalprincipal(){
int j=0;
try {
inicializarvblestriqui();
for(int i=0;i<3;i++){
for(j=0;j<3;j++){
//posiciones
if(j==0&&i==0){pos0=configposicionjuego[i][i];}
if(j==1&&i==1){pos1=configposicionjuego[i][i];}
if(j==2&&i==2){pos2=configposicionjuego[i][i];}
}
//coincidencia del jugador en las tres posiciones
try{
if(!pos0.equals(null)&&!pos1.equals(null)&&!pos2.equals(null)){
for(int k=0;k<3;k++){
for(l=0;l<3;l++){
if(l==0&&k==0){pos0jugador=posicionjugadas[k][k];}
if(l==1&&k==1){pos1jugador=posicionjugadas[k][k];}
if(l==2&&k==2){pos2jugador=posicionjugadas[k][k];}
}
if(pos0jugador==jugador&&pos1jugador==jugador&&pos2jugador==jugador){
swcoincidetriqui=1;
jl_triqui=true;
l=2;k=2;
i=2;j=2;
}
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public void verificadiagonalinversa(){
int j=0;
try {
inicializarvblestriqui();
for(int i=0;i<3;i++){
for(j=0;j<3;j++){
//posiciones
if(i==0&&j==2){
pos0=configposicionjuego[i][j];
pos2=configposicionjuego[j][i];
}
if(j==1&&i==1){pos1=configposicionjuego[i][i];}
}
//coincidencia del jugador en las tres posiciones
try{
if(!pos0.equals(null)&&!pos1.equals(null)&&!pos2.equals(null)){
for(int k=0;k<3;k++){
for(l=0;l<3;l++){
if(k==0&&l==2){pos0jugador=posicionjugadas[k][l];
if(k==0&&l==2){pos2jugador=posicionjugadas[l][k];}
}
if(l==1&&k==1){pos1jugador=posicionjugadas[k][l];}
}
if(pos0jugador==jugador&&pos1jugador==jugador&&pos2jugador==jugador){
swcoincidetriqui=1;
jl_triqui=true;
l=2;k=2;
i=2;j=2;
}
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public void cambiarjugador(){
try {
jugador=(jugador==1)?2:1;
lblinfo.setText("Turno al Jugador " +jugador);
lblinfo.validate();
}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
public void triqui(){
//jl_ en triqui
if(jl_triqui==true){
javax.swing.JOptionPane.showMessageDialog(null, "Triqui!!! Gano Jugador : "+jugador);
}
if(minimonumjugadas<9){
if(jl_triqui==false){
asignarposicionjugada();
}
}
//juego terminado
if(minimonumjugadas>8&&jl_triqui==false){
javax.swing.JOptionPane.showMessageDialog(null, "Juego Terminado !!! No hay Ganador");
}
}
public void inicializarvblestriqui(){
pos0=null; pos1=null; pos2=null;
pos0jugador=0; pos1jugador=0; pos2jugador=0;
swcoincidetriqui=0;
l=0;
swcoincide = 0;
}
public void iniciarvariables(){
//declaracion de variables
jugador = 1;
jugadorant = 1;
minimonumjugadas = 0;
maximonumjugadas = 9;
juegoiniciado = 0;
jl_triqui=false;
x=null; y=null;
pos0=null; pos1=null; pos2=null;
pos0jugador=0; pos1jugador=0; pos2jugador=0;
swcoincidetriqui=0;
l=0;
swcoincide = 0;
}
public String diractual(){
String dir = "";
File miDir = new File (".");
try {
dir = ""+miDir.getCanonicalPath();
}
catch(Exception e) {dir=null;}
//
return dir;
}
public void pegarimagenjugador(javax.swing.JButton jbtn, int jugadorant_){
String dir = "";
try {
dir = diractual();
}
catch(Exception e){}
if(dir==null){
javax.swing.JOptionPane.showMessageDialog(null, "Verificar Carpeta De Programa");
}
if(jugadorant_==1){
// jbtn.setIcon(new javax.swing.ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\Triqui\\src\\img\\jugador1.png"));
jbtn.setIcon(new javax.swing.ImageIcon(dir+"\\img\\jugador1.png"));
}
if(jugadorant_==2){
jbtn.setIcon(new javax.swing.ImageIcon(dir+"\\img\\jugador2.png"));
}
}
public void iniciarbotones(){
String dir = "";
try {
dir = diractual();
}
catch(Exception e){}
if(dir==null){
javax.swing.JOptionPane.showMessageDialog(null, "Verificar Carpeta De Programa");
}
jButton1.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton2.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton3.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton4.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton5.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton6.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton7.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton8.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
jButton9.setIcon(new javax.swing.ImageIcon(dir+"\\img\\blanco.png"));
}
}
//fin clase JframeTriqui *****
- jl_'s blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 1 día 9 horas
hace 20 semanas 5 días
hace 1 año 32 semanas
hace 1 año 36 semanas
hace 1 año 44 semanas
hace 1 año 52 semanas
hace 2 años 2 semanas
hace 2 años 4 semanas
hace 2 años 7 semanas
hace 2 años 7 semanas