📄 five.java
字号:
{
powerP[k1][i2] = 0;
powerC[k1][i2] = 0;
comboP[k1][i2] = 0;
comboC[k1][i2] = 0;
}
}
}
public void ThreadStart()
{
(new Thread(this)).start();
}
public void run()
{
try
{
switch(GameState)
{
case 0: // '\0'
Thread.sleep(2000L);
dialog.setVisible(true);
GameState = 2;
repaint();
break;
case 3: // '\003'
repaint();
Thread.sleep(1500L);
ReStart();
repaint();
break;
}
}
catch(InterruptedException interruptedexception) { }
}
@SuppressWarnings("unchecked")
public void setMark(int i, int j)
{
StepCount++;
steps.add(grids[i][j]);
grids[i][j].setValue(-1);
flag[i][j] = "2";
turn = true;
WinCheck(false);
for(int k = 0; k < length; k++)
{
for(int l = boarder; l >= 0; l--)
System.out.print((new StringBuilder()).append(flag[k][l]).append(" ").toString());
System.out.print(" | ");
for(int i1 = boarder; i1 >= 0; i1--)
System.out.print((new StringBuilder()).append(powerC[k][i1] + powerP[k][i1]).append(" ").toString());
System.out.print("\n");
}
System.out.print("================================\n");
}
public void paint(Graphics g)
{
super.paint(g);
switch(GameState)
{
case 1: // '\001'
default:
break;
case 0: // '\0'
g.drawString("2007.11 by SUNNY ", 93, 330);
g.setFont(font);
g.setColor(Color.BLUE);
g.drawString("五子棋", 110, 100);
g.drawImage(title,120,230, this);
break;
case 2: // '\002'
case 3: // '\003'
g.drawString("玩家: 电脑:", 100, 46);
g.drawImage(black, 132, 36, this);
g.drawImage(white, 182, 36, this);
if(winner != 0)
{
g.setFont(font);
g.setColor(Color.RED);
message = winner != 1 ? "你输了" : "你赢了";
g.drawString(message, 120, 215);
}
break;
}
}
public void undo()
{
if(StepCount == 0 || StepCount - 1 <= 0)
return;
for(int i = 0; i < 2; i++)
{
((Grid)steps.get(steps.size() - 1)).Initial();
steps.remove(steps.size() - 1);
}
StepCount--;
}
ClassLoader cl;
Toolkit tk;
int length;
int GameState;
int winner;
int check;
int step;
int StepCount;
int grid[][];
int boarder;
int powerP[][];
int powerC[][];
String flag[][];
String line;
int comboP[][];
int comboC[][];
int locX;
int locY;
int menX;
int menY;
int count;
int x;
int y;
int displace_x;
int displace_y;
int direction;
@SuppressWarnings("unchecked")
ArrayList steps;
int dir[][] = {
{
-1, -1
}, {
-1, 0
}, {
-1, 1
}, {
0, -1
}, {
0, 1
}, {
1, -1
}, {
1, 0
}, {
1, 1
}
};
boolean dir2[];
boolean turn;
String message;
final JDialog dialog = new JDialog(this, "请选择", true);
Font font;
Grid grids[][];
Image white;
Image black;
Image title;
Image board;
Image temp;
JPanel boardPanel;
JPanel bigpanel;
static final int Start = 0;
static final int Select = 1;
static final int Playing = 2;
static final int End = 3;
static final int nil = -1;
static final int oblique_1 = 0;
static final int oblique_2 = 1;
static final int horizontal = 2;
static final int vertical = 3;
@SuppressWarnings("unused")
private class FiveGrid extends JPanel
implements MouseListener
{
@SuppressWarnings("unchecked")
public void mousePressed(MouseEvent mouseevent)
{
if(GameState == 2)
{
int i = mouseevent.getButton();
if(i == 1)
{
if(value == 0)
{
menX = x;
menY = y;
steps.add(this);
setValue(1);
WinCheck(true);
flag[x][y] = "1";
if(GameState == 2)
if(StepCount == 0)
{
FiveRandom();
} else
{
turn = false;
FiveAI();
if(!turn)
FiveRandom();
}
}
} else
if(steps.size() != 0)
undo();
}
}
public void mouseEntered(MouseEvent mouseevent)
{
if(GameState == 2)
setSelected(true);
}
public void mouseExited(MouseEvent mouseevent)
{
if(GameState == 2)
setSelected(false);
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public void mouseReleased(MouseEvent mouseevent)
{
}
public Dimension getPreferredSize()
{
return new Dimension(20, 20);
}
public Dimension getMinimumSize()
{
return getPreferredSize();
}
public int getLocX()
{
return x;
}
public int getLocY()
{
return y;
}
public int getValue()
{
return value;
}
public void Initial()
{
value = grid[x][y] = 0;
flag[x][y] = "0";
powerP[x][y] = 0;
powerC[x][y] = 0;
selected = false;
repaint();
}
public void setValue(int i)
{
locX = x;
locY = y;
value = grid[x][y] = i;
repaint();
}
public void setSelected(boolean flag)
{
selected = flag;
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(GameState != 0 && GameState != 1)
g.drawImage(board, 0, 0, this);
if(value != 0)
{
temp = value != 1 ? white : black;
g.drawImage(temp, 4, 4, this);
}
}
int x;
int y;
int value;
boolean selected;
public FiveGrid(int i, int j)
{
super();
x = i;
y = j;
addMouseListener(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -