相关疑难解决方法(0)

计算角度是否在两个角度之间

所以我正在制作一个小游戏,我正在检查角色是否可以"看到"另一个角色A可以看到角色B,如果A在B的某个距离内,并且A的角度方向是+/- 45度角度B面对.

目前,我正在做一些计算,我正在检查是否

(facingAngle - 45) =< angleOfTarget =< (facingAngle + 45)
Run Code Online (Sandbox Code Playgroud)

除了当我们穿过360度线时,这种方法很好.

让我们说吧facingAngle = 359, angleOfTarget = 5.在这种情况下,目标只偏离中心6度,所以我希望我的函数返回true.不幸的是,5不在314和404之间.

math trigonometry

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

使用.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
查看次数