rubenelportero

NivelDificil

Dec 7th, 2013
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 24.61 KB | None | 0 0
  1. package com.MakingBytes.tachalineas;
  2.  
  3. import java.util.Random;
  4. import java.util.Timer;
  5. import java.util.TimerTask;
  6.  
  7. import android.app.Activity;
  8. import android.content.Intent;
  9. import android.os.Bundle;
  10. import android.view.View;
  11. import android.widget.Button;
  12. import android.widget.ImageView;
  13. import android.widget.Toast;
  14.  
  15.  
  16. public class Dificiljuego extends Activity {
  17.     private int array[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //un array para controlar el estado de las lineas
  18.     private int elturno = 1, contador=0,linea = 0, numimagen = 0, i, debug=0,ganadorfinal=0; //variables
  19.     @Override
  20.     protected void onCreate(Bundle savedInstanceState) {
  21.         super.onCreate(savedInstanceState);
  22.         setContentView(R.layout.tablero);
  23.         Button boton = (Button) findViewById(R.id.button1); //definimos el botón
  24.         boton.setOnClickListener(new View.OnClickListener() { //leemos cuando el botón es pulsado
  25.             public void onClick(View v) {
  26.                 for(i=0;i<15;i++){           //este code se encarga de que las lineas tachadas
  27.                     if(array[i]==1){        //se guarden en el array con un 2, o lo que viene a
  28.                         array[i]=2;        //ser igual, no se podrán des-tachar.
  29.                         contador=1;       //contador es 1 si se ha convertido alguna línea
  30.                     }
  31.                 }
  32.                 if (contador==1){
  33.                     linea=0;          //si contador es 1, se cambia de turno
  34.                     elturno=2;
  35.                     comprobarganador();
  36.                     moverCPU();
  37.                     elturno=1;
  38.                 } else showFallo();      //si contador no es 1, no se ha tachado nada          
  39.                 contador = 0;           //puesto que no se ha cambiado ninguna linea a 2.
  40.                 if (ganadorfinal==0)   //Si ganadorfinal no es 0 es por que ya ha ganado la maquina
  41.                 comprobarganador();   //y aquí, tras empezar el nuevo turno, se comprueba si ha ganado alguien
  42.             }
  43.         });
  44.     }
  45.     public void onClick(View v) { //acción realizada al pulsar sobre un Imageview
  46.         switch (v.getId()) {
  47.             case R.id.imageView1: //1 fila //
  48.                 numimagen = 0;
  49.                 break;
  50.             case R.id.imageView2: //2 fila //
  51.                 numimagen = 1;
  52.                 break;
  53.             case R.id.ImageView01:
  54.                 numimagen = 2;
  55.                 break;
  56.             case R.id.ImageView04: //3 fila //
  57.                 numimagen = 3;
  58.                 break;
  59.             case R.id.ImageView02:
  60.                 numimagen = 4;
  61.                 break;
  62.             case R.id.ImageView03:
  63.                 numimagen = 5;
  64.                 break;
  65.             case R.id.ImageView08: //4 fila//
  66.                 numimagen = 6;
  67.                 break;
  68.             case R.id.ImageView06:
  69.                 numimagen = 7;
  70.                 break;
  71.             case R.id.ImageView05:
  72.                 numimagen = 8;
  73.                 break;
  74.             case R.id.ImageView07:
  75.                 numimagen = 9;
  76.                 break;
  77.             case R.id.ImageView13: //5 fila //
  78.                 numimagen = 10;
  79.                 break;
  80.             case R.id.ImageView09:
  81.                 numimagen = 11;
  82.                 break;
  83.             case R.id.ImageView10:
  84.                 numimagen = 12;
  85.                 break;
  86.             case R.id.ImageView11:
  87.                 numimagen = 13;
  88.                 break;
  89.             case R.id.ImageView12:
  90.                 numimagen = 14;
  91.                 break;
  92.         }
  93.         ImageView imagen = (ImageView) findViewById(v.getId()); //se lee la imagen pulsada
  94.         if (array[numimagen]==0){
  95.             array[numimagen] = 1;
  96.             if(comprobar()==0){    //se comprueba que no se haya pulsado en vertical o diagonal
  97.                 array[numimagen] = 0;                        
  98.             } else imagen.setImageResource(R.drawable.linea2); //se cambia la imagen de la linea tachada
  99.         } else if (array[numimagen]==1) {  //código para des-tachar lineas
  100.             array[numimagen] = 0;
  101.             imagen.setImageResource(R.drawable.linea);
  102.             linea = 0;
  103.         }
  104.  
  105.     }
  106.     private int comprobar(){  //este codigo comprueba que no se haya tachado en vertical o diagonal
  107.         for(i=0;i<15;i++) {
  108.             if(array[i]==1){
  109.                 if((linea==0 || linea==1) && i==0){
  110.                     linea=1;
  111.                 } else if ((linea==0 || linea==2) && i>0 && i<3){
  112.                     linea=2;
  113.                 } else if ((linea==0 || linea==3) && i>2 && i<6){
  114.                     linea=3;
  115.                 } else if ((linea==0 || linea==4) && i>5 && i<10){
  116.                     linea=4;
  117.                 } else if ((linea==0 || linea==5) && i>9){
  118.                     linea=5;
  119.                 } else {
  120.                     showToast();
  121.                     return 0;
  122.                 }
  123.             }
  124.         }
  125.         return 1;
  126.     }
  127.     private void comprobarganador(){ //si todas las lineas están tachadas y guardadas con 2, alguien ha ganado
  128.         int contadordos=sumatorio();
  129.         if(contadordos==15){
  130.             if (elturno==1){
  131.                 Toast toast3 = Toast.makeText(getApplicationContext(), getString(R.string.ganadorhumano), Toast.LENGTH_LONG);
  132.                 toast3.show();
  133.                 gotomenu();
  134.             } else {
  135.                 ganadorfinal=1;
  136.                 Toast toast4 = Toast.makeText(getApplicationContext(), getString(R.string.ganadorcpu), Toast.LENGTH_LONG);
  137.                 toast4.show();
  138.                 gotomenu();
  139.             }
  140.         }
  141.         contadordos=0;
  142.     }
  143.     public void showToast() {  //Las advertencias
  144.         Toast toast = Toast.makeText(getApplicationContext(), getString(R.string.notachasbien), Toast.LENGTH_SHORT);
  145.         if (debug==0){
  146.             toast.show();
  147.             arreglarbug();
  148.         }
  149.         debug=1;
  150.     }
  151.     public void showFallo() {
  152.         Toast toast2 = Toast.makeText(getApplicationContext(), getString(R.string.notachasnada), Toast.LENGTH_SHORT);
  153.         if (debug==0){
  154.             toast2.show();
  155.             arreglarbug();
  156.         }
  157.         debug=1;
  158.     }
  159.     private void gotomenu() { //Se dirije hacia la activity MenuPrincipal.
  160.         Intent i = new Intent(this, MenuPrincipal.class);
  161.         startActivity(i);
  162.         finish();
  163.     }
  164.     private void arreglarbug(){
  165.         TimerTask task = new TimerTask() { //definimos a Task
  166.             @Override
  167.             public void run() {
  168.               debug=0;
  169.             }
  170.           };
  171.  
  172.           Timer timer = new Timer();
  173.           timer.schedule(task, 2200);//Pasado el tiempo, lanza a Task.
  174.     }
  175.     private void moverCPU(){
  176.         int contando=buscardosydos(), contadordos=sumatorio();
  177.         if(contando==0)contando=buscarpiramide();
  178.         if(contando==0)contando=estrategia();
  179.         if(contadordos==15)contando=1;
  180.         while(contando==0){
  181.         Random semilla = new Random(System.currentTimeMillis());
  182.         int movimientoalazar = semilla.nextInt(15);
  183.         switch (movimientoalazar){
  184.             case 0:
  185.                 if(array[movimientoalazar]==0){
  186.                     ImageView imagen = (ImageView) findViewById(R.id.imageView1);
  187.                     imagen.setImageResource(R.drawable.linea2);
  188.                     array[movimientoalazar]=2;
  189.                     contando = 1;
  190.                 }
  191.                 break;
  192.             case 1:
  193.                 if(array[movimientoalazar]==0){
  194.                     ImageView imagen = (ImageView) findViewById(R.id.imageView2);
  195.                     imagen.setImageResource(R.drawable.linea2);
  196.                     array[movimientoalazar]=2;
  197.                     contando = 1;
  198.                 }
  199.                 break;
  200.             case 2:
  201.                 if(array[movimientoalazar]==0){
  202.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView01);
  203.                     imagen.setImageResource(R.drawable.linea2);
  204.                     array[movimientoalazar]=2;
  205.                     contando = 1;
  206.                 }
  207.                 break;
  208.             case 3:
  209.                 if(array[movimientoalazar]==0){
  210.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView04);
  211.                     imagen.setImageResource(R.drawable.linea2);
  212.                     array[movimientoalazar]=2;
  213.                     contando = 1;
  214.                 }
  215.                 break;
  216.             case 4:
  217.                 if(array[movimientoalazar]==0){
  218.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView02);
  219.                     imagen.setImageResource(R.drawable.linea2);
  220.                     array[movimientoalazar]=2;
  221.                     contando = 1;
  222.                 }
  223.                 break;
  224.             case 5:
  225.                 if(array[movimientoalazar]==0){
  226.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView03);
  227.                     imagen.setImageResource(R.drawable.linea2);
  228.                     array[movimientoalazar]=2;
  229.                     contando = 1;
  230.                 }
  231.                 break;
  232.             case 6:
  233.                 if(array[movimientoalazar]==0){
  234.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  235.                     imagen.setImageResource(R.drawable.linea2);
  236.                     array[movimientoalazar]=2;
  237.                     contando = 1;
  238.                 }
  239.                 break;
  240.             case 7:
  241.                 if(array[movimientoalazar]==0){
  242.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView06);
  243.                     imagen.setImageResource(R.drawable.linea2);
  244.                     array[movimientoalazar]=2;
  245.                     contando = 1;
  246.                 }
  247.                 break;
  248.             case 8:
  249.                 if(array[movimientoalazar]==0){
  250.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView05);
  251.                     imagen.setImageResource(R.drawable.linea2);
  252.                     array[movimientoalazar]=2;
  253.                     contando = 1;
  254.                 }
  255.                 break;
  256.             case 9:
  257.                 if(array[movimientoalazar]==0){
  258.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView07);
  259.                     imagen.setImageResource(R.drawable.linea2);
  260.                     array[movimientoalazar]=2;
  261.                     contando = 1;
  262.                 }
  263.                 break;
  264.             case 10:
  265.                 if(array[movimientoalazar]==0){
  266.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  267.                     imagen.setImageResource(R.drawable.linea2);
  268.                     array[movimientoalazar]=2;
  269.                     contando = 1;
  270.                 }
  271.                 break;
  272.             case 11:
  273.                 if(array[movimientoalazar]==0){
  274.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView09);
  275.                     imagen.setImageResource(R.drawable.linea2);
  276.                     array[movimientoalazar]=2;
  277.                     contando = 1;
  278.                 }
  279.                 break;
  280.             case 12:
  281.                 if(array[movimientoalazar]==0){
  282.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView10);
  283.                     imagen.setImageResource(R.drawable.linea2);
  284.                     array[movimientoalazar]=2;
  285.                     contando = 1;
  286.                 }
  287.                 break;
  288.             case 13:
  289.                 if(array[movimientoalazar]==0){
  290.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView11);
  291.                     imagen.setImageResource(R.drawable.linea2);
  292.                     array[movimientoalazar]=2;
  293.                     contando = 1;
  294.                 }
  295.                 break;
  296.             case 14:
  297.                 if(array[movimientoalazar]==0){
  298.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView12);
  299.                     imagen.setImageResource(R.drawable.linea2);
  300.                     array[movimientoalazar]=2;
  301.                     contando = 1;
  302.                 }
  303.                 break;
  304.         }
  305.    
  306.     }}
  307.     private int sumatorio(){
  308.         int contadorsuma=0;
  309.         for(i=0;i<15;i++){
  310.             if(array[i]==2){
  311.                 contadorsuma++;
  312.             }
  313.         }
  314.         return contadorsuma;
  315.     }
  316.     private int estrategia(){
  317.         int conta=0;
  318.         if(sumatorio()==9){
  319.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  320.             if(conta==5){
  321.                 //TACHARCOLUMNA5
  322.                 tacharcolumna5();
  323.                 return 1;
  324.             }
  325.         }
  326.         if(sumatorio()==10){
  327.             for(i=6;i<10;i++)if(array[i]==0)conta++;
  328.             if(conta==4){
  329.                 //TACHARCOLUMNA4
  330.                 tacharcolumna4();
  331.                 return 1;
  332.             } else conta=0;
  333.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  334.             if(conta==4){
  335.                 //TACHARCOLUMNA5
  336.                 tacharcolumna5();
  337.                 return 1;
  338.             } else conta=0;
  339.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  340.             if(conta==5){
  341.                 //TACHARCOLUMNA5-1
  342.                 tacharcolumna5();
  343.                 ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  344.                 imagen.setImageResource(R.drawable.linea);
  345.                 array[10]=0;
  346.                 return 1;
  347.             }
  348.            
  349.         }
  350.         if(sumatorio()==11){
  351.             for(i=3;i<6;i++)if(array[i]==0)conta++;
  352.             if(conta==3){
  353.                 //TACHARCOLUMNA3
  354.                 tacharcolumna3();
  355.                 return 1;
  356.             } else conta=0;
  357.             for(i=6;i<10;i++)if(array[i]==0)conta++;
  358.             if(conta==3){
  359.                 //TACHARCOLUMNA4
  360.                 tacharcolumna4();
  361.                 return 1;
  362.             } else conta=0;
  363.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  364.             if(conta==3){
  365.                 //TACHARCOLUMNA5
  366.                 tacharcolumna5();
  367.                 return 1;
  368.             } else conta=0;
  369.             for(i=6;i<10;i++)if(array[i]==0)conta++;
  370.             if(conta==4){
  371.                 //TACHARCOLUMNA4-1
  372.                 tacharcolumna4();
  373.                 ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  374.                 imagen.setImageResource(R.drawable.linea);
  375.                 array[6]=0;
  376.                 return 1;
  377.             } else conta=0;
  378.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  379.             if(conta==4){
  380.                 //TACHARCOLUMNA5-1
  381.                 if(array[10]==0)conta=1;
  382.                 tacharcolumna5();
  383.                 if(conta==1){
  384.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  385.                     imagen.setImageResource(R.drawable.linea);
  386.                     array[10]=0;
  387.                 }else{
  388.                     ImageView imagen2 = (ImageView) findViewById(R.id.ImageView09);
  389.                     imagen2.setImageResource(R.drawable.linea);
  390.                     array[11]=0;
  391.                 }
  392.                 return 1;
  393.             } else conta=0;
  394.         }
  395.         if(sumatorio()==12){
  396.             for(i=1;i<3;i++)if(array[i]==0)conta++;
  397.             if(conta==2){
  398.                 //TACHARCOLUMNA2
  399.                 tacharcoluma2();
  400.                 return 1;
  401.             } else conta=0;
  402.             for(i=3;i<6;i++)if(array[i]==0)conta++;
  403.             if(conta==2){
  404.                 //TACHARCOLUMNA3
  405.                 tacharcolumna3();
  406.                 return 1;
  407.             } else conta=0;
  408.             for(i=6;i<10;i++)if(array[i]==0)conta++;
  409.             if(conta==2){
  410.                 //TACHARCOLUMNA4
  411.                 tacharcolumna4();
  412.                 return 1;
  413.             } else conta=0;
  414.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  415.             if(conta==2){
  416.                 //TACHARCOLUMNA5
  417.                 tacharcolumna5();
  418.                 return 1;
  419.             } else conta=0;
  420.             for(i=3;i<6;i++)if(array[i]==0)conta++;
  421.             if(conta==3){
  422.                 //TACHARCOLUMNA3-1
  423.                 tacharcolumna3();
  424.                 ImageView imagen = (ImageView) findViewById(R.id.ImageView04);
  425.                 imagen.setImageResource(R.drawable.linea);
  426.                 array[3]=0;
  427.                 return 1;
  428.             } else conta=0;
  429.             for(i=6;i<10;i++)if(array[i]==0)conta++;
  430.             if(conta==3){
  431.                 //TACHARCOLUMNA4-1
  432.                 if(array[6]==0)conta=1;
  433.                 tacharcolumna4();
  434.                 if(conta==1){
  435.                     ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  436.                     imagen.setImageResource(R.drawable.linea);
  437.                     array[6]=0;
  438.                 } else {
  439.                     ImageView imagen2 = (ImageView) findViewById(R.id.ImageView06);
  440.                     imagen2.setImageResource(R.drawable.linea);
  441.                     array[7]=0;
  442.                 }
  443.                 return 1;
  444.             } else conta=0;
  445.             for(i=10;i<15;i++)if(array[i]==0)conta++;
  446.             if(conta==3){
  447.                 int palo1=0,palo2=0,conta2=0;
  448.                 //TACHARCOLUMNA5-1
  449.                 for(i=10;(i<15)&&(palo1==0);i++)if(array[i]==2)palo1=i;
  450.                 for(i=10;(i<15)&&(palo2==0);i++)if((array[i]==2)&&(palo1!=i))palo2=i;
  451.                 tacharcolumna4();
  452.                 while(conta2!=2){
  453.                     if(palo1!=10&&conta2==0){
  454.                         ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  455.                         imagen.setImageResource(R.drawable.linea);
  456.                         array[10]=0;
  457.                         conta2++;
  458.                     }
  459.                     if((palo1!=11||palo2!=11)&&(array[11]==2)){
  460.                         ImageView imagen2 = (ImageView) findViewById(R.id.ImageView09);
  461.                         imagen2.setImageResource(R.drawable.linea);
  462.                         array[11]=0;
  463.                         conta2++;
  464.                     }
  465.                     if((palo1!=12||palo2!=12)&&(array[12]==2)){
  466.                         ImageView imagen3 = (ImageView) findViewById(R.id.ImageView10);
  467.                         imagen3.setImageResource(R.drawable.linea);
  468.                         array[12]=0;
  469.                         conta2++;
  470.                     }
  471.                     if((palo1!=13||palo2!=13)&&(array[13]==2)){
  472.                         ImageView imagen4 = (ImageView) findViewById(R.id.ImageView11);
  473.                         imagen4.setImageResource(R.drawable.linea);
  474.                         array[13]=0;
  475.                         conta2++;
  476.                     }
  477.                     if((palo1!=14||palo2!=14)&&(array[14]==2)){
  478.                         ImageView imagen5 = (ImageView) findViewById(R.id.ImageView12);
  479.                         imagen5.setImageResource(R.drawable.linea);
  480.                         array[14]=0;
  481.                         conta2++;
  482.                     }
  483.                 }
  484.                 return 1;
  485.             } else conta=0;
  486.         }
  487.     return 0;
  488.     }
  489.     private void tacharcoluma2(){
  490.         ImageView imagen = (ImageView) findViewById(R.id.imageView2);
  491.         imagen.setImageResource(R.drawable.linea2);
  492.         ImageView imagen2 = (ImageView) findViewById(R.id.ImageView01);
  493.         imagen2.setImageResource(R.drawable.linea2);
  494.         array[1]=2;
  495.         array[2]=2;
  496.     }
  497.     private void tacharcolumna3(){
  498.         ImageView imagen = (ImageView) findViewById(R.id.ImageView04);
  499.         imagen.setImageResource(R.drawable.linea2);
  500.         ImageView imagen2 = (ImageView) findViewById(R.id.ImageView02);
  501.         imagen2.setImageResource(R.drawable.linea2);
  502.         ImageView imagen3 = (ImageView) findViewById(R.id.ImageView03);
  503.         imagen3.setImageResource(R.drawable.linea2);
  504.         array[3]=2;
  505.         array[4]=2;
  506.         array[5]=2;
  507.     }
  508.     private void tacharcolumna4(){
  509.         ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  510.         imagen.setImageResource(R.drawable.linea2);
  511.         ImageView imagen2 = (ImageView) findViewById(R.id.ImageView06);
  512.         imagen2.setImageResource(R.drawable.linea2);
  513.         ImageView imagen3 = (ImageView) findViewById(R.id.ImageView05);
  514.         imagen3.setImageResource(R.drawable.linea2);
  515.         ImageView imagen4 = (ImageView) findViewById(R.id.ImageView07);
  516.         imagen4.setImageResource(R.drawable.linea2);
  517.         array[6]=2;
  518.         array[7]=2;
  519.         array[8]=2;
  520.         array[9]=2;
  521.     }
  522.     private void tacharcolumna5(){
  523.         ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  524.         imagen.setImageResource(R.drawable.linea2);
  525.         ImageView imagen2 = (ImageView) findViewById(R.id.ImageView09);
  526.         imagen2.setImageResource(R.drawable.linea2);
  527.         ImageView imagen3 = (ImageView) findViewById(R.id.ImageView10);
  528.         imagen3.setImageResource(R.drawable.linea2);
  529.         ImageView imagen4 = (ImageView) findViewById(R.id.ImageView11);
  530.         imagen4.setImageResource(R.drawable.linea2);
  531.         ImageView imagen5 = (ImageView) findViewById(R.id.ImageView12);
  532.         imagen5.setImageResource(R.drawable.linea2);
  533.         array[10]=2;
  534.         array[11]=2;
  535.         array[12]=2;
  536.         array[13]=2;
  537.         array[14]=2;
  538.     }
  539.     private int buscardosydos(){
  540.         int conta=0,conta2=0,conta3=0,conta4=0,z=0,conta0=0;
  541.             for(i=1;i<3;i++)if(array[i]==0)conta++;
  542.             for(i=3;i<6;i++)if(array[i]==0)conta2++;
  543.             for(i=6;i<10;i++)if(array[i]==0)conta3++;
  544.             for(i=10;i<15;i++)if(array[i]==0)conta4++;
  545.             if(array[0]==0)conta0=1;
  546.             if(conta>=2)z++;
  547.             if(conta2>=2)z++;
  548.             if(conta3>=2)z++;
  549.             if(conta4>=2)z++;
  550.             if(sumatorio()==10){
  551.             if(z==2){
  552.                 if((conta!=3)&&(conta2!=3)&&(conta3!=3)&&(conta4!=3)){
  553.                     if(conta==1){tacharcoluma2();
  554.                     }else if(conta2==1){ tacharcolumna3();
  555.                     }else if(conta3==1){ tacharcolumna4();
  556.                     }else if(conta4==1){ tacharcolumna5();
  557.                     }else if(array[0]==0){
  558.                         ImageView imagen = (ImageView) findViewById(R.id.imageView1);
  559.                         imagen.setImageResource(R.drawable.linea2);
  560.                         array[0]=2;
  561.                     }
  562.                     return 1;
  563.                 } else if(conta2==3){
  564.                         ImageView imagen = (ImageView) findViewById(R.id.ImageView04);
  565.                         imagen.setImageResource(R.drawable.linea2);
  566.                         array[3]=2;
  567.                         return 1;
  568.                 } else if(conta3==3){
  569.                         if(array[6]==0){
  570.                             ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  571.                             imagen.setImageResource(R.drawable.linea2);
  572.                             array[6]=2;
  573.                             return 1;
  574.                         } else {
  575.                             ImageView imagen2 = (ImageView) findViewById(R.id.ImageView06);
  576.                             imagen2.setImageResource(R.drawable.linea2);
  577.                             array[7]=2;
  578.                             return 1;
  579.                         }
  580.                 } else if(conta4==3){
  581.                         int palo1=0,palo2=0;
  582.                         for(i=10;(i<15)&&(palo1==0);i++)if(array[i]==2)palo1=i;
  583.                         for(i=10;(i<15)&&(palo2==0);i++)if((array[i]==2)&&(palo1!=i))palo2=i;
  584.                             if(palo1!=10){
  585.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  586.                                 imagen.setImageResource(R.drawable.linea2);
  587.                                 array[10]=2;
  588.                             } else
  589.                             if(palo1!=11||palo2!=11){
  590.                                 ImageView imagen2 = (ImageView) findViewById(R.id.ImageView09);
  591.                                 imagen2.setImageResource(R.drawable.linea2);
  592.                                 array[11]=2;
  593.                             } else
  594.                             if(palo1!=12||palo2!=12){
  595.                                 ImageView imagen3 = (ImageView) findViewById(R.id.ImageView10);
  596.                                 imagen3.setImageResource(R.drawable.linea2);
  597.                                 array[12]=2;
  598.                             } else
  599.                             if(palo1!=13||palo2!=13){
  600.                                 ImageView imagen4 = (ImageView) findViewById(R.id.ImageView11);
  601.                                 imagen4.setImageResource(R.drawable.linea2);
  602.                                 array[13]=2;
  603.                             } else
  604.                             if(palo1!=14||palo2!=14){
  605.                                 ImageView imagen5 = (ImageView) findViewById(R.id.ImageView12);
  606.                                 imagen5.setImageResource(R.drawable.linea2);
  607.                                 array[14]=2;
  608.                             }
  609.                         return 1;
  610.                 }  
  611.             } else {
  612.                 z=0;
  613.                 if(conta2==2)z++;
  614.                 if(conta3==2)z++;
  615.                 if(conta4==2)z++;
  616.                 if (z==2){
  617.                     if(conta3==0&&conta0==0&&conta4!=2) tacharcolumna5();
  618.                     else if(conta4==0&&conta0==0&&conta3!=2) tacharcolumna4();
  619.                     if(conta0==0&&conta==0&&conta2!=2) tacharcolumna3();
  620.                     return 1;
  621.                 }
  622.             }
  623.         } else return 0;
  624.         return 0;
  625.     }
  626.     private int buscarpiramide(){
  627.     int conta0=0,conta=0,conta2=0,conta3=0,conta4=0,z=0,y=0;
  628.     if(array[0]==0)conta0++;
  629.     for(i=1;i<3;i++)if(array[i]==0)conta++;
  630.     for(i=3;i<6;i++)if(array[i]==0)conta2++;
  631.     for(i=6;i<10;i++)if(array[i]==0)conta3++;
  632.     for(i=10;i<15;i++)if(array[i]==0)conta4++;
  633.     if(conta==2||conta2>=2||conta3>=2||conta4>=2){
  634.         if(conta2>=3||conta3>=3||conta4>=3){
  635.             if(conta0==1){ //localizado el 1
  636.                 if(conta==2){ //localizado el 2
  637.                     if(conta2==3){ //localizado el 3
  638.                         if(conta3!=0 && conta4!=0){ //no se puede hacer
  639.                             return 0;
  640.                         } else if(conta3==0){ //si la columna 4 ya es 0...
  641.                             tacharcolumna5();
  642.                             return 1;
  643.                         } else {             //si la columna 4 no es 0...
  644.                             tacharcolumna4();
  645.                             return 1;
  646.                         }
  647.                     } else{   //no localizado el 3 (no es la tercera columna)
  648.                         if (conta2!=0) return 0;
  649.                         if (((conta3>3)&&(conta4!=0))||((conta3!=0&&conta4>3)))return 0;
  650.                         if (conta3==3){
  651.                             tacharcolumna5();
  652.                             return 1;
  653.                         } else if(conta4==3){
  654.                             tacharcolumna4();
  655.                             return 1;
  656.                         }
  657.                         if(conta4==0){
  658.                             ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  659.                             imagen.setImageResource(R.drawable.linea2);
  660.                             array[6]=2;
  661.                             return 1;
  662.                         } else {
  663.                             if(array[10]==0){
  664.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  665.                                 imagen.setImageResource(R.drawable.linea2);
  666.                                 array[10]=2;
  667.                                 return 1;
  668.                             }else{
  669.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView09);
  670.                                 imagen.setImageResource(R.drawable.linea2);
  671.                                 array[11]=2;
  672.                                 return 1;
  673.                             }
  674.                         }
  675.                     }
  676.                 } else { //no localizado el 2 (no es la segunda columna)
  677.                     if(conta!=0)return 0;
  678.                     if(conta2<3&&conta3<3&&conta4<3) return 0;
  679.                     if(conta2==1||conta3==1||conta4==1) return 0;
  680.                     if(conta2==2){ //localizado el 2
  681.                         if (((conta3>3)&&(conta4!=0))||((conta3!=0&&conta4>3)))return 0;
  682.                         if (conta3==3){
  683.                             tacharcolumna5();
  684.                             return 1;
  685.                         } else if(conta4==3){
  686.                             tacharcolumna4();
  687.                             return 1;
  688.                         }
  689.                         if(conta4==0){
  690.                             ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  691.                             imagen.setImageResource(R.drawable.linea2);
  692.                             array[6]=2;
  693.                             return 1;
  694.                         } else {
  695.                             if(array[10]==0){
  696.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  697.                                 imagen.setImageResource(R.drawable.linea2);
  698.                                 array[10]=2;
  699.                                 return 1;
  700.                             }else{
  701.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView09);
  702.                                 imagen.setImageResource(R.drawable.linea2);
  703.                                 array[11]=2;
  704.                                 return 1;
  705.                             }
  706.                         }
  707.                     } else { //localizado el 3 (tercera columna) pero no localizado el 2
  708.                         if((conta3>2&&conta4!=0)||(conta4>2&&conta3!=0))return 0;
  709.                         if(conta3==1&&conta4==1)return 0;
  710.                         if(conta3==2){
  711.                             tacharcolumna5();
  712.                             return 1;
  713.                         } else if(conta4==2){
  714.                             tacharcolumna4();
  715.                             return 1;
  716.                         }
  717.                         if(conta4==0){ 
  718.                             y = 0;
  719.                             for(i=6;i<10;i++)if(array[i]==0)y++;
  720.                             if(y!=2){
  721.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView08);
  722.                                 imagen.setImageResource(R.drawable.linea2);
  723.                                 array[6]=2;
  724.                                 y = 0;
  725.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  726.                             }
  727.                             if(y!=2){
  728.                                 ImageView imagen2 = (ImageView) findViewById(R.id.ImageView06);
  729.                                 imagen2.setImageResource(R.drawable.linea2);
  730.                                 array[7]=2;
  731.                                 y = 0;
  732.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  733.                             }
  734.                             if(y!=2){
  735.                                 ImageView imagen3 = (ImageView) findViewById(R.id.ImageView05);
  736.                                 imagen3.setImageResource(R.drawable.linea2);
  737.                                 array[8]=2;
  738.                                 y = 0;
  739.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  740.                             }
  741.                             if(y!=2){
  742.                                 ImageView imagen4 = (ImageView) findViewById(R.id.ImageView07);
  743.                                 imagen4.setImageResource(R.drawable.linea2);
  744.                                 array[9]=2;
  745.                                 y = 0;
  746.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  747.                             }
  748.                         }else if(conta3==0){
  749.                             y = 0;
  750.                             for(i=6;i<10;i++)if(array[i]==0)y++;
  751.                             if(y!=2){
  752.                                 ImageView imagen = (ImageView) findViewById(R.id.ImageView13);
  753.                                 imagen.setImageResource(R.drawable.linea2);
  754.                                 array[10]=2;
  755.                                 y = 0;
  756.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  757.                             }
  758.                             if(y!=2){
  759.                                 ImageView imagen2 = (ImageView) findViewById(R.id.ImageView09);
  760.                                 imagen2.setImageResource(R.drawable.linea2);
  761.                                 array[11]=2;
  762.                                 y = 0;
  763.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  764.                             }
  765.                             if(y!=2){
  766.                                 ImageView imagen3 = (ImageView) findViewById(R.id.ImageView10);
  767.                                 imagen3.setImageResource(R.drawable.linea2);
  768.                                 array[12]=2;
  769.                                 y = 0;
  770.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  771.                             }
  772.                             if(y!=2){
  773.                                 ImageView imagen4 = (ImageView) findViewById(R.id.ImageView11);
  774.                                 imagen4.setImageResource(R.drawable.linea2);
  775.                                 array[13]=2;
  776.                                 y = 0;
  777.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  778.                             }
  779.                             if(y!=2){
  780.                                 ImageView imagen5 = (ImageView) findViewById(R.id.ImageView12);
  781.                                 imagen5.setImageResource(R.drawable.linea2);
  782.                                 array[14]=2;
  783.                                 y = 0;
  784.                                 for(i=6;i<10;i++)if(array[i]==0)y++;
  785.                             }
  786.                         }
  787.                     }
  788.                 }
  789.             }else {     //no localizado el 1 (no es la primer columna) ni ná
  790.                 return 0;
  791.             }
  792.         }
  793.     }
  794.    
  795.     return 0;
  796.     }
  797. }
Advertisement
Add Comment
Please, Sign In to add comment