×

java高级视频教程 java java视频

哪个网站有java视频?求“贪吃蛇“小游戏JAVA源代码一份

admin admin 发表于2022-06-07 11:58:41 浏览90 评论0

抢沙发发表评论

哪个网站有java视频


java视频免费下载

链接:https://pan.baidu.com/s/117W9HdLwut_LoHQsSAX04Q

提取码:73qc

java视频|53.mp4|52_定义输入输出格式.mp4|51_综合练习(二).mp4|50_综合练习(一).mp4|49_开发工具之Eclipse(四).mp4|48_开发工具之Eclipse(三).mp4|47_开发工具之Eclipse(二).mp4|46_开发工具之Eclipse(一).mp4|45_hashCode()与toString().mp4|44_equals函数的作用.mp4|43_类集框架(三).mp4|42_类集框架(二).mp4|41_类集框架(一).mp4|40_Java当中的数组.mp4-JAVA


求“贪吃蛇“小游戏JAVA源代码一份


贪吃蛇
import java.awt.*;
import java.awt.event.*;
public class GreedSnake //主类
{

/**
* @param args
*/
public static void main(String args) {
// TODO Auto-generated method stub
new MyWindow();

}

}
class MyPanel extends Panel implements KeyListener,Runnable//自定义面板类,继承了键盘和线程接口
{

Button snake; //定义蛇按钮
int shu=0; //蛇的节数
int food; //食物数组
boolean result=true; //判定结果是输 还是赢
Thread thread; //定义线程
static int weix,weiy; //食物位置
boolean t=true; //判定游戏是否结束
int fangxiang=0; //蛇移动方向
int x=0,y=0; //蛇头位置
MyPanel()
{

setLayout(null);
snake=new Button;
food=new int ;
thread=new Thread(this);

for(int j=0;j《20;j++)
{
food[j]=(int)(Math.random()*99);//定义20个随机食物
}

weix=(int)(food*0.1)*60; //十位*60为横坐标
weiy=(int)(food%10)*40; //个位*40为纵坐标
for(int i=0;i《20;i++)
{
snake[i]=new Button();
}

add(snake);
snake.setBackground(Color.black);
snake.addKeyListener(this); //为蛇头添加键盘监视器
snake.setBounds(0,0,10,10);
setBackground(Color.cyan);
}

public void run() //接收线程
{

while(t)
{

if(fangxiang==0)//向右
{
try
{
x+=10;
snake.setLocation(x, y);//设置蛇头位置

if(x==weix&&y==weiy) //吃到食物
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint(); //重绘下一个食物
add(snake[shu]); //增加蛇节数和位置
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100); //睡眠100ms
}
catch(Exception e){}
}
else if(fangxiang==1)//向左
{
try
{
x-=10;
snake.setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}

thread.sleep(100);
}
catch(Exception e){}
}
else if(fangxiang==2)//向上
{
try
{
y-=10;
snake.setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100);
}
catch(Exception e){}
}
else if(fangxiang==3)//向下
{
try
{
y+=10;
snake.setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100);
}
catch(Exception e){}
}
int num1=shu;
while(num1》1)//判断是否咬自己的尾巴
{
if(snake[num1].getBounds().x==snake.getBounds().x&&snake[num1].getBounds().y==snake.getBounds().y)
{
t=false;
result=false;
repaint();
}
num1--;
}
if(x《0||x》=this.getWidth()||y《0||y》=this.getHeight())//判断是否撞墙
{
t=false;
result=false;
repaint();
}
int num=shu;
while(num》0) //设置蛇节位置
{
snake[num].setBounds(snake[num-1].getBounds());
num--;
}

if(shu==15) //如果蛇节数等于15则胜利
{
t=false;
result=true;
repaint();
}

}

}
public void keyPressed(KeyEvent e) //按下键盘方向键
{
if(e.getKeyCode()==KeyEvent.VK_RIGHT)//右键
{
if(fangxiang!=1)//如果先前方向不为左
fangxiang=0;

}
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{ if(fangxiang!=0)
fangxiang=1;

}
else if(e.getKeyCode()==KeyEvent.VK_UP)
{ if(fangxiang!=3)
fangxiang=2;

}
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{ if(fangxiang!=2)
fangxiang=3;

}
}

public void keyTyped(KeyEvent e)
{

}
public void keyReleased(KeyEvent e)
{

}
public void paint(Graphics g) //在面板上绘图
{
int x1=this.getWidth()-1;
int y1=this.getHeight()-1;
g.setColor(Color.red);
g.fillOval(weix, weiy, 10, 10);//食物
g.drawRect(0, 0, x1, y1); //墙
if(t==false&&result==false)
g.drawString(“GAME OVER!“, 250, 200);//输出游戏失败
else if(t==false&&result==true)
g.drawString(“YOU WIN!“, 250, 200);//输出游戏成功
}

}
class MyWindow extends Frame implements ActionListener//自定义窗口类
{
MyPanel my;
Button btn;
Panel panel;
MyWindow()
{
super(“GreedSnake“);
my=new MyPanel();
btn=new Button(“begin“);
panel=new Panel();
btn.addActionListener(this);
panel.add(new Label(“begin后请按Tab键选定蛇“));
panel.add(btn);
panel.add(new Label(“按上下左右键控制蛇行动“));
add(panel,BorderLayout.NORTH);
add(my,BorderLayout.CENTER);
setBounds(100,100,610,500);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)//按下begin按钮
{

if(e.getSource()==btn)
{
try
{
my.thread.start(); //开始线程
my.validate();
}
catch(Exception ee){}
}

}
}
-java

java的JTextArea中怎么改变字体颜色


java swing 中JTEXTAREA不能改变字体颜色,它是纯文本组件,可以使用JTEXTPANE,通过操作DOCUMENT文档来控制JTEXTPANE显示的内容,下面的代码在一个JTEXTPANE中显示了一个图标,三行文字,每行用不同的颜色和大小显示: 
-JAVA

IMPORT JAVAX.SWING.*; 
IMPORT JAVA.AWT.*; 
IMPORT JAVA.AWT.EVENT.*; 
IMPORT JAVAX.SWING.TEXT.*; 
IMPORT JAVA.IO.*; 

PUBLIC CLASS TEST { 
JFRAME FRAME; 
JTEXTPANE TEXTPANE; 
FILE FILE; 
ICON IMAGE; 

PUBLIC TEST(){ 
FRAME = NEW JFRAME(“JTEXTPANE“); 
TEXTPANE = NEW JTEXTPANE(); 
FILE = NEW FILE(“./CLASSES/TEST/ICON.GIF“); 
IMAGE = NEW IMAGEICON(FILE.GETABSOLUTEFILE().TOSTRING()); 


PUBLIC VOID INSERT(STRING STR, ATTRIBUTESET ATTRSET) { 
DOCUMENT DOC = TEXTPANE.GETDOCUMENT(); 
STR =“\N“ + STR ; 
TRY { 
DOC.INSERTSTRING(DOC.GETLENGTH(), STR, ATTRSET); 

CATCH (BADLOCATIONEXCEPTION E) { 
SYSTEM.OUT.PRINTLN(“BADLOCATIONEXCEPTION: “ + E); 



PUBLIC VOID SETDOCS(STRING STR,COLOR COL,BOOLEAN BOLD,INT FONTSIZE) { 
SIMPLEATTRIBUTESET ATTRSET = NEW SIMPLEATTRIBUTESET(); 
STYLECONSTANTS.SETFOREGROUND(ATTRSET, COL); 
//颜色 
IF(BOLD==TRUE){ 
STYLECONSTANTS.SETBOLD(ATTRSET, TRUE); 
}//字体类型 
STYLECONSTANTS.SETFONTSIZE(ATTRSET, FONTSIZE); 
//字体大小 
INSERT(STR, ATTRSET); 


PUBLIC VOID GUI() { 
TEXTPANE.INSERTICON(IMAGE); 
SETDOCS(“第一行的文字“,COLOR.RED,FALSE,20); 
SETDOCS(“第二行的文字“,COLOR.BLACK,TRUE,25); 
SETDOCS(“第三行的文字“,COLOR.BLUE,FALSE,20); 
FRAME.GETCONTENTPANE().ADD(TEXTPANE, BORDERLAYOUT.CENTER); 
FRAME.ADDWINDOWLISTENER(NEW WINDOWADAPTER() { 
PUBLIC VOID WINDOWCLOSING(WINDOWEVENT E) { 
SYSTEM.EXIT(0); 
}}); 
FRAME.SETSIZE(200,300); 
FRAME.SETVISIBLE(TRUE); 

PUBLIC STATIC VOID MAIN(STRING ARGS) { 
TEST TEST = NEW TEST(); 
TEST.GUI(); 

}