相关疑难解决方法(0)

使用.Net开发Robocode类型的游戏,用于学校作业

我目前在学校的最后一年,攻读计算机研究高等国家文凭,基本上在最后一个学期,我们需要开发一个软件项目,基本上包含一个完整的系统.

现在,我正在考虑做的事情就像Robocode一样,但是我将使用.Net Framework来代替Java.


什么是Robocode?

对于那些你不知道的Robocode是什么,它基本上是一种编程游戏在人们开发利用的类接口和存在的下载类的方法自己的机器人,然后他们在对方的自主战斗竞技场......像这样:

alt text http://articles.techrepublic.com.com/i/tr/cms/contentPics/robocode.gif


所以基本上,正如我所说,我想使用.Net Framework重新创建这种场景.我在StackOverflow上发布这个问题,希望更有经验的开发人员能够指导我为这个项目正确的方向.

到目前为止我的想法基本上是创造:

  • 一个脱机应用程序,将作为战斗舞台和用户界面,与现有的机器人等创建新的战斗.
  • 玩家可以使用在线界面注册新机器人,查看过去的锦标赛分数等...
  • 显然,玩家需要使用类接口来创建他们的机器人.

动画和图形(用于实际战斗)

现在,当战斗发生时,当然会有某种动画和动作,我还没有决定还有什么用作媒介.

我目前想到的选项是:

  • 正如我在上面的第一个要点中所说,开发一个将作为战场的离线应用程序,所有动画将主要使用C#代码完成
  • 或者开发一个可以处理动画的Silverlight应用程序(因此,将场景从离线应用程序更改为现在的在线应用程序
  • 或者,也许是最不可行的,使用JavaScript创建战斗动画,使用类似Canvas的东西

你认为什么可能更适合这种特殊情况?


开发类和接口

对于玩家开发机器人,我将提供他们能够像Robocode一样使用的某些类接口.

此类事件和方法的示例可能包括:

public void run () {}
public void onScannedRobot(ScannedRobotEvent e) {}

walk(/* ammount in pixels or w/e to walk to */);
turnRight(/* value in degrees for an angular turn */);
//etc...
Run Code Online (Sandbox Code Playgroud)

以下是Robocode(Java)中代码的片段:

public class MyFirstRobot extends Robot {
    public void run() {
        while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360); …
Run Code Online (Sandbox Code Playgroud)

.net project-planning projects-and-solutions robocode

12
推荐指数
2
解决办法
3572
查看次数

C#加载沙盒装配

好的,我有一个应用程序,我想添加对其他人的支持来编写应用程序将加载的模块.

这些模块是一个扩展我的Module类的类,用.Net编写.我需要知道如何在沙盒环境中加载这些DLL,只允许它们在某些目录中读/写.

这可能吗?

.net c# module sandbox

7
推荐指数
1
解决办法
3502
查看次数

如何使用Sandbox在.NET中创建插件模型?

有没有办法将.NET程序集加载到也以自定义方式限制的Sandbox环境中?我知道你可以在不同的AppDomain中运行程序集,但是你可以限制它能够做你想要限制的某些事情吗?

例如:我希望能够在ASP.NET应用程序内的单独程序集中加载插件(简单,仅通过特定接口定义),但我只希望插件能够访问某些数据访问层组件并且无法直接连接到任何数据库.我正在考虑让一个应用程序实例托管多个客户端数据的情况,我只希望该插件能够访问当前登录的特定客户端/用户的数据.

任何人对如何做到这一点都有任何想法?

我在这里找到了关于如何在Sandbox中加载程序集的以下问题,但它没有讨论添加Sandbox的任何自定义限制:

在"沙箱环境"中从.Net应用程序加载程序集

更新:看起来你可以在调用" AppDomain.CreateDomain "时设置一个非常具体的" PermissionSet " ,但我不确定我需要设置哪些权限来允许/禁止上面的指定权限.MSDN上也有这篇文章:http://msdn.microsoft.com/en-us/library/bb763046.aspx

此外,我希望在.NET 2.0/3.5中执行此操作

除了使用System.AddIn之外的任何其他想法?

.net plugins assemblies sandbox

3
推荐指数
1
解决办法
1537
查看次数