GKMinMaxStrategist 类

定义

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

[Foundation.Register("GKMinmaxStrategist", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 11, ObjCRuntime.PlatformArchitecture.Arch64, null)]
public class GKMinMaxStrategist : Foundation.NSObject, GameplayKit.IGKStrategist, IDisposable
type GKMinMaxStrategist = class
    inherit NSObject
    interface IGKStrategist
    interface INativeObject
    interface IDisposable
继承
GKMinMaxStrategist
属性
实现

注解

GKMinMaxStrategist 是 minimax 算法的实现,针对空间效率进行优化。 开发人员不会子类 GKMinMaxStrategist,而是创建 、 IGKGameModelIGKGameModelUpdate的游戏IGKGameModelPlayer特定实现。 N 命名空间文档的备注部分的“AI 对手”部分对此进行了详细讨论。

也许因为 GKMinMaxStrategist 是高度优化的实现,所以故障模式很难调试。 通常,在 相关游戏类的配置 GKMinMaxStrategist 或实现中出现错误会导致 null 返回 GetBestMove(IGKGameModelPlayer) ,控制台或系统日志中没有错误消息。 以下序列图可能对放置断点有所帮助:

由于GetBestMove(IGKGameModelPlayer)成本很高,开发人员通常应从后台 调用它。

构造函数

GKMinMaxStrategist()

默认构造函数,初始化此类的新实例。

GKMinMaxStrategist(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

GKMinMaxStrategist(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

属性

Class

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
ClassHandle

此类的句柄。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
GameModel

表示 IGKGameModel 游戏当前状态的 。

Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
IsDirectBinding

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
IsProxy

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
MaxLookAheadDepth

要计算的玩家数。 成本呈指数级。

RandomSource

用于在 中 GetBestMove(IGKGameModelPlayer) 断开移动之间的关联,以及选择 中的 GetRandomMove(IGKGameModelPlayer, nint)移动。

RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
Self

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Superclass

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
Zone

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)

方法

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BeginInvokeOnMainThread(Action)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

在主 UI 线程上异步调用指定的代码。

(继承自 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
BindingInfo(String)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
BindingValueClass(String)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
CommitEditing()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
DangerousAutorelease()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
DangerousRelease()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
DangerousRetain()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 NSObject 对象使用的资源。

(继承自 NSObject)
DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
Equals(NSObject)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Equals(Object)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
ExposedBindings()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetBestMove(IGKGameModelPlayer)

计算 IGKGameModelUpdate 为 提供最大优势 player的 ,受 MaxLookAheadDepth约束。

GetBestMoveForActivePlayer()

返回当前活动玩家的最佳移动。

GetBindingInfo(NSString)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetBindingValueClass(NSString)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMethodForSelector(Selector)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetNativeField(String)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetNativeHash()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
GetRandomMove(IGKGameModelPlayer, nint)

返回最佳移动之间的 numMovesToConsider 随机移动。

Init()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
InitializeHandle(IntPtr)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
InitializeHandle(IntPtr, String)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Invoke(Action, Double)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Invoke(Action, TimeSpan)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
InvokeOnMainThread(Action)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

同步调用主 UI 线程上的指定代码。

(继承自 NSObject)
IsEqual(NSObject)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
IsKindOfClass(Class)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
IsMemberOfClass(Class)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
ObjectDidEndEditing(NSObject)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
PerformSelector(Selector)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PerformSelector(Selector, NSObject)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
PrepareForInterfaceBuilder()

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
SetNativeField(String, NSObject)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
ToString()

返回当前实例的值的字符串表示形式。

(继承自 NSObject)
Unbind(NSString)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
Unbind(String)
已过时.

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)

扩展方法

ObjectDidBeginEditing(NSObject, INSEditor)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

ObjectDidEndEditing(NSObject, INSEditor)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

GetValidModes(NSObject, NSFontPanel)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

ValidateToolbarItem(NSObject, NSToolbarItem)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

GetDebugDescription(INSObjectProtocol)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

EndPreviewPanelControl(NSObject, QLPreviewPanel)

游戏 AI 评估潜在游戏状态,对其进行评分,并尝试将自己的分数最大化,同时最大程度地减少对手。

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

适用于

另请参阅