当前位置: 代码迷 >> J2SE >> Java佳作业,来看看吧,求思路…
  详细解决方案

Java佳作业,来看看吧,求思路…

热度:7626   发布时间:2013-02-25 00:00:00.0
Java大作业,来看看吧,求思路……
美国大学计算机专业大学一年期末作业 在15*15的格子里,在300步内,120秒内,看谁走过的格子数多,每个机器有自己的颜色,红或蓝. 1. 车子可以射斑点去攻击对手,射中对手的话,对手将走你的颜色,持续20步。 2. 可射斑点数为30。 3. 若撞到墙,游戏结束,你自动输了。 4. 若撞到另外一个车,游戏停止,画多格子的车胜。 5. 游戏版面包含有石头的格子,撞到的输,如墙 6. 射的斑点不能过石头 7. 每次控制算法下个格去哪它会接受周围5*5的格子。车子在中间格,指向面对方向。这个叫做短范围浏览。 8. 你的算法可以有限制次数的长范围浏览。范围为15*15。(看下面)你可以得到一个长范围浏览可以在你上一步行走时要求他。限制30个。 9. 游戏版面包含有雾的格子。如果雾没有笼罩石头,那任何车子将跟画其他格子一样画那个格子。然而,长范围浏览不能显示雾下面是什么。但短浏览可以显示什么在雾下面。雾会漂流,扩张,或者缩短在运行中。 10. 车子将在每个格子决定它的下一步怎么走。

真快疯了……来大神指点一下,感激不尽!
------最佳解决方案--------------------------------------------------------
我去你这学校不错啊 比国内脑残题强多了 找几个同学切磋一下啊 哎 这么好的机会自己研究一下 啊
------其他解决方案--------------------------------------------------------
这个要想应付一下很简单 只要不撞对方车 可能的情况就射击他 由于还有雾这一说 设计ai可能需要实验 我就不写了 没有环境 不过我感觉这么多的随机条件你能不撞墙 射击他 还是有胜算的 雾什么的不考虑了 
------其他解决方案--------------------------------------------------------
总之,这个游戏要写出来,细节上会有很多,写好不容易,但是可以分开一个功能一个功能的先写好,例如扫描的动画,移动绘制,撞到石头,射击,然后再组合,尤其是中间的动画,要对线程的使用比较熟悉,而且为了性能考虑,不能每个东西都用一个线程,需要合理的决定使用线程。
不过这种方式对设计能力有一定的要求,因为是最后组合,所以设计的时候,接口就要求设计得合理。
------其他解决方案--------------------------------------------------------
引用:
引用:
这个问题我感觉应该不难吧。
应该是类似于一个俄罗斯方块的小游戏。
我想问的楼主想问的是技术实现方面的还是逻辑实现方面的?应该是技术方面吧,逻辑估计问题不是很大,关键是怎么实现它

技术上没感觉到有难度的。应该JDK1.4之前的内容就足够了。
你尝试着先一点点写着吧,遇到不会的解不开的在发帖问。自己做和看别人做收获差别是很大的。
如果让我做,我会设计一个15*15的JLabel,225个Jlabel分别控制自己的格子显示相应的内容就行了。
剩余的就是逻辑层的显示了。
------其他解决方案--------------------------------------------------------
还不如英文原题好理解
------其他解决方案--------------------------------------------------------
引用:
还不如英文原题好理解
英文原版在这里:
The Paintbot game is played on a 15 by 15 grid on which the two robots reside and compete. 
Only one robot may occupy a square at a time. (If two robots try to occupy the same square at 
the same time, they crash. There is more about this later.)  Robots may turn 90 degrees left, 90 
degrees right, move forward one square, move backward one square, or stay in the same spot. In 
addition, at any of these moves, the robot may fire a blob of paint, red or blue. At the beginning 
of the game, all squares on the board are painted white (a neutral color) and each robot is 
randomly assigned a paint color of red or blue. The game lasts for 300 moves, and both robots 
move simultaneously.  During each turn or move of the simulation, the robot may make a move, 
given by its control algorithm (the class you are writing). If the robot moves out of a square, the 
square that it leaves is turned the robot’s color. The goal of the game is to have more squares on 
the board painted your color than your robot opponent’s color. This is accomplished by moving 
  相关解决方案