public bool addDie(Dice d) { //check if it can be added , then add or return false if cannot add if (!d.isLocked()) { if (dice1 == null && card.getDiceNumLocation("num1") == d.getDice()) { dice1 = d; numDice++; return(true); } else if (dice2 == null && card.getDiceNumLocation("num2") == d.getDice()) { dice2 = d; numDice++; return(true); } else if (dice3 == null && card.getDiceNumLocation("num3") == d.getDice()) { dice3 = d; numDice++; return(true); } else if (dice4 == null && card.getDiceNumLocation("num4") == d.getDice()) { dice4 = d; numDice++; return(true); } else if (dice5 == null && card.getDiceNumLocation("num5") == d.getDice()) { dice5 = d; numDice++; return(true); } else if (dice6 == null && card.getDiceNumLocation("num6") == d.getDice()) { dice6 = d; numDice++; return(true); } else { return(false); } } else //the dice is already in a diceholder so it cannot be moved top another one { return(false); } }
public int CanWin(Dice d1, Dice d2, Dice d3, Dice d4, Dice d5, Dice d6) { //return the number of dice still needed int total = 0; bool[] slots = new bool[6]; if (dice1 == null) { slots[0] = false; } else { slots[0] = true; } if (dice2 == null) { slots[1] = false; } else { slots[1] = true; } if (dice3 == null && card.numDice >= 3) { slots[2] = false; } else { slots[2] = true; } if (dice4 == null && card.numDice >= 4) { slots[3] = false; } else { slots[3] = true; } if (dice5 == null && card.numDice >= 4) { slots[4] = false; } else { slots[4] = true; } if (dice5 == null && card.numDice == 6) { slots[4] = false; } else { slots[4] = true; } if (dice6 == null && card.numDice == 6) { slots[5] = false; } else { slots[5] = true; } if (d1 != null) { if (!slots[0] && card.num1 == d1.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d1.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d1.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d1.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num4 == d1.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num5 == d1.getDice() && !d6.isLocked()) { slots[5] = true; } } if (d2 != null) { if (!slots[0] && card.num1 == d2.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d2.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d2.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d2.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num5 == d2.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num6 == d2.getDice() && !d6.isLocked()) { slots[5] = true; } } if (d3 != null) { if (!slots[0] && card.num1 == d3.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d3.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d3.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d3.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num5 == d3.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num6 == d3.getDice() && !d6.isLocked()) { slots[5] = true; } } if (d4 != null) { if (!slots[0] && card.num1 == d4.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d4.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d4.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d4.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num5 == d4.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num6 == d4.getDice() && !d6.isLocked()) { slots[5] = true; } } if (d5 != null) { if (!slots[0] && card.num1 == d5.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d5.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d5.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d5.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num5 == d5.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num6 == d5.getDice() && !d6.isLocked()) { slots[5] = true; } } if (d6 != null) { if (!slots[0] && card.num1 == d6.getDice() && !d1.isLocked()) { slots[0] = true; } else if (!slots[1] && card.num2 == d6.getDice() && !d2.isLocked()) { slots[1] = true; } else if (!slots[2] && card.num3 == d6.getDice() && !d3.isLocked()) { slots[2] = true; } else if (!slots[3] && card.num4 == d6.getDice() && !d4.isLocked()) { slots[3] = true; } else if (!slots[4] && card.num5 == d6.getDice() && !d5.isLocked()) { slots[4] = true; } else if (!slots[5] && card.num6 == d6.getDice() && !d6.isLocked()) { slots[5] = true; } } for (int f = 0; f < 6; f++) { if (slots[f]) { total++; } } return(6 - total); }