All pastes #40883 Raw Edit

bjorne

public java v1 · immutable
#40883 ·published 2006-02-09 19:36 UTC
rendered paste body
public class YatzyPlayer {	private Dice[] c;	private boolean[] dN;		public YatzyPlayer(){		c = new Dice[5];		for(int i = 0; i<5; i++){			c[i] = new Dice();		}	}		public void roll(boolean[] diceNo){		dN = diceNo;		for(int i = 0; i<5; i++){			if(diceNo[i])				c[i].rollDice();		}	}	public int[] evaluate(){		int check = 0;		int[] summa={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};		for(int i = 0; i<5; i++){			if(dN[i])				summa[c[i].getDots() -1] += c[i].getDots();		}// ÄNDRAT: här ska ändrade jag == till >=		for(int i = 0;i<6; i++){		// par eller fler			if((summa[i]/(i+1)) >= 2){				summa[6] = (summa[i]);			}		}		for(int i = 0; i<6; i++){		// 2-par		if((summa[i]/(i+1)) == 2 && summa[7] == 0)			if(check != 0)				summa[7] = check + summa[i];			else				check = summa[i];		}		check=0;		// ÄNDRAT: triss eller fler, dvs >=		for(int i = 0; i<6; i++){	// triss			if(summa[i]/(i+1) >= 3)				summa[8] = (summa[i]);					}// ÄNDRAT: fyrtal eller fler, dvs >=		for(int i = 0; i<6; i++){	//fyrtal			if(summa[i]/(i+1) >= 4)				summa[9] = summa[i];		}				for(int i = 0; i<5; i++){		//liten stege			if(summa[i]/(i+1) == 1)				check += summa[i];			if(check == 15)				summa[11] = 15;		}		check = 0;		for(int i = 1; i<6; i++){		//stor stege			if(summa[i]/(i+1) == 20)				check += summa[i];			if(check == 20)				summa[12] = 20;		}		check = 0;		if(summa[6] > 0 && summa[8] > 0)			summa[12] = summa[6]+summa[8];				for(int i = 0; i<6; i++){			summa[13] += summa[i];		}		for(int i = 0; i<6; i++){			if(summa[i]/(i+1) == 5)				summa[14]= 5;		}		if(summa[14] != 0 && summa[14]*(2/5) > summa[6])			summa[6] = summa[14]*(2/5);		if(summa[14] != 0 && summa[14]*(4/5) > summa[7])			summa[7] = summa[14]*(2/5);		if(summa[14] != 0 && summa[14]*(3/5) > summa[8])			summa[14] = summa[14]*(3/5);		if(summa[14] != 0 && summa[14]*(4/5) > summa[9])			summa[9] = summa[14]*(4/5);				return summa;	}		}