栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Java创建Snake

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Java创建Snake

要回答您的后记,请设置背景色或在其他所有颜色后面添加JPanel。

要继续进行该项目,请考虑使其成为MVC框架中的一个练习。现在发生的事情是您的Model和View链接在同一个类中-这使得很难遵循所有事物背后的逻辑。

您可以做的是首先将Snake与与视图相关的任何事物分开-用

ArrayList<Integer[]>segmentLocations
或代表一条蛇,以表示您定义的板上每个段位置的(x,y)-您可以使用绝对值坐标,也可以创建任意网格并在视图中更改为绝对坐标(这更好地代表了MVC关系)。Snake还应该为蛇所面对的方向提供一个字段-
我会使用
enum Direction {N, S, E, W}
,但是您可以选择,因为您也可以使用整数来表示方向,或者使用多种其他方式。

然后,您的Snake也将具有更新自身的方法-
move(),根据当前路段的初始方向来移动所有路段的位置,并使所有其他路段都跟随前一个路段的移动(此操作如果您考虑几分钟,就非常容易)。

您的视图可能是一个具有GridLayout的Jframe,该GridLayout由JPanel组成,这些JPanel轮询您的Snake实例,并查看该位置是否存在线段(如果有的话),绘制该线段,或者使用其他多种选择。

您的控制器将是KeyAdapter,当按下箭头键时,该适配器会将更新发送到您的Snake。

小提示,让您的生活更轻松:添加新片段时,只需将其放在Snake的最后一个片段的位置即可。下次移动时,新片段将位于同一位置,其余的Snake也应相应移动。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号