west java,java中的贪吃蛇程序?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class SnakeGame extends JFrame implements KeyListener{
private int stat=1,direction=0,bodylen=6,headx=7,heady=8,
tailx=1,taily=8,tail,foodx,foody,food;//初始化定义变量
public final int EAST=1,WEST=2,SOUTH=3,NORTH=4;//方向常量
int [][] fillblock=new int [20][20];//定义蛇身所占位置
public SnakeGame() {//构造函数
super("贪吃蛇");
setSize(510,510);
setVisible(true);//设定窗口属性
addKeyListener(this);//添加监听
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for(int i=1;i<=7;i++) fillblock[i][8]=EAST;//初始化蛇身属性
direction=EAST;//方向初始化的设置
FoodLocate(); //定位食物
while (stat==1){
fillblock[headx][heady]=direction;
switch(direction){
case 1:headx++;break;
case 2:headx--;break;
case 3:heady++;break;
case 4:heady--;break;
}//蛇头的前进
if(heady>19||headx>19||tailx>19||taily>19||heady<0||headx<0||tailx<0||taily<0||fillblock[headx][heady]!=0){
stat=0;
break;
} //判断游戏是否结束
try{
Thread.sleep(150); }
catch(InterruptedException e){}//延迟
fillblock[headx][heady]=direction;
if(headx==foodx&&heady==foody){//吃到食物
FoodLocate();
food=2;
try{
Thread.sleep(100); }
catch(InterruptedException e){}//延迟
}
if(food!=0)food--;
else{tail=fillblock[tailx][taily];
fillblock[tailx][taily]=0;//蛇尾的消除
switch(tail){
case 1:tailx++;break;
case 2:tailx--;break;
case 3:taily++;break;
case 4:taily--;break;
}//蛇尾的前进
}
repaint();
}
if(stat==0)
JOptionPane.showMessageDialog(null,"GAME OVER","Game Over",JOptionPane.INFORMATION_MESSAGE);
}
public void keyPressed(KeyEvent e) {//按键响应
int keyCode=e.getKeyCode();
if(stat==1) switch(keyCode){
case KeyEvent.VK_UP:if(direction!=SOUTH) direction=NORTH;break;
case KeyEvent.VK_DOWN:if(direction!=NORTH)direction=SOUTH;break;
case KeyEvent.VK_LEFT:if(direction!=EAST)direction=WEST;break;
case KeyEvent.VK_RIGHT:if (direction!=WEST)direction=EAST;break;
}
}
public void keyReleased(KeyEvent e){}//空函数
public void keyTyped(KeyEvent e){} //空函数
public void FoodLocate(){//定位食物坐标
do{
Random r=new Random();
foodx=r.nextInt(20);
foody=r.nextInt(20);
}while (fillblock[foodx][foody]!=0);
}
public void paint(Graphics g){//画图
super.paint(g);
g.setColor(Color.BLUE);
for(int i=0;i<20;i++)
for(int j=0;j<20;j++)
if (fillblock[i][j]!=0)
g.fillRect(25*i+5,25*j+5,24,24);
g.setColor(Color.RED);
g.fillRect(foodx*25+5,foody*25+5,24,24);
}
public static void main(String[] args) {//主程序
SnakeGame application=new SnakeGame();
}
}
制作网站需要什么软件?
自助网站制作在近几年已经非常流行,个人可以自己制作网站来建立博客,吸引粉丝;企业可以建立网站来展示形象,增加订单。挑选自助建站平台的时候,可以参考以下几个维度:
1.建站方式
有的建站系统是开源的,可以让你自己写代码编辑,这种可以让你做出个性化的功能,但是难度较高,并不适合小白。还有一种是模板类建站系统,开发商做好现成的网站模板,你只需选个模板再修改下文字、图片、添加自己需要的功能版块(或插件)就好。
总的来说,后一种目前比价常见,也更适合新手,所以如果你是个不懂技术的小白,那么尽量还是用模板类建站系统,比如「上线了」就是如此,新手直接套用模板就能快速生成一个网站。
2.成本
新手要尽量找性价比高的建站软件,避免吃亏。那么网站制作需要多少钱呢?其实建站软件其实没有统一的价格标准,你需要的功能和网站空间越多,那么价格越高;需要的功能和网站空间越少,那么价格越低。不过总体来说,价格都在免费、几百到小几千之间。如果超过这个区间,那你可能就吃亏了。
3.便捷程度
网站做好后,大部分建站者都会有修改的需求,如果网站修改太麻烦,浪费很多时间,那就不值得选择。大家要尽量找方便快捷的建站软件,比如「上线了」,除了PC端可以建站外,还可以用网站制作app,下载它的APP就能通过手机网站制作快速编辑网站,非常方便。
4.能否助力引流
建立一个网站,引流、吸引粉丝是很重要的目的,因此网站质量不能太低。这就需要用模板设计感强、基础功能丰富的建站软件,比如「上线了」,模板简洁现代风,符合当下审美潮流,能让网站有个很好的展示效果;同时各种功能也丰富,除了商城、博客、相册、产品展示、留言表单……等基础功能,你还可以利用“多语言网站”,打造多个语言的不同网站来为自己引流,这样曝光量和获取的流量肯定要比只有一个中文网站多。你的网站也能美观且高大上起来。
以上,希望对你有帮助。