public String getFEN() {
		StringBuilder sb=new StringBuilder();
		for(int rank=7;rank>-1;rank--)
		{
			int count=0;
			for(int file=0;file<8;file++)
			{
				Coin c=getCoinAt(Position.getPosition(rank, file));
				if(c==null||c==Coin.Empty)
				{
					count++;
				}
				else
				{
					if(count>0)
					{
						sb.append(count);
						count=0;
					}
					sb.append(c.getColor()==CoinColor.WHITE?Character.toUpperCase(c.getNotation()):Character.toLowerCase(c.getNotation()));
				}
			}
			if(count>0)
			{
				sb.append(count);
				count=0;
			}
			sb.append('/');
		}
		sb.setCharAt(sb.length()-1, ' ');
		sb.append(getCurrentPlayerColor()==CoinColor.WHITE?'w':'b').append(' ');
		sb.append(getCastlingFEN_Segment()).append(' ');
		sb.append(getEnpassentSquare()).append(' ');
		sb.append(getFiftyMoveDrawCount()).append(' ');
		sb.append(1+((int)(getMoves().size()/2)));
		return sb.toString();
	}