示例#1
0
  @Override
  public void offer(Offer offTemp) {
    G1Player.printArray(info.getAintInHand(), "after eating - info.getAintInHand():");
    int[] aintOffer = new int[info.getIntColorNum()];
    int[] aintDesire = new int[info.getIntColorNum()];
    offerStrategy.getOffer(aintOffer, aintDesire, info);

    G1Player.printArray(aintOffer, "aintOffer");
    G1Player.printArray(aintDesire, "aintDesire");
    offTemp.setOffer(aintOffer, aintDesire);
  }
示例#2
0
 @Override
 public void eat(int[] aintTempEat) {
   G1Player.printArray(info.getAintInHand(), "[G1Player] [eat] info.getAintInHand()");
   eatStrategy.update(aintTempEat, info);
   G1Player.printArray(aintTempEat, "[G1Player] [eat] aintTempEat");
   for (int i = 0; i < aintTempEat.length; i++) {
     if (aintTempEat[i] != 0) {
       // System.out.println("[G1Player] [eat] eating Color: " + i);
       info.setIntLastEatIndex(i);
       info.setIntLastEatNum(aintTempEat[i]);
       break;
     }
   }
 }
示例#3
0
 @Override
 public void updateOfferExe(Offer[] aoffCurrentOffers) {
   // System.out.println("[G1Player] [updateOfferExe]");
   //		for(Offer o : aoffCurrentOffers){
   //			System.out.println(" -- " + o);
   //		}
   info.updateOfferExe(aoffCurrentOffers);
 }
示例#4
0
 @Override
 public void happier(double dblHappinessUp) {
   info.updateHappiness(dblHappinessUp, info.getIntLastEatIndex(), info.getIntLastEatNum());
   if (!info.getPriority().isWeightedPriorityComplete()) {
     // System.out.println("[G1Player] [happier] " + dblHappinessUp + ", " +
     // info.getIntLastEatIndex() + ", " + info.getIntLastEatNum());
     info.getPriority()
         .updatePriority(
             info.getIntLastEatIndex(), dblHappinessUp / info.getIntLastEatNum(), info);
   }
 }
示例#5
0
  @Override
  public void initialize(
      int intPlayerNum,
      double dblTasteMean,
      int intPlayerIndex,
      String strClassName,
      int[] aintInHand) {

    info = new Infobase();
    info.setIntPlayerIndex(intPlayerIndex);
    info.setStrClassName(strClassName);
    info.setAintInHand(aintInHand);
    info.setIntColorNum(aintInHand.length);

    int totalSkittles = 0;
    for (int i : aintInHand) {
      totalSkittles += i;
    }
    info.setInitialSkittlesPerPlayer(totalSkittles);

    info.createTables(intPlayerNum);

    info.setDblHappiness(0);
    info.setAdblTastes(new double[info.getIntColorNum()]);

    info.setColorHappinessArray(new double[info.getIntColorNum()]);
    for (int intColorIndex = 0; intColorIndex < info.getIntColorNum(); intColorIndex++) {
      info.setAdblTasteElement(intColorIndex, -1);
      // adblTastes[ intColorIndex ] = -1;
    }

    info.getPriority().initializePriority(aintInHand);

    eatStrategy = new EatStrategy();
    pickStrategy = new PickStrategy();
    offerStrategy = new OfferStrategy(info);
  }
示例#6
0
 @Override
 public int getPlayerIndex() {
   return info.getIntPlayerIndex();
 }
示例#7
0
 @Override
 public void offerExecuted(Offer offPicked) {
   // System.out.println("[G1Player] [offerExecuted]: " + offPicked);
   info.updateOfferExecute(offPicked);
 }