我需要用java制作一个基于文本的RPG游戏。作业的第一部分非常简单。我们只是使用垂直线和下划线来制作一个小矩形,然后在矩形内部随着事物的移动,动作,死亡等添加符号。
我之前从未这样做过,所以我想通过你来实现我的想法:
你怎么看待像愤怒的小鸟这样的东西,但飞行的目标?屏幕左下方会有一个“鸟缸”可以射击鸟类。另一个问题:我不完全确定如何创建一种以不同角度以基于文本的格式拍摄的枪。它如何与瞄准,拍摄和计时相关,等等?
我想我要尝试坦克游戏。但我对如何实现炮塔的角度感到困惑。
我会把水箱放在左下角,我只有文字符号供我使用。我不知道如何让用户控制炮塔,让它上下移动少量(至少,直到我们开始使用images / gui's)。
有什么想法吗?
答案 0 :(得分:1)
首先,为了让您的想法符合RPG的标准,您必须添加一些组件。当你击中目标时,你的枪需要获得经验,并且必须在足够的时间后升级。它可以获得更好的速度或准确性。它还可以获得可以花在不同鸟类上进行拍摄的升级点。如果你的目标有生命值并且你不得不多次击中其中一些以杀死它们,那么它可能也会很酷。您可以通过更改文本的颜色来显示损坏。这些元素将赋予它更多的RPG感觉,以便您可以满足作业的标准。
至于游戏的机制,你将不得不写一些物理引擎。它不必非常复杂,足以能够计算或修改轨迹并确定是否存在碰撞。这个引擎会有一些tick()
方法,它可以提升鸟类和目标的位置,然后你可以调用getCollisions()
方法并处理每个方法。这是简单的方法。更复杂的方法是让引擎尽可能快地为自己的线程提供自己的线程。然后,当发生碰撞时,它会向侦听器发射一个事件,并设置某种处理程序以对目标,奖励点等施加伤害。
我建议你以比文本控制台更精细的分辨率为世界建模。使文本控制台只需通过将它们四舍五入到最近的80x25控制台位置来标记鸟类和目标,但内部使用更高的分辨率。即使在分辨率很差的环境中,这也会让它看起来更逼真。
对于游戏控制,我建议在屏幕上放置一个目标标线。用户可以用箭头键移动它以瞄准并按空格键进行拍摄。它们不会击中目标,因为重力应该将鸟拉向下,或者可能是因为鸟是一种特殊的射击,分裂成碎片。无论如何,他们会学会如何恰当地领导目标,这将是游戏的技巧。
这是一个复杂的项目。祝你好运!