如何编写"拖拉机"游戏软件,可以用什么软
如果您要准备写一个拖拉机的算法,您就需要引入Kuaff。Tractor。Plugins。dll这个配件,它包含了Kuaff。Tractor。Plugins。 IuserAlgorithm接口。
这个接口的定义为:
using System;
using System。Collections;
using System。Text;
namespace Kuaff。 Tractor。Plugins
{
public interface IUserAlgorithm
{
///
/// 算法作者
///
string Author
{
get;
}
///
/// 算法作者的ema...全部
如果您要准备写一个拖拉机的算法,您就需要引入Kuaff。Tractor。Plugins。dll这个配件,它包含了Kuaff。Tractor。Plugins。 IuserAlgorithm接口。
这个接口的定义为:
using System;
using System。Collections;
using System。Text;
namespace Kuaff。
Tractor。Plugins
{
public interface IUserAlgorithm
{
///
/// 算法作者
///
string Author
{
get;
}
///
/// 算法作者的email地址
///
string Email
{
get;
}
///
/// 算法名称
///
string Name
{
get;
}
///
/// 算法介绍
///
string Description
&nbs
p; {
get;
}
///
/// 首先出牌的算法。
///
/// 当前用户是谁,1为南家,2为北家,3为西家,4为东家
/// 当前主牌的花色,1为红心,2为黑桃,3为方片,4为梅花,5为王(无主)
/// 当前打几,0为打2,1为打3,2为打4。
。。。。。。。11为打K,12为打A,53为打王
/// 当前谁为庄家,1为南家,2为北家,3为西家,4为东家
/// 当前一局各家已经出掉的牌,sendCards[0]为南家,sendCards[1]为北家,sendCards[2]为西家,sendCards[3]为东家
/// 此用户手中的牌
///
ArrayList ShouldSendCards(int who, int suit, int rank, int master, string[] sendCards, string myCards);
///
/// 改自己出的牌时的算法(自己不是首家)
///
/// 当前用户是谁,1为南家,2为北家,3为西家,4为东家
/// 当前主牌的花色,1为红心,2为黑桃,3为方片,4为梅花,5为王(无主)
/// 当前打几,0为打2,1为打3,2为打4。
。。。。。。。11为打K,12为打A,53为打王
/// 当前谁为庄家,1为南家,2为北家,3为西家,4为东家
/// 谁首先出的牌,1为南家,2为北家,3为西家,4为东家
/// 当前一局各家已经出掉的牌,sendCards[0]为南家,sendCards[1]为北家,sendCards[2]为西家,sendCards[3]为东家
/// 首家以及自己的上家出的牌
/// 此用户手中的牌
///
ArrayList MustSendCards(int who, int suit, int rank, int master, int whoIsFirst, string[] sendCards, ArrayList[] currentSendCards, string myCards);
}
}
它首先定义了几个属性,这几个属性分别代表算法作者的名称以及email,算法的名称以及简单介绍。
ShouldSendCards方法定义了首家出牌的算法。
比如该东家首先出牌时,调用ShouldSendCards得到东家应该出的牌,接着调用 MustSendCards得到北家应该出的牌,接着调用MustSendCards得到西家应该出的牌,接着调用MustSendCards得到南家应该出的牌,程序然后进行计算,得到下一次的首家,然后通过ShouldSendCards得到首家出的牌……周而复始,直到手中的牌出完。收起