📄 tq.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import java.util.*;
////////////////////////////////////////////////
public class TQ extends Applet{
/////////////////////////////////////////////Variers initiate
int x_pos=330,y_pos=25,radius=15;
int Player_Num=2;
int User_To_Move=0;
double length=45;
boolean Moveable=false;
boolean Change=false;
boolean error=false;
boolean noWinner=true;
boolean isStart=true;
ID id1=new ID();
ID id2=new ID();
Image offImage;
Graphics gr;
Image TQ_Image;
AudioClip Move_sound;
AudioClip Warning_sound;
AudioClip Winner_sound;
TextArea Centre_pos;
Stack stack=new Stack();
USER user[]=new USER[6];
Table table[][]=new Table[17][13];
Chess chess[][]=new Chess[6][10];
Chess chess1[]=new Chess[10];
// frame f;
/////////////////////////////////////////////////
public void init(){
// f=new frame("PlarImformation");
offImage=createImage(700,700);
gr=offImage.getGraphics();
Move_sound=getAudioClip(getDocumentBase(),"CRACKER5.WAV");
Warning_sound=getAudioClip(getDocumentBase(),"WARNING.WAV");
Winner_sound=getAudioClip(getDocumentBase(),"Winner_sound.WAV");
TQ_Image=getImage(getDocumentBase(),"tq.gif");
setLayout(null);
Centre_pos=new TextArea(100,50);
Centre_pos.setBackground(Color.pink);
Centre_pos.setForeground(Color.blue);
Centre_pos.setFont(new Font("TimesRoman",Font.ITALIC,14));
Centre_pos.setEditable(false);
Centre_pos.setBounds(625,2,200,300);
add(Centre_pos);
table=new Table[17][13];
table=Table.initTable();
user[0]=new USER(1,1);
chess[0]=Chess.initChess(TQ_Color.getColor(0),user[0],table);
user[1]=new USER(1,4);
chess[1]=Chess.initChess(TQ_Color.getColor(3),user[1],table);
/* for(int k=0;k<Player_Num;k++){
user[k]=new USER(k+1,k+1);
chess[k]=Chess.initChess(TQ_Color.getColor(k),user[k],table);
}*/
}
/////////////////////////////////////////////
public void paint(Graphics g){
g.drawImage(TQ_Image,0,0,this);
for(int i=0;i<Player_Num;i++){
for(int j=0;j<10;j++){
Table t=chess[i][j].getBelongTab();
int x=t.getPosition().width;
int y=t.getPosition().height;
g.setColor(chess[i][j].getColor());
g.fillOval(x-radius,y-radius,2*radius,2*radius);
}
}
}
///////////////////////////////////////////
public boolean mouseDown(Event evt,int x,int y){
if(Moveable==false||error==true){
id1=ID.changeToID(new Dimension(x,y));
int i=table[id1.getY()][id1.getX()].getState();
if(table[id1.getY()][id1.getX()].getState()==0){
Warning_sound.play();
Centre_pos.append("There is no chess here\n");
}
else if(table[id1.getY()][id1.getX()].getBelongChess().getUser()!=user[User_To_Move]){
// Centre_pos.append("Sorry!It's not your chess!\n");
Warning_sound.play();
// Centre_pos.append("have being done"+"\n");
}
else{
Moveable=true;
// table[id1.getY()][id1.getX()].getBelongChess().set
if(error==true)
error=false;
// Centre_pos.append(id1.toString()+"debugging:choice is yes"+"\n");
}
// Centre_pos.append("after done" +" error="+error+" Moveable="+Moveable+"\n");
}
else if(Moveable==true/*&&noWinner==true*/){
id2=ID.changeToID(new Dimension(x,y));
int i=table[id2.getY()][id2.getX()].getState();
if(Moveable==true&&table[id2.getY()][id2.getX()].getState()!=0){
Warning_sound.play();
Centre_pos.append("There is a chess here!you can not put here!\n");
error=true;
}
else if(table[id2.getY()][id2.getX()].getState()==0&&ID.search(id1,id2,table)==true&&error==false){
table[id2.getY()][id2.getX()].setBelongChess
(table[id1.getY()][id1.getX()].getBelongChess());
// Centre_pos.append("table statement"+table[id2.getY()][id2.getX()].getState()+"\n");
(table[id1.getY()][id1.getX()].getBelongChess()).setBelongTab(table[id2.getY()][id2.getX()]);
Moveable=false;
table[id2.getY()][id2.getX()].setState(/*User_To_Move+*/1);
table[id1.getY()][id1.getX()].setState(0);
// Centre_pos.append("table statement"+table[id2.getY()][id2.getX()].getState()+"\n\n");
Change=true;
// Centre_pos.append(id2.toString()+"\n");
}
i=table[id2.getY()][id2.getX()].getState();
}
if(Change==true&&noWinner==true){
int x0=ID.changeToPos(id1).width;
int y0=ID.changeToPos(id1).height;
repaint(x0-radius,y0-radius,2*radius,2*radius);
x0=ID.changeToPos(id2).width;
y0=ID.changeToPos(id2).height;
repaint(x0-radius,y0-radius,2*radius,2*radius);
Move_sound.play();
if(user[User_To_Move].isWinner(table)==true/*&&isStart==false*/){
Centre_pos.setText("Congratulations!\nWinner is Player("+(User_To_Move+1)+")!");
Winner_sound.loop();
// noWinner=false;
}
// if(noWinner==true){
User_To_Move=(User_To_Move+1)%Player_Num;
Centre_pos.setText("Now is Player "+(User_To_Move+1)+" Playing\n");
repaint();
/* isStart=false;*/
Change=false;
// }
}
return true;
}
////////////////////////////////////////////////////////////////////
public void update(Graphics g){
gr.drawImage(TQ_Image,0,0,this);
for(int i=0;i<Player_Num;i++)
for(int j=0;j<10;j++){
Table t=chess[i][j].getBelongTab();
int x=t.getPosition().width;
int y=t.getPosition().height;
gr.setColor(chess[i][j].getColor());
gr.fillOval(x-radius,y-radius,2*radius,2*radius);
}
g.drawImage(offImage,0,0,this);
}
}
/*class frame extends Frame implements ActionListener,WindowListener{
private int Player;
TextField NUM;
Button Certain;
frame(String str){
super(str);
setSize(200,100);
NUM=new TextField("6");
Certain=new Button("Ceitain");
add(NUM);
add(Certain);
setVisible(true);
// Certain.addActionListaner(this);
addWindowListener(new WindowAdapter()
{ public void WindowClosing(WindowEvent e)
{ setVisible(false); System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e){
}
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -