摇摆游戏攻略网

关闭导航
首页 > 棋牌益智 > 游戏攻略2

想用Java做五子棋游戏而且是多线程的应该怎么做

整理:yaobaiwang.com 时间:07月08日

[JAVA设计的五子棋源程序]java编写五子棋程序:import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; import java.util.*; class PaintPanel extends JPanel...+阅读

想用Java做五子棋游戏而且是多线程的应该怎么做

直接上程序吧://wuziqi.java import java.applet.Applet;import java.awt.Button;import java.awt.Checkbox;import java.awt.CheckboxGroup;import java.awt.Color;import java.awt.Graphics;import java.awt.Label;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionListener; SuppressWarnings("serial")public class wuziqi extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener { int color_Qizi=0;//旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;//游戏开始标志 0未开始 1游戏中 int intGame_Body[][]=new int[16][16]; //设置棋盘棋子状态 0 无子 1 白子 2 黑子 Button b1=new Button("游戏开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[2]; CheckboxGroup ckgHB=new CheckboxGroup(); public void init() { setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=new Checkbox("白子先",ckgHB,false); ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=new Checkbox("黑子先",ckgHB,false); ckbHB[1].setBounds(380,20,60,30); add(ckbHB[0]); add(ckbHB[1]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,130,80,30); Game_start_csh(); } public void itemStateChanged(ItemEvent e) { if (ckbHB[0].getState()) //选择黑子先还是白子先 { color_Qizi=0; } else { color_Qizi=1; } } public void actionPerformed(ActionEvent e) { SuppressWarnings("unused")Graphics g=getGraphics(); if (e.getSource()==b1) { Game_start(); } else { Game_re(); } } public void mousePressed(MouseEvent e){} SuppressWarnings("unused")public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()300 || e.getY()300) { return; } if (x1%20>10) { x1+=20; } if(y1%20>10) { y1+=20; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseDragged(MouseEvent e){} public void mouseMoved(MouseEvent e){} public void paint(Graphics g) { draw_qipan(g); } public void set_Qizi(int x,int y) //落子 { if (intGame_Start==0) //判断游戏未开始 { return; } if (intGame_Body[x/20][y/20]!=0) { return; } Graphics g=getGraphics(); if (color_Qizi==1)//判断黑子还是白子 { g.setColor(Color.black); color_Qizi=0; } else { g.setColor(Color.white); color_Qizi=1; } g.fillOval(x-10,y-10,20,20); intGame_Body[x/20][y/20]=color_Qizi+1; if (Game_win_1(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_2(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_3(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_4(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } } public String Get_qizi_color(int x) { if (x==0) { return "黑子"; } else { return "白子"; } } public void draw_qipan(Graphics G) //画棋盘 15*15 { G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i

java五子棋课程设计

呵呵,代码自己测试:import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.awt.Color; public class enzit extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener { int color_Qizi=0;//旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;//游戏开始标志 0未开始 1游戏中 int intGame_Body[][]=new int[16][16]; //设置棋盘棋子状态 0 无子 1 白子 2 黑子 Button b1=new Button("游戏开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[2]; CheckboxGroup ckgHB=new CheckboxGroup(); public void init() { setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=new Checkbox("白子先",ckgHB,false); ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=new Checkbox("黑子先",ckgHB,false); ckbHB[1].setBounds(380,20,60,30); add(ckbHB[0]); add(ckbHB[1]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,130,80,30); Game_start_csh(); } public void itemStateChanged(ItemEvent e) { if (ckbHB[0].getState()) //选择黑子先还是白子先 { color_Qizi=0; } else { color_Qizi=1; } } public void actionPerformed(ActionEvent e) { Graphics g=getGraphics(); if (e.getSource()==b1) { Game_start(); } else { Game_re(); } } public void mousePressed(MouseEvent e){} public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()300 || e.getY()300) { return; } if (x1%20>10) { x1+=20; } if(y1%20>10) { y1+=20; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseDragged(MouseEvent e){} public void mouseMoved(MouseEvent e){} public void paint(Graphics g) { draw_qipan(g); } public void set_Qizi(int x,int y) //落子 { if (intGame_Start==0) //判断游戏未开始 { return; } if (intGame_Body[x/20][y/20]!=0) { return; } Graphics g=getGraphics(); if (color_Qizi==1)//判断黑子还是白子 { g.setColor(Color.black); color_Qizi=0; } else { g.setColor(Color.white); color_Qizi=1; } g.fillOval(x-10,y-10,20,20); intGame_Body[x/20][y/20]=color_Qizi+1; if (Game_win_1(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_2(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_3(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_4(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } } public String Get_qizi_color(int x) { if (x==0) { return "黑子"; } else { return "白子"; } } public void draw_qipan(Graphics G) //画棋盘 15*15 { G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i

JAVA五子棋用到的知识点以及方法类有哪些

我是把棋子放到2维数组里,1表示白旗,2表示黑棋,0表示空。判断输赢的话,只要判断数组有5个连续的数就行了,分为从上到下,从左到右,从左上到右下,从右上到左下判断。我这个程序没有及时和围棋功能,不过你自己改一下应该可以的。。-----------------------------------------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;i330 + 25 ||y330+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

以下为关联内容:

谁能帮我写一个JAVA人人对战的五子棋java五子棋人机:package com.java.demo1; import javax.swing.* ; import java.awt.*; import java.awt.event.*;/** * 自定义五子棋棋盘面板类 * */ public class Gobang ext...

JAVA五子棋java五子棋程序解释:你好!这里有段五子棋程序的代码,希望对你有帮助! //wuziqi.java import java.applet.*; import java.awt.*; import java.awt.event.*; import java.applet....

五子棋JAVA怎么实现java编写五子棋程序:import java.io.*; public class Gobang{ //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 private static int BOARD_SIZE =...

java游戏!类型吃宝石五子棋很久以前有剧情的那个要见我只有五子棋。import java.awt.*; import java.awt.event.*; class ChessPad extends Panel implements MouseListener,ActionListener { int x = -1, y = -1, chessColor...

漂亮的JAVA水晶五子棋java中的五子棋:import java.awt.*; import java.awt.event.*; class ChessPad extends Panel implements MouseListener,ActionListener { int x = -1, y = -1, chessColor...

java五子棋java五子棋怎么判断输赢:我有82237475import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.util.*; class clientThread extend...

一个五子棋游戏的java程序跪JAVA五子棋源代码:import java.awt.*; import java.awt.event.*; class ChessPad extends Panel implements MouseListener,ActionListener { int x = -1, y = -1, chessCo...

我想用JAVA编一个五子棋但是不会编电脑下棋的代码了请高手指java怎样写一个15 15的五子棋界面:搜索算法实现描述 注意下面的核心的算法中的变量currentBoardSituation,表示当前机器最新的盘面情况, CountList表示第一层子节点可以选择的...

用简单的java语言编写五子棋有关五子棋的程序设计问题好的追加:import java.applet.*; import java.awt.*; import java.awt.event.*; import java.applet.applet; import java.awt.color; public class...

推荐文章