
// Versuch einer friedlichen berechnenden Methode
class GentleGiant extends Shark6
{
	double inc, incinc, dec, stay;

	void priv_init()
	{
		inc =
		incinc =
		dec =
		stay = 0;
	}

	public int initial_turn() { return 4; }

	public int turn(int last_turns[], int scores[],
					int carryOver, int turn_no)
	{
		int i0, merk,w0, wm, wp, wpp;

		i0 =
		merk = last_turns[0];
		w0 = eval(last_turns, carryOver, scores);
		last_turns[0] = merk - 1;
		wm = merk > 0 ? eval(last_turns, carryOver, scores) : -2*maxPlayableNumber;
		last_turns[0] = merk + 1;
		wp = merk < maxPlayableNumber ? eval(last_turns, carryOver, scores) : -2*maxPlayableNumber;
		last_turns[0] = merk + 2;
		wpp= merk+1 < maxPlayableNumber ? eval(last_turns, carryOver, scores) : -2*maxPlayableNumber;

		if ( wpp > w0 && wpp > wp && wpp > wm ) incinc += 1.0;
		else if ( wp > w0 && wp > wm ) inc += 1.0;
		else if ( wm > w0 ) dec += 1.0;
		else stay += 1.0;

		incinc *= 0.8;
		inc    *= 0.8;
		dec    *= 0.8;
		stay   *= 0.8;

		if ( incinc > stay && incinc > inc && incinc > dec )
		{
			i0 = merk + 2;
			stay = incinc;
			dec  = inc;
			inc = incinc = 0.0;
		}
		else if ( inc > stay && inc > dec )
		{
			i0 = merk + 1;
			dec = stay;
			stay = inc;
			inc = incinc;
			incinc = 0.0;
		}
		else if ( dec > stay )
		{
			i0 = merk - 1;
			inc = stay;
			stay = dec;
			dec = incinc = 0.0;
		}

		return i0;
	}
}

