求一个能直接在eclipse运行的java五子棋游戏,越简单越好。最好带程序解释。 sj1205@gmail.com

能把代码 **.java的文件发到我邮箱里么?

第1个回答  2010-10-31
import java.util.Scanner;

public class NewFiveChess {

public static void main(String[] args) {
//新建棋局
char[][] state = new char[14][14];
for(int i=0;i<state.length;i++){
for(int j=0;j<state[i].length;j++){
state[i][j] = '*';
}
}
printState(state);
boolean isBlack = true;//表示当前为黑方下子
Scanner sca=new Scanner(System.in);
while(true){
System.out.println("请"+(isBlack?"黑":"白")+"方下子:");
String input = sca.next();
if("exit".equals(input)){
break;
}
int x = input.charAt(0) - 'a';
int y = input.charAt(1) - 'a';
if(state[x][y]=='@' || state[x][y]=='0'){//表示该位置已经有棋子了
System.out.println("该位置已经有棋子了,请重新下子!");
continue;
}
state[x][y]=(isBlack?'@':'O');
printState(state);
//isWin();
isBlack = !isBlack;//一方下完后切换为另一方下子
}
}
private static void printState(char[][] state){
for(int i=0;i<state.length;i++){//输出每一行的内容
System.out.print((char)('a'+i)+" ");//输出行坐标(左边的字母)
for(int j=0;j<state[i].length;j++){//输出该行的内容
System.out.print(state[i][j]+" ");
}
System.out.print("\n");//输出换行符
}

System.out.print(" ");//输出第一行开头的空格
for(int i=0;i<state[0].length;i++){//输出第一行的所有字母
System.out.print((char)('a'+i)+" ");
}
System.out.print("\n");//输出换行符
}
}
第2个回答  2010-10-31
---------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class mypanel extends Panel implements MouseListener
{
int chess[][] = new int[11][11];
boolean Is_Black_True;
mypanel()
{
Is_Black_True = true;
for(int i = 0;i < 11;i++)
{
for(int j = 0;j < 11;j++)
{
chess[i][j] = 0;
}
}
addMouseListener(this);
setBackground(Color.BLUE);
setBounds(0, 0, 360, 360);
setVisible(true);
}
public void mousePressed(MouseEvent e)
{
int x = e.getX();
int y = e.getY();

if(x < 25 || x > 330 + 25 ||y < 25 || y > 330+25)
{
return;
}
if(chess[x/30-1][y/30-1] != 0)
{
return;
}
if(Is_Black_True == true)
{
chess[x/30-1][y/30-1] = 1;
Is_Black_True = false;
repaint();
Justisewiner();
return;
}
if(Is_Black_True == false)
{
chess[x/30-1][y/30-1] = 2;
Is_Black_True = true;
repaint();
Justisewiner();
return;
}
}
void Drawline(Graphics g)
{
for(int i = 30;i <= 330;i += 30)
{
for(int j = 30;j <= 330; j+= 30)
{
g.setColor(Color.WHITE);
g.drawLine(i, j, i, 330);
}
}

for(int j = 30;j <= 330;j += 30)
{
g.setColor(Color.WHITE);
g.drawLine(30, j, 330, j);
}

}
void Drawchess(Graphics g)
{
for(int i = 0;i < 11;i++)
{
for(int j = 0;j < 11;j++)
{
if(chess[i][j] == 1)
{
g.setColor(Color.BLACK);
g.fillOval((i + 1) * 30 - 8, (j + 1) * 30 - 8, 16, 16);
}
if(chess[i][j] == 2)
{
g.setColor(Color.WHITE);
g.fillOval((i + 1) * 30 - 8, (j + 1) * 30 - 8, 16, 16);
}
}
}
}
void Justisewiner()
{
int black_count = 0;
int white_count = 0;
int i = 0;

for(i = 0;i < 11;i++)//横向判断
{
for(int j = 0;j < 11;j++)
{
if(chess[i][j] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i][j] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}

for(i = 0;i < 11;i++)//竖向判断
{
for(int j = 0;j < 11;j++)
{
if(chess[j][i] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[j][i] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}

for(i = 0;i < 7;i++)//左向右斜判断
{
for(int j = 0;j < 7;j++)
{
for(int k = 0;k < 5;k++)
{
if(chess[i + k][j + k] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i + k][j + k] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
}

for(i = 4;i < 11;i++)//右向左斜判断
{
for(int j = 6;j >= 0;j--)
{
for(int k = 0;k < 5;k++)
{
if(chess[i - k][j + k] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i - k][j + k] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
}

}
void Clear_Chess()
{
for(int i=0;i<11;i++)
{
for(int j=0;j<11;j++)
{
chess[i][j]=0;
}
}
repaint();
}
public void paint(Graphics g)
{
Drawline(g);
Drawchess(g);
}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseClicked(MouseEvent e){}

}

class myframe extends Frame implements WindowListener
{
mypanel panel;
myframe()
{
setLayout(null);
panel = new mypanel();
add(panel);
panel.setBounds(0,23, 360, 360);
setTitle("单人版五子棋");
setBounds(200, 200, 360, 383);
setVisible(true);
addWindowListener(this);

}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowDeactivated(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowOpened(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
}
public class mywindow
{
public static void main(String argc [])
{
myframe f = new myframe();
}
}本回答被提问者采纳

急需基于eclipse的JAVA小游戏源代码!!!
单人版五子棋,不用导入,直接新建一个mywindow类就行,然后把一下代码粘贴就Ok了。或者,直接用dos就可以了。。--- import java.awt.*;import java.awt.event.*;import javax.swing.*;class mypanel extends Panel implements MouseListener { int chess[][] = new int[11][11];boolean Is_Bl...

java五子棋 程序解释
import java.awt.*;import java.awt.event.*;\/\/构造applet程序 public class 五子棋 extends Applet implements ActionListener,MouseListener { String str="五子棋游戏!";Dimension currentPos=new Dimension(); \/\/实例化 像素 int zuobiao[][]=new int[19][15]; \/\/声明一个19*15的棋盘 i...

大神们 急求基于eclipse的java小游戏程序的源码,程序不要多复杂啊。像...
import java.util.Scanner;public class Wuziqi { \/ 棋盘 \/ private final int[][] qipan;\/ 步数 \/ private int bushu;\/ 构造方法,设置棋盘规格 param x param y \/ public Wuziqi(int x, int y) { if (x < 1 || y < 1) { System.out.println("棋盘规格应不小于1,使用默认规格")...

java五子棋程序为什么不能运行
启动的位置应该不对!这里也看不到全部的代码,但是swing开发的软件,启动类里一般会有一个main方法,main方法里创建一个jframe。运行这个main方法就可以启动了!还找不到,可以贴代码上来,我来看看!

java简单代码小游戏?
5、编写好的java程序(*.java),首先要用javac.exe编译成为字节码文件(*.class),然后使用java.exe来执行。建议你下载一个eclipse,用集成开发环境,这个比较方便。求一个简单的JAVA游戏代码,100行左右,谢谢!下面是一个可能的Java源代码,它包含了一个接口(Shape)和五个类(Circle,Rectangle,Triangle...

h5游戏开发需要学什么软件好一点(h5游戏开发需要学什么软件好一点...
1游戏开发需要学Java编程。因为游戏一般都是用Java编辑的。2但是AV存在一个困难点,就是他比较难学。所以需要经过大量的学习才可以熟练使用。3如果你想学习游戏开发,那么这门是必修课,必须认真的学。四、软件开发需要学什么知识?软件开发分很多种,看你将来从事哪种开发了客户端开发的话,最好是C语言,C++,C#和VB有...

请给出常用应用程序所用的端口
(建议在其它端口运行ssh)。还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632(十六进制的0x1600)位交换后是0x0016(使进制的22)。 23 Telnet ...

相似回答