使用java

时间:2015-05-30 12:25:16

标签: java file input output replay

我在java编写一个非常简单的RTS,这是我的问题,我需要编写一个重播文件来保存播放器所做的每一个动作,并且必须能够被阅读以观看游戏(只需要执行的操作)保存,鼠标移动并不重要,每个动作之间的时间不需要保存,我会在每个动作之间放置相同的延迟)。我怎么能知道我需要在我的程序参数中保存隐式元素的x和y位置,动作(攻击,移动,产品......)以及单位的x和y位置。例如:archer.attack(野兽),所以在这个例子中我需要保存射手的x和y,这是动作所以这里攻击和x和野兽的y。非常感谢你的每一个答案,这对我很有帮助!

1 个答案:

答案 0 :(得分:-1)

一个好的API将允许您以简单的字符串格式记录移动,然后使用随其保存的TIMESTAMP,使用Thread.Sleep将其传递回API,其中睡眠时间将是下一个动作的时间'减'当前行动'。

示例字符串文件(播放器| TIME | ACTION | DATA)

Player1|1|Move|-

Player1|4|Click|-

Player1|12|Click|-

然后创建一个游戏循环,在其中执行第一个动作(Move),然后调用'Thread.Sleep(4000-1000)'(其中1000是1秒),然后重复循环。下一步操作是“点击”,然后睡8秒钟。