LinkedList的使用——控制台输出贪吃蛇游戏

首先写一个节点类Node(),定义贪吃蛇的所有行走路线路过的点。
定义横竖坐标 ( i , j ), 生产get() 和 set() 方法,定义一个空的构造方法和一个带参构造方法,重写haseCode( ) 和 equals ( ) 方法,以确保两次输入相同的坐标是同一个。
这里写图片描述

然后写Wrom ( )类:
这里写图片描述
用LinkedList<>数组来保存Node对象,形成链式结构,写一个Wrom构造函数,利用五个node来初始化贪吃蛇的“身体”,contains ( )方法是判断蛇身节点的坐标,step ()方法是用来移动,利用LinkedList对头尾的操作来使蛇身移动,去掉最后一个节点增加一个新的头节点来移动。
下面来定义贪吃蛇游戏的游戏面板WromPanel类,对游戏界面进行输出:
这里写图片描述
输出一个长度为10高度为32的矩形,if(wrom.contains(i,j))逻辑判断蛇身的坐标位置,在蛇身的位置打印 * ,其他位置输出空格。
最后进行游戏测试:
这里写图片描述
获得WromPanel( )类 和 Wrom( )类,进行逻辑判断,根据输入的字符控制蛇身移动的方向。

总结:一共四个类:节点类Node( ),蛇身类 Wrom( ),面板类 WromPanel( ),测试类 WromTest( )
游戏设计之初就要抽象出各个类及其作用,首先抽象出面板类,对游戏的可视化,然后抽象出蛇身类,分成逻辑层和控制层两个部分,逻辑层进行判断控制层进行根据操作变化,然后可以抽象出节点类,蛇身上的每一个位置都是一个节点类,利用LinkedList<>将节点进行存储、操作。
本游戏是对LinkedList数组进行操作的实例,其优势在于对数组收尾的操作简易方便。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四角天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值