📄 yishen.java
字号:
import java.util.*;
import java.awt.*;
import com.sun.corba.se.impl.orbutil.graph.Graph;
public class Yishen {
public static LinkedList<Block> blocks = new LinkedList<Block>();
private static heads b = null;
private Direction dir;
private int x,y;
private static boolean Colorchanger = true;
private Color c1,c2;
private Snake s;
private boolean pasue = false;
private boolean live = true;
public Yishen(Color c1,Color c2,heads h){
this.c1 = c1;
this.c2 = c2;
b = h;
}
public void draw(Graphics g){
if(!live){
blocks = new LinkedList<Block>();
return;
}
for(int i=0;i<blocks.size();i++){
blocks.get(i).Draw(g);
}
move(pasue);
}
public boolean pongBlood(Blood b){
if(live){
for(int i=0;i<blocks.size();i++){
if(b.getRect().intersects(blocks.get(i).getRect()))
return true;
}
}
return false;
}
public void add(){
if(blocks.size()==0){
x = b.getOldx();
y = b.getOldy();
}
else{
x = blocks.getLast().x;
y = blocks.getLast().y;
}
if(Direction.U == dir){
y += 20;
}
if(Direction.D == dir){
y -= 20;
}
if(Direction.L == dir){
x += 20;
}
if(Direction.R == dir){
x -= 20;
}
if(0==blocks.size()%2)
blocks.addLast(new Block(x ,y ,c1));
else
blocks.addLast(new Block(x ,y ,c2));
}
public Rectangle getRect() {
return new Rectangle(x, y, Blood.BloodSize , Blood.BloodSize);
}
public void move(boolean pasue){
if(!pasue){
if(Colorchanger){
Block b1 = new Block(b.getOldx(),b.getOldy(),c1);
blocks.addFirst(b1);
blocks.removeLast();
Colorchanger = false;}
else {
Block b1 = new Block(b.getOldx(),b.getOldy(),c2);
blocks.addFirst(b1);
blocks.removeLast();
Colorchanger = true;}
}
}
public boolean isLive() {
return live;
}
public void setLive(boolean live) {
this.live = live;
}
public boolean isPasue() {
return pasue;
}
public void setPasue(boolean pasue) {
this.pasue = pasue;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -