java贪吃蛇课程设计知乎_Java课程设计---贪吃蛇大作战

目录

一、团队课程设计博客链接

二、个人负责模块和任务说明

1.负责实现闯关模式

2.负责实现挑战模式

3.串联GUI与信息代码

4.实现排行榜功能

三、自己的代码提交记录截图

ce9c26c2d9bfbb0018ea7f51d064ee8d.png

73c54c16da5512f148db4867d19dfbe8.png

5c0e3e7ce101f5441aa5327b219c3851.png

四、自己负责模块或任务详细说明

这是挑战模式的时间线程

this.thread = new Thread(() ->{while(start) {if (count == 0)

{break;

}if (!pause) {

count--;

initText();

}try{

Thread.sleep(SECOND);

}catch(InterruptedException e) {

e.printStackTrace();

}

}

count= 0;

});

游戏面板的重绘方法覆写

public void paint(Graphics g) {

clearDraw(g);

if(ground != null&&snake!=null&&food!=null) {

ground.drawMe(g);

food.drawMe(g);

snake.drawMe(g);

}

if(snake!=null&& !snake.isLife()) {

recover(g);

}

}

44f30176c61bd5d60cbf1619703b16df.png

启动游戏

public void newGame() {

try {

Thread.sleep(1000);

} catch (InterruptedException ignored) {

}

ground.clear();

ground.generateRocks();

food.newFood(ground.getPoint());

buttonPanel.getMapLevLabel().setText("");

buttonPanel.getMapLevLabel().setText(""+ground.getMapType());

snake.setSleepTime(100);

buttonPanel.setScore(0);

buttonPanel.repaint();

}

游戏结束核算成绩的弹窗

public void calculate() {

String s ="您的成绩为:最终关卡:"+ground.getMapType()+" 最终得分"+snake.getFoodCount();

SkipFrame2 skipFrame = new SkipFrame2();

skipFrame.getLabel().setBounds(100,50,600,40);

int flag=information.compare1(ground.getMapType(), snake.getFoodCount());

skipFrame.getLabel().setText(s);

if(flag>0) {

skipFrame.successful();

skipFrame.visible();

skipFrame.getButton().addActionListener(e -> {

String name=skipFrame.getNameText().getText();

skipFrame.shutdown();

information.addList1(flag, name, ground.getMapType(), snake.getFoodCount());

});

}else {

skipFrame.visible();

skipFrame.getButton().addActionListener(e -> skipFrame.shutdown());

}

}

1f2df7716cda7485801b5bb839b772ac.png

de56b4cefd157d2cad653b973cb34508.png

五、课程设计感想

经过这次的课程设计,让我对多线程以及面向对象编程有了更加深刻的理解,并且感受到了团队合作的重要性,Java通常是要团队分工进行的,所以一些命名的规范,接口之类的就变得非常重要了,此次课程设计也让我对java编程有了更深一层的掌握,并且对游戏的创作有了一点了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值