|
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
namespace GameExample.Reversi
{
public class ComputerPlayer : IPlayer
{
private static readonly TimeSpan _defaultPlayTime = TimeSpan.FromSeconds(1.25);
private TimeSpan _minPlayTime;
private Point _position;
private bool _hasPosition;
private DateTime _startTime;
public void SetTurn(Player player, Game game)
{
SetTurn(player, game, _defaultPlayTime);
}
public void SetTurn(Player player, Game game, TimeSpan playTime)
{
_minPlayTime = playTime;
_startTime = DateTime.Now;
IEnumerator<Point> moves = game.GetMoves(player).GetEnumerator();
if (moves.MoveNext())
{
_position = moves.Current;
_hasPosition= true;
return;
}
_hasPosition= false;
}
public void Clear()
{
_hasPosition = false;
}
public Point Move
{
get
{
return _position;
}
}
public bool HasMove
{
get
{
return _hasPosition && DateTime.Now > (_startTime + _minPlayTime);
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.