| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:谁能帮我编一个 贪吃蛇 程序啊 !!!!!!!!!!!!
只看楼主 加入收藏
250697812
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-5
收藏
 问题点数:0 回复次数:6 
谁能帮我编一个 贪吃蛇 程序啊 !!!!!!!!!!!!
谁能帮我做一个啊 我自己怎么做也做不出来啊 就是它一步一步的走 这里就是做不出来啊!!! 能不能 不用线程!!!!!!!!!!!! 共同学习才是主题!!!!!!!!!!!!!!!!!!!
搜索更多相关主题的帖子: 贪吃 
2005-10-24 18:34
250697812
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-5
收藏
得分:0 
怎么么没人回啊??????????
帮帮忙吗!!!!!!!!!!!!!

2005-10-24 18:47
jellen
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2004-5-3
收藏
得分:0 
呵呵,楼主太懒了,你应该先自己写一点代码,有什么不懂再来问大家。
OK,我先给你一个程序框架(一个方块会随着你按上下左右键不同方向运动),然后你自己就可以动手写你的游戏了。
/**
* This is a simple game in java.
* @author jellen
* @date 2005-10-24
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Block {
public static int DEFAULT_WIDTH = 25;
private Rectangle2D rect;
private Color color;
public Block(int x, int y, Color color) {
this.rect = new Rectangle2D.Double(x, y, DEFAULT_WIDTH, DEFAULT_WIDTH);
this.color = color;
}
public void draw(Graphics2D g) {
g.setColor(color);
g.fill(rect);
}
public int getX() {
return (int)rect.getX();
}
public int getY() {
return (int)rect.getY();
}
public void setPosition(int x, int y) {
rect.setFrame(x, y, DEFAULT_WIDTH, DEFAULT_WIDTH);
}
public void setColor(Color color) {
this.color = color;
}
}
class DrawPanel extends JPanel {
private static final long serialVersionUID = 100001L;
private static final int VALUE = 10;
private static final int LEFT = 0;
private static final int RIGHT = 1;
private static final int UP = 2;
private static final int DOWN = 3;
private Block block = new Block(0, 50, Color.BLUE);
private int direction = RIGHT;
DrawPanel() {
setFocusable(true);
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT)
direction = LEFT;
else if (key == KeyEvent.VK_RIGHT)
direction = RIGHT;
else if (key == KeyEvent.VK_UP)
direction = UP;
else if (key == KeyEvent.VK_DOWN)
direction = DOWN;
}
});
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (direction == LEFT)
block.setPosition(block.getX()-VALUE, block.getY());
else if (direction == RIGHT)
block.setPosition(block.getX()+VALUE, block.getY());
else if(direction == UP)
block.setPosition(block.getX(), block.getY()-VALUE);
else if(direction == DOWN)
block.setPosition(block.getX(), block.getY()+VALUE);
DrawPanel.this.repaint();
}
};
Timer timer = new Timer(100, listener);
timer.start();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
block.draw(g2);
}
}
class DrawFrame extends JFrame {
private static final long serialVersionUID = 100002L;
public DrawFrame() {
setTitle("DrawTest");
setSize(500, 500);
DrawPanel panel = new DrawPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
}
}
public class Test {
public static void main(String[] args) {
JFrame frame = new DrawFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

再见,理想!
2005-10-24 23:40
jellen
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2004-5-3
收藏
得分:0 
不好意思,我不知道怎么贴代码的~
上面忘了一个包:java.awt.geom.*;

再见,理想!
2005-10-24 23:42
rUIing
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-9-23
收藏
得分:0 
LZ好好学习啊.这SNAKE是基础啊
2005-10-25 00:34
250697812
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-5
收藏
得分:0 
谢谢啊          我下回一定注意啊   呵呵……

2005-10-27 19:32
JavaBean
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-9-30
收藏
得分:0 
private static final long serialVersionUID = 100001L;
private static final long serialVersionUID = 100002L;
有什么用啊,怎样标记(采用哪中规则标记)
2005-11-13 08:49
快速回复:谁能帮我编一个 贪吃蛇 程序啊 !!!!!!!!!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028828 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved