View Single Post
Old 15-03-2010, 15:48   #5
stefandre_nicari
Member
 
Iscritto dal: Jun 2007
Messaggi: 107
Questa è la classe. Quello che volevo tentare di fare era di raggruppare le righe e le colonne in cicli di for...
PS scusate se vi ingombro la pagina...

Codice:
/**
 * @author Andrea
 */

public class IA extends Game{

	private static final long serialVersionUID = -2190042828523424036L;

	public static void playIA(){ 
		//intercetto tris posibili del giocatore
		if(matr[0][0]==1 && matr[0][1]==1){ 		//riga 0
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][1]==1 && matr[0][2]==1) {
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==1 && matr[0][2]==1) {
			if(matr[0][1]==0){
			matr[0][1]=2;
			}
		} else if(matr[1][0]==1 && matr[1][1]==1) { //riga 1
			if(matr[1][2]==0){
				matr[1][2]=2;
			}
		} else if(matr[1][1]==1 && matr[1][2]==1) {
			if(matr[1][0]==0){
				matr[1][0]=2;
			}
		} else if(matr[1][0]==1 && matr[1][2]==1) {
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[2][0]==1 && matr[2][1]==1) { //riga 2
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[2][1]==1 && matr[2][2]==1) {
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[2][0]==1 && matr[2][2]==1) {
			if(matr[2][1]==0){
				matr[2][1]=2;
			}
		} else if(matr[0][0]==1 && matr[1][0]==1) { //colonna 0
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[1][0]==1 && matr[2][0]==1){ 
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==1 && matr[2][0]==1){ 
			if(matr[1][0]==0){
				matr[1][0]=2;
			}
		} else if(matr[0][1]==1 && matr[1][1]==1){ //colonna 1
			if(matr[2][1]==0){
				matr[2][1]=2;
			}
		} else if(matr[1][1]==1 && matr[2][1]==1){
			if(matr[0][1]==0){
				matr[0][1]=2;
			}
		} else if(matr[0][1]==1 && matr[2][1]==1){
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[0][2]==1 && matr[1][2]==1){ //colonna 2
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[1][2]==1 && matr[2][2]==1){ 
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][2]==1 && matr[2][2]==1){ 
			if(matr[1][2]==0){
				matr[1][2]=2;
			}
		} else if(matr[0][0]==1 && matr[1][1]==1){ //diagonale 1
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[1][1]==1 && matr[2][2]==1){ 
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==1 && matr[2][2]==1){ 
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[0][2]==1 && matr[1][1]==1){ //diagonale 2
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[1][1]==1 && matr[2][0]==1){ 
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][2]==1 && matr[2][0]==1){ 
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else //tentativo vittoria IA
			if(matr[0][0]==2 && matr[0][1]==2){ 	//riga 0
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][1]==2 && matr[0][2]==2) {
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==2 && matr[0][2]==2) {
			if(matr[0][1]==0){
			matr[0][1]=2;
			}
		} else if(matr[1][0]==2 && matr[1][1]==2) { //riga 1
			if(matr[1][2]==0){
				matr[1][2]=2;
			}
		} else if(matr[1][1]==2 && matr[1][2]==2) {
			if(matr[1][0]==0){
				matr[1][0]=2;
			}
		} else if(matr[1][0]==2 && matr[1][2]==2) {
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[2][0]==2 && matr[2][1]==2) { //riga 2
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[2][1]==2 && matr[2][2]==2) {
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[2][0]==2 && matr[2][2]==2) {
			if(matr[2][1]==0){
				matr[2][1]=2;
			}
		} else if(matr[0][0]==2 && matr[1][0]==2) { //colonna 0
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[1][0]==2 && matr[2][0]==2){ 
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==2 && matr[2][0]==2){ 
			if(matr[1][0]==0){
				matr[1][0]=2;
			}
		} else if(matr[0][1]==2 && matr[1][1]==2){ //colonna 1
			if(matr[2][1]==0){
				matr[2][1]=2;
			}
		} else if(matr[1][1]==2 && matr[2][1]==2){
			if(matr[0][1]==0){
				matr[0][1]=2;
			}
		} else if(matr[0][1]==2 && matr[2][1]==2){
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[0][2]==2 && matr[1][2]==2){ //colonna 2
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[1][2]==2 && matr[2][2]==2){ 
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][2]==2 && matr[2][2]==2){ 
			if(matr[1][2]==0){
				matr[1][2]=2;
			}
		} else if(matr[0][0]==2 && matr[1][1]==2){ //diagonale 1
			if(matr[2][2]==0){
				matr[2][2]=2;
			}
		} else if(matr[1][1]==2 && matr[2][2]==2){ 
			if(matr[0][0]==0){
				matr[0][0]=2;
			}
		} else if(matr[0][0]==2 && matr[2][2]==2){ 
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else if(matr[0][2]==2 && matr[1][1]==2){ //diagonale 2
			if(matr[2][0]==0){
				matr[2][0]=2;
			}
		} else if(matr[1][1]==2 && matr[2][0]==2){ 
			if(matr[0][2]==0){
				matr[0][2]=2;
			}
		} else if(matr[0][2]==2 && matr[2][0]==2){ 
			if(matr[1][1]==0){
				matr[1][1]=2;
			}
		} else {
			//giocata casuale con controllo casella occupata
			int rand1=0;		
			int rand2=0;
			do{ 
				rand1=(int)(Math.random()*3);
				rand2=(int)(Math.random()*3);
				if (matr[rand1][rand2]==0){
					matr[rand1][rand2]=2;
				}
			} while (matr[rand1][rand2]!=0);
//sto do while mi fa bloccare il brogramma..da correggere
		}
	}
}

Ultima modifica di stefandre_nicari : 15-03-2010 alle 15:52.
stefandre_nicari è offline   Rispondi citando il messaggio o parte di esso