C#,代表,纸牌游戏
我将使用委托编写一个 Black Jack 游戏,根据我的一位朋友的说法,您可以通过一个 PlayerEventArgs:EventArgs 类来管理所有事件(如绘制和保持)来完成此任务。如何?
我可以从 GUI 类创建一个引用上述类并调用 PlayerEventArgs 类内的方法的委托吗?或者如何执行此操作?
我应该有两个事件处理程序,例如:GUI 类中的 PlayerDrawEventHandler 和 PlayerHoldEventHandler ???
public event EventHandler<PlayerEventArgs> PlayerTurnCardEventHandler;
I m going to write a Black Jack game using delegates, according to a friend of mine you can accomplish this by having one PlayerEventArgs:EventArgs class that manages all events as draw and hold. How?
Can I from my GUI-class create a delegate that references the above class and call for the methods inside the PlayerEventArgs class or how do I do this?
Should I have two EventHandlers eg: PlayerDrawEventHandler and PlayerHoldEventHandler in GUI-class???
public event EventHandler<PlayerEventArgs> PlayerTurnCardEventHandler;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,对于不同的操作有两个不同的事件处理程序是很好的。
解耦你的代码。
创建一个接口,例如 IPlayer,其中定义了事件。
他们创建一个实现 IPlayer 接口的 Player 对象。
创建一个管理器类(在您的例子中是游戏的引擎)创建一个实例
玩家类别并订阅事件。
Yes, it's good to have two different event handlers for different actions.
Decouple your code.
Create an Interface, like IPlayer that has the events defined in it.
Them create a Player object that implements the IPlayer interface.
Create a manager class ( in your case the engine of the game ) create an instance of the
Player class and subscribe to the events.
你可以实现这样的东西:
现在你需要一个地方来注册你的消息处理程序:
并以这种方式使用你的机制:
You can implement something like this:
Now you need a place to register your message handlers:
And use your mechanism in such way: