当前位置:首页 > 代码 > 正文

eclipse五子棋代码思路(eclipse五子棋小游戏代码)[20240501更新]

admin 发布:2024-05-01 19:20 116


今天给各位分享eclipse五子棋代码思路的知识,其中也会对eclipse五子棋小游戏代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java五子棋源代码判断输赢,希望帮忙指出错误并完善

判断5子连珠的方法

1:X相同

Y等差1

2:Y相同

X等差1

3:XY都等差1

假设你你确实是按照XY做的,那么,你将黑子的XY放在数组(ListINT,INT)里,白子也是。

没落完一子

对数组里的进行排序,先按照X排,然后按照Y排。每次只需要排最后一个就好了(可以不用LIST,其他方式也行。)。

判断结果

1:是否有5个差为1/0的X

2:是否有5个差为1/0的Y

1

2都满足,即获胜。

求五子棋C语言AI算法(原创思路)

我有个简单的思路: 先定义一条线上棋子的各种布局,比如初步定义长度为五个子 ◎◎◎◎● ◎◎●◎× ◎●◎×× ◎×◎×◎ 等等。白圈是自己的子,黑圈是对方的子,叉子是未走的格子。 程序里有个布局表,再定义各个布局的分数,比如连五最99分,连三30分等等。 ...

用eclipse开发一个五子棋的小游戏,现在在layout里添加了一个重新开始的按钮,求按钮的代码

//运行代码很简单:在eclipse的项目中新建一个类Five.java把下面的代码放入该类即可//游戏运行:上下左右键控制方向,enter键确定棋子落定之处,黑白交替执行importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/** *借鉴别人的。。。 */publicclassFiveextendsKeyAdapter{ booleanstart=false; JFrameframe; ThreadtimerThread; inth,l;//定义变量 intpans[][]=newint[11][11];//变量初始值 intgbx=5; intgby=5; intziShu=0; intshui=0; Five(){ frame=newJFrame("五子棋"); frame.getContentPane().add(newScreen()); frame.addKeyListener(this); frame.setSize(12*40+5*2,12*40+22+5*2+100);//窗口大小 frame.setVisible(true); frame.repaint(); frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } });//关闭窗体 } publicvoidkeyPressed(KeyEventevt){ switch(evt.getKeyCode()){ caseKeyEvent.VK_ENTER: if(ziShu%2==0)//子数来判断谁赢 { heiXia(); }else{ baiXia(); } shui=shuiYing(); break; caseKeyEvent.VK_ESCAPE: System.exit(1); break; caseKeyEvent.VK_LEFT: guangBiaoDong(-1,0);//光标动的坐标 break; caseKeyEvent.VK_RIGHT: guangBiaoDong(1,0);//光标动的坐标 break; caseKeyEvent.VK_DOWN: guangBiaoDong(0,1);//光标动的坐标 break; caseKeyEvent.VK_UP: guangBiaoDong(0,-1);//光标动的坐标 break; } frame.repaint();}@SuppressWarnings("serial")classScreenextendsJComponent{ publicvoidpaint(Graphicsg){ Graphics2Dg2d=(Graphics2D)g; xianShi(g2d);//画图 }}publicstaticvoidmain(String[]args){ newFive();} voidxianShi(Graphics2Dg2d)//显示 { xianShiQiPan(g2d);//显示棋盘 xianShiQiZis(g2d);//显示旗子 xianShiGuangBiao(g2d);//显示光标 g2d.setFont(newFont("STXingkai",1,30));//0708第二小组 g2d.setColor(Color.black); g2d.drawString("欢乐五子棋Java版",280,580); g2d.setFont(newFont("stCaiyun",1,40)); if(shui==0)//判断 { g2d.setColor(Color.black); xianShiTiShiXia(g2d);//显示谁下棋 }else{ g2d.setColor(Color.black); xianShiTiShiYing(g2d);//显示谁赢棋 } } voidguangBiaoDong(intfangX,intfangY)////光标动 { if(gbx+fangX10||gbx+fangX10||gby+fangY=0kanx+fx=0kany+fy=0kanx-fx=0kany-fy=5?pans[gby][gbx]:0); }};运行结果:

用eclipse编写一个基于java的五子棋(与电脑对弈)

基于java的五子棋:

主要功能代码如下:

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Main extends JFrame implements ActionListener{

        private static final long serialVersionUID = 1L;

        JButton[][] point=new JButton[40][40];

        int[][] state=new int[40][40];

        int[][] value=new int[40][40];

        int[] place=new int[2];

        public Main(){

                this.setTitle("五子棋");

                this.setBounds(100,10,1000,1000);

                this.setLayout(new GridLayout(30,30));

                int i,j;

                for(i=0;i=39;i++){

                        for(j=0;j=39;j++){

                                state[i][j]=0;

                                value[i][j]=0;

                        }

                }

                for(i=5;i=34;i++){

                        for (j=5;j=34;j++){

                                point[i][j]=new JButton("");

                                this.add(point[i][j]);

                                point[i][j].addActionListener(this);

                        }

                }

                this.setVisible(true);

        }

        public void actionPerformed(ActionEvent e)

    {

            int i,j;

            for(i=5;i=34;i++){

                    for(j=5;j=34;j++){

                            if(e.getSource()==point[i][j]){

                                    point[i][j].setBackground(Color.RED);

                                    state[i][j]=1;

                                    point[i][j].setEnabled(false);

                                    value[i][j]=0;

                            }

                    }

            }

          

    public static void main(String[] args)throws NullPointerException{

            new Main();

    }

                else if(((state[i][j]==0)(state[i][j+1]==1)(state[i][j+2]==0))||

                                ((state[i][j]==0)(state[i][j-1]==1)(state[i][j-2]==0))||

                                ((state[i][j]==0)(state[i+1][j]==1)(state[i+2][j]==0))||

                                ((state[i][j]==0)(state[i-1][j]==1)(state[i-2][j]==0))||                               //空红空

                                ((state[i][j]==0)(state[i+1][j+1]==1)(state[i+2][j+2]==0))||

                                ((state[i][j]==0)(state[i+1][j-1]==1)(state[i+2][j-2]==0))||

                                ((state[i][j]==0)(state[i-1][j+1]==1)(state[i-2][j+2]==0))||

                                ((state[i][j]==0)(state[i-1][j-1]==1)(state[i-2][j-2]==0))||

                        ((state[i][j]==0)(state[i][j+1]==1)(state[i][j+2]==1)(state[i][j+3]==2))||

                                ((state[i][j]==0)(state[i][j-1]==1)(state[i][j-2]==1)(state[i][j-3]==2))||

                                ((state[i][j]==0)(state[i+1][j]==1)(state[i+2][j]==1)(state[i+3][j]==2))||

                                ((state[i][j]==0)(state[i-1][j]==1)(state[i-2][j]==1)(state[i-3][j]==2))||                            //空红红蓝型

                                ((state[i][j]==0)(state[i+1][j+1]==1)(state[i+2][j+2]==1)(state[i+3][j+3]==2))||

                                ((state[i][j]==0)(state[i+1][j-1]==1)(state[i+2][j-2]==1)(state[i+3][j-3]==2))||

                                ((state[i][j]==0)(state[i-1][j+1]==1)(state[i-2][j+2]==1)(state[i-3][j+3]==2))||

                                ((state[i][j]==0)(state[i-1][j-1]==1)(state[i-2][j-2]==1)(state[i-3][j-3]==2))){

                                value[i][j]=2;

                                return value[i][j];

                }

                else if(((state[i][j]==0)(state[i][j+1]==2)(state[i][j+2]==0))||

                                ((state[i][j]==0)(state[i][j-1]==2)(state[i][j-2]==0))||

                                ((state[i][j]==0)(state[i+1][j]==2)(state[i+2][j]==0))||

                                ((state[i][j]==0)(state[i-1][j]==2)(state[i-2][j]==0))||

                                ((state[i][j]==0)(state[i+1][j+1]==2)(state[i+2][j+2]==0))||

                                ((state[i][j]==0)(state[i+1][j-1]==2)(state[i+2][j-2]==0))||

                                ((state[i][j]==0)(state[i-1][j+1]==2)(state[i-2][j+2]==0))||

                                ((state[i][j]==0)(state[i-1][j-1]==2)(state[i-2][j-2]==0))||

                        ((state[i][j]==0)(state[i][j+1]==2)(state[i][j+2]==2)(state[i][j+3]==1))||

                                ((state[i][j]==0)(state[i][j-1]==2)(state[i][j-2]==2)(state[i][j-3]==1))||

                                ((state[i][j]==0)(state[i+1][j]==2)(state[i+2][j]==2)(state[i+3][j]==1))||

                                ((state[i][j]==0)(state[i-1][j]==2)(state[i-2][j]==2)(state[i-3][j]==1))||

                                ((state[i][j]==0)(state[i+1][j+1]==2)(state[i+2][j+2]==2)(state[i+3][j+3]==1))||

                                ((state[i][j]==0)(state[i+1][j-1]==2)(state[i+2][j-2]==2)(state[i+3][j-3]==1))||

                                ((state[i][j]==0)(state[i-1][j+1]==2)(state[i-2][j+2]==2)(state[i-3][j+3]==1))||

                                ((state[i][j]==0)(state[i-1][j-1]==2)(state[i-2][j-2]==2)(state[i-3][j-3]==1))){

                                value[i][j]=1;

                                return value[i][j];

                }

                else{

                        value[i][j]=0;

                        return value[i][j];

                }

    }

    public int[] largestValue(int[][] value){

            int max,i,j,l,k;

            l=0;k=0;

            max=0;

            for(i=5;i34;i++){

                    for(j=5;j34;j++){

                            if(maxvalue[i][j]){

                                    max=value[i][j];

                                    place[0]=i;

                                    place[1]=j;

                            }

                    }

            }

            return place;

    }

}

运行结果如下图所示:

eclipse编辑五子棋小游戏,按钮重新开始的代码

import java.util.Scanner;public class FiveChessGame {public static void display(char[][] arr) {// 图形显示函数System.out.print(" ");for (char i = '0'; i = 5) {return 1;}} else {count = 0;}}count = 0;for (int i = 0; i = 5) {return 1;}} else {count = 0;}}count = 0;if (a = b) {int j = 0;for (int i = a - b; i = 5) {return 1;}} else {count = 0;j++;}}} else {int j = 0;for (int i = b - a; i = 5) {return 1;}} else {count = 0;j++;}}}int j = a + b;count = 0;if (a + b = 5) {return 1;}} else {count = 0;j--;}}} else {j = 15;for (int i = a + b - 15; i = 5) {return 1;}} else {count = 0;j--;}}}} else {// 判断白色胜int count = 0;for (int i = 0; i = 5) {return 2;}} else {count = 0;}}count = 0;for (int i = 0; i = 5) {return 2;}} else {count = 0;}}count = 0;if (a = b) {int j = 0;for (int i = a - b; i = 5) {return 2;}} else {count = 0;j++;}}} else {int j = 0;for (int i = b - a; i = 5) {return 2;}} else {count = 0;j++;}}}int j = a + b;count = 0;if (a + b = 5) {return 2;}} else {count = 0;j--;}}} else {j = 15;for (int i = a + b - 15; i = 5) {return 2;}} else {count = 0;j--;}}}}return 0;}public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);char[][] arr = new char[16][16];for (int i = 0; i 16; i++)// 二维数组初始化for (int j = 0; j 16; j++)arr[i][j] = '.';display(arr);int i = 0;while (true) {if (i % 2 == 0) {System.out.println("请黑方落子:");String in = sc.next();char c1 = in.charAt(0);char c2 = in.charAt(1);int a = getNum(c1);int b = getNum(c2);if (arr[a][b] != '.') {System.out.println("该位置已经有棋子,请重新输入!");} else {arr[a][b] = '@';display(arr);int result = isWinner('@', arr, a, b);if (result == 1) {System.out.println("黑方获胜!");return;}i++;}} else {System.out.println("请白方落子:");String in = sc.next();char c1 = in.charAt(0);char c2 = in.charAt(1);int a = getNum(c1);int b = getNum(c2);if (arr[a][b] != '.') {System.out.println("该位置已经有棋子,请重新输入!");} else {arr[a][b] = 'O';display(arr);int result = isWinner('O', arr, a, b);if (result == 2) {System.out.println("白方获胜!");return;}i++;}}}}}

关于eclipse五子棋代码思路和eclipse五子棋小游戏代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://www.ahzz.com.cn/post/945.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载