package com.egloos.realmove.dp.strategy.framework; public class Player { private String name = null; private HandGameStrategy strategy = null; private int winCount = 0; private int looseCount = 0; private int drawCount = 0; public Player( String name, HandGameStrategy strategy ) { this.name = name; this.strategy = strategy; } public Hand next() { return this.strategy.next(); } /** * @param result * HandGameStrategy.WIN, HandGameStrategy.LOOSE, HandGameStrategy.DRAW */ public void study( int result ) { this.strategy.study( result ); if ( result == HandGameStrategy.WIN ) { this.winCount++; } else if ( result == HandGameStrategy.LOOSE ) { this.looseCount++; } else { this.drawCount++; } } public String getName() { return name; } public void setName( String name ) { this.name = name; } public HandGameStrategy getStrategy() { return strategy; } public void setStrategy( HandGameStrategy strategy ) { this.strategy = strategy; } public int getWinCount() { return winCount; } public int getLooseCount() { return looseCount; } public int getDrawCount() { return drawCount; } }