java - Why does this throw a NullPointerException? -
null pointer means there programmers error within paramter somwhere, code looked @ ensure haven't missed obvious?
it's simple % based poker bot, pretty sure here's "thinks" error is.
public action act(set<action> actions) {     random generator = new random();     int roll = generator.nextint(100) + 1; //gives number between 1 , 100     system.out.println("roll = " + roll);     action myaction = null;      if (roll <= 30) { // raise 30%         if (actions.contains(action.raise)) {             myaction = action.raise;         } else if (actions.contains(action.bet)) {             myaction = action.bet;         } else if (actions.contains(action.call)) {             myaction = action.call;         }     } else if (roll > 30 && roll <= 90) { // call/check 60%         if (actions.contains(action.call)) {             myaction = action.call;         } else if (actions.contains(action.check)) {             myaction = action.check;         }     } else if (roll > 90) { // fold 10%         if (actions.contains(action.fold)) {             myaction = action.fold;         }      return myaction; }   }
edit:
heres added set action method:
public action act(set<action> actions, int minbet, int currentbet) {     action = client.act(actions);     switch (action) {         case check:             break;         case call:             betincrement = currentbet - bet;             if (betincrement > cash) {                 //todo: all-in partial call.                 betincrement = cash;             }             cash -= betincrement;             bet += betincrement;             break;         case bet:             betincrement = minbet;             if (betincrement >= cash) {                 //todo: all-in partial bet.                 betincrement = cash;             }             cash -= betincrement;             bet += betincrement;             raises++;             break;         case raise:             currentbet += minbet;             betincrement = currentbet - bet;             cash -= betincrement;             bet += betincrement;             raises++;             break;         case fold:             hand.removeallcards();             break;     }     return action; }   the action method inherits interface class client.java:
action act(set<action> allowedactions);   many thanks!
solution:
when try , run 2 of same bot against has conflict somewhere causing null pointer. when use 2 different bots plays fine no errors.
not clear getting npe bet on null input parameter
 set<action> actions      
Comments
Post a Comment