本文整理汇总了C#中Fields.IsFieldEmpty方法的典型用法代码示例。如果您正苦于以下问题:C# Fields.IsFieldEmpty方法的具体用法?C# Fields.IsFieldEmpty怎么用?C# Fields.IsFieldEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fields
的用法示例。
在下文中一共展示了Fields.IsFieldEmpty方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFullFields
public static int GetFullFields(Fields.Field field)
{
int count = 0;
for (int i = 0; i < field.Length; i++)
{
if (!field.IsFieldEmpty(i))
count++;
}
return count;
}
示例2: Play
public int Play(Fields.Field field)
{
string sitcode = SitCodeHelper.StringToSitCode(field.ToString());
List<int> fields = new List<int>(writerReader.Read(sitcode));
int zug = -1;
do
{
zug = fields.GetHighestIndex();
if (field.IsFieldEmpty(zug))
{
break;
}
else
{
fields.Remove(zug);
}
} while (fields.Count != 0);
if (zug == -1)
zug = FieldHelper.GetRandomZug(field);
return zug;
}
示例3: Mini
private int Mini(int depth, int alpha, int beta, Fields.Field field)
{
if (depth == 0)
{
return Valuation(field, AIPlayer);
}
int localBeta = int.MaxValue - 1;
for (int i = 0; i < field.Length; i++)
{
if (field.IsFieldEmpty(i))
{
field.SetField(i, AIPlayer);
int wert = Max(depth, alpha, beta, field);
field.SetField(i, ' ');
if (wert < localBeta)
{
if (wert < alpha)
{
bestZug = i;
return wert;
}
localBeta = wert;
if (wert < beta)
{
beta = wert;
}
}
}
}
return localBeta;
}
示例4: Max
private int Max(int depth, int alpha, int beta, Fields.Field field)
{
if (depth == 0)
{
return Valuation(field, HumanPlayer);
}
int localAlpha = int.MinValue + 1;
for (int i = 0; i < field.Length; i++)
{
if (field.IsFieldEmpty(i))
{
field.SetField(i, HumanPlayer);
int wert = Mini(depth - 1, alpha, beta, field);
field.SetField(i, ' ');
if (wert > localAlpha)
{
if (wert > beta)
{
bestZug = i;
return wert;
}
localAlpha = wert;
if (wert > alpha)
{
alpha = wert;
}
}
}
}
return localAlpha;
}
示例5: TestForLineComplettings
private int TestForLineComplettings(Fields.Field field, char player)
{
int ret = -1;
for (int playerpos = 0; (playerpos < field.Length) && (ret == -1); playerpos++)
{
if (field.IsFieldEmpty(playerpos))
{
field.SetField(playerpos, player);
if ((Logik.WinChecker.Pruefe(SitCodeHelper.ToPlayer(player), field)) && (ret == -1))
ret = playerpos;
field.SetField(playerpos, ' ');
}
}
return ret;
}
示例6: GetRandomZug
public static int GetRandomZug(Fields.Field field)
{
int zug = -1;
do
{
zug = _rnd.Next(0, field.Length);
} while (!field.IsFieldEmpty(zug));
return zug;
}
示例7: HasEmptyFields
public static bool HasEmptyFields(Fields.Field field)
{
for (int i = 0; i < field.Length; i++)
{
if (field.IsFieldEmpty(i))
return true;
}
return false;
}
示例8: Play
public int Play(Fields.IField field, char spieler)
{
string sitcode = SitCodeHelper.StringToSitCode(FieldHelper.GetString(field));
List<int> Fields = new List<int>(writerreader.Read(sitcode));
int zug = -1;
do
{
zug = Fields.ToArray().GetHighestIndex();
if (field.IsFieldEmpty(zug))
{
break;
}
else
{
Fields.Remove(zug);
}
} while (true);
if (zug == -1)
zug = SitCodeHelper.GetRandomZug(sitcode, Length);
return zug;
}