网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月19日
漏签
0
天
java吧
关注:
1,244,886
贴子:
12,721,796
看贴
图片
吧主推荐
视频
游戏
14
回复贴,共
1
页
<返回java吧
>0< 加载中...
写了个贪吃蛇,只会吃东西T T不会长大
只看楼主
收藏
回复
来到温州看草
淼沝
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
求大哥看看我的代码T T给点意见
送TA礼物
IP属地:浙江
1楼
2014-07-01 16:55
回复
来到温州看草
淼沝
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
就是吃了果实后,会长一个蛇身,然后身体不跟着蛇头跑
IP属地:浙江
2楼
2014-07-01 16:57
回复(2)
收起回复
官渡区天互软件开发工作室
Vue2+Vue3,低代码/无代码,分布式,单体式,工作流引擎,流程设计器,表单设计器,规则引擎,代码生成器,SaaS多租户,接口集成引擎,页面视图引擎,数据报表引擎,BI大屏引擎
2025-02-19 19:27
广告
立即查看
来到温州看草
淼沝
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
package Snake8;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Vector;
public class Snake extends JFrame{
Mypanel mp=null;
public static void main(String[] args){
// TODO Auto-generated method stub
Snake sk=new Snake();
}
public Snake()
{
mp=new Mypanel();
this.add(mp);
this.addKeyListener(mp);
Thread t=new Thread(mp);
t.start();
this.setSize(400,330);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
class Mypanel extends JPanel implements KeyListener,Runnable
{
Snakeheads sh=null;
Vector<Fruit>fts=new Vector<Fruit>();
Fruit ft=null;
Vector<SnakeSS>sks=new Vector<SnakeSS>();
int pang=5;
Snakeheadss shss=null;
SnakeSS sk=null;
int kongge=1;
public Mypanel()
{
sh=new Snakeheads(20, 20,1);
//初始化蛇身
Thread t=new Thread(sh);
t.start();
sk=new SnakeSS(20,30,1);
sks.add(sk);
//初始化果实
ft=new Fruit(50,50);
fts.add(ft);
}
//画出蛇头
public void paint(Graphics g)
{
super.paint(g);
g.fillRect(0, 0, 400, 300);
g.setColor(Color.yellow);
//画出我的蛇头
g.fillOval(sh.x, sh.y, pang, pang);
//画出我的蛇身
//alongate();
for(int i=0;i<sks.size();i++)
{
SnakeSS sheshen=sks.get(i);
System.out.print("N="+i+" ");
System.out.println(sheshen.getX()+","+sheshen.getY());
g.fillOval(sheshen.x, sheshen.y, pang, pang);
}
g.setColor(Color.red);
for(int i=0;i<fts.size();i++)
{
Fruit guoshi=(Fruit)fts.get(i);
//画出果实
if(guoshi!=null&&guoshi.islive==true)
{
g.fillOval(ft.x, ft.y, 10, 10);
}
else if(guoshi.islive==false)
{
fts.remove(i);
ft=new Fruit((int)(Math.random()*1000/2.8),(int)(Math.random()*1000/3.5));
fts.add(ft);
g.fillOval(ft.x, ft.y, 10, 10);
}
}
}
//吃了果实,蛇身跟着蛇头运动
public void alongate()
{
//shss是个空瓶子
System.out.println("你的方向"+sh.direct);
for(int i=sks.size();i>0;i--)
{
SnakeSS sheshen1=sks.get(i);
SnakeSS sheshen0=sks.get(i-1);
sheshen1.direct=sheshen0.direct;
}
SnakeSS sheshen1=sks.get(1);
sheshen1.direct=sh.direct;
}
//判断蛇头是否吃到果实
public void Eatfruit(Fruit ft,Snakeheads sh)
{
switch (sh.direct)
{
case 0:
case 1:
case 2:
case 3:
if(sh.x+2.5>ft.x&&sh.x+2.5<ft.x+10&&sh.y+2.5>ft.y&&sh.y+2.5<ft.y+10)
{
ft.islive=false;
sh.speed+=0.1;
System.out.println(sh.speed);
//pang++;
switch (sh.direct) {
case 0:
SnakeSS sk=new SnakeSS(sh.x,sh.y+5,sh.direct);
sks.add(sk);
break;
case 1:
SnakeSS sk1=new SnakeSS(sh.x,sh.y-5,sh.direct);
sks.add(sk1);
break;
case 2:
SnakeSS sk2=new SnakeSS(sh.x+5,sh.y,sh.direct);
sks.add(sk2);
break;
case 3:
SnakeSS sk3=new SnakeSS(sh.x-5,sh.y,sh.direct);
sks.add(sk3);
break;
}
}
}
}
@Override
//键被按下
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
//键被释放
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode()==KeyEvent.VK_UP)
{
this.sh.setDirect(0);
}else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
this.sh.setDirect(1);
}else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
this.sh.setDirect(2);
}else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
this.sh.setDirect(3);
}else if(e.getKeyCode()==KeyEvent.VK_SPACE)
{
kongge++;
if(kongge%2==0)
this.sh.speed=0;
else
this.sh.speed=1;
}
//调用repaint()函数,来重绘界面
this.repaint();
}
@Override
//键的一个值被输出
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true)
{
try {
Thread.sleep(100);
} catch (Exception e) {
// TODO: handle exception
}
this.Eatfruit(ft, sh);
// this.alongate();
this.repaint();
}
}
}
//定义果实
class Fruit
{
boolean islive=true;
int x=(int)(Math.random()*1000/2.5);
int y=(int)(Math.random()*1000/3.3);
public Fruit(int x,int y)
{
this.x=x;
this.y=y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
//蛇的尾巴
class SnakeSS
{
int x,y,direct;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getDirect() {
return direct;
}
public void setDirect(int direct) {
this.direct = direct;
}
public SnakeSS(int x,int y,int direct)
{
this.x=x;
this.y=y;
this.direct=direct;
}
}
//存放蛇头的
class Snakeheadss
{
int x,y,direct;
public Snakeheadss(int x,int y,int direct)
{
this.x=x;
this.y=y;
this.direct=direct;
}
}
//定义蛇头,并给于运动
class Snakeheads implements Runnable
{
int x;
int y;
int direct;
int speed=1;
boolean islive=true;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getDirect() {
return direct;
}
public void setDirect(int direct) {
this.direct = direct;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public Snakeheads(int x,int y,int direck)
{
this.x=x;
this.y=y;
this.direct=direck;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true)
{
try {
Thread.sleep(50);
} catch (Exception e) {
// TODO: handle exception
}
switch(this.direct)
{
case 0:
y-=speed;
break;
case 1:
y+=speed;
break;
case 2:
x-=speed;
break;
case 3:
x+=speed;
break;
}
if(x>400||y>300||x<0||y<0)
{
this.islive=false;
break;
}
}
}
}
IP属地:浙江
3楼
2014-07-01 16:57
回复
收起回复
贴吧用户_Q56PA4R
司马沝
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
——————————————————————————————Love is ever betrayed only fickle just let people remember。 请叫我七黯
来自
Android客户端
4楼
2014-07-01 16:59
回复(1)
收起回复
来到温州看草
淼沝
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
才五点钟都去次饭了么
IP属地:浙江
5楼
2014-07-01 17:05
回复
收起回复
雨夜→花开
淼淼淼淼
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可以做个贪吃龟的……
IP属地:安徽
来自
Android客户端
6楼
2014-07-01 17:09
回复(1)
收起回复
aksjfhkljsd
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好腻害!!!
7楼
2014-07-01 17:12
回复(3)
收起回复
骚年乖
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
小蛇萌萌哒,乃们不要酱紫
来自
Android客户端
8楼
2014-07-01 19:44
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
如果你是泽连斯基你会怎么做
2346420
2
汪小菲与大S遗产战即将开打
1762765
3
Grok3刚发布没几天就翻车
1620556
4
突然发现日厂技术力也就那样
1435887
5
山东泰山退出亚冠
1387230
6
一定要会应援才配看演唱会吗?
1187275
7
我们喊难的深渊是紧急削过的
1163640
8
美队4最科幻的一点
824504
9
美俄背着乌克兰偷偷和谈
815672
10
EDG.M3比1横扫WE
692307
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示