用java做一个五子棋小游戏,双人下五子棋游戏
本文实例为大家分享了爪哇岛实现双人五子棋游戏的具体代码,供大家参考,具体内容如下
通过上下左右控制棋盘走动空格落子(深度优先搜索)
包day _ 1;导入Java。awt。*;导入javax。挥棒。*;导入Java。awt。事件。*;公共类切尔克勒伦扩展JFrame {/* * * */我的面板MP=null公共静态void main(String[]args){ circle run Cr=new circle run();}公圈run(){ MP=new my panel();这个。添加(MP);这个。addkey监听器(MP);this.setTitle(双人五子棋正式版3.0);this.setSize(518,538);//设置窗体大小this.setLocation(340,50);//设置出现的位置这个。设置可见(真);//设置为可见这个。setdefaultcloseoperation(JFrame .EXIT _ ON _ CLOSE);joptionpane。showmessagedialog(this,’双人五子棋游戏说明:通过控制旗子走向,空格下子先满五个子胜利, 游戏说明,JOptionPane .WARNING _ MESSAGE);}//游戏说明}class Text2Frame {//设置一个交互框JTextField jt1=new JTextField();//新建一个文本框JTextArea jt2=new JTextArea();//新建一个文本区JTextArea jt4=new JTextArea();//新建一个文本区text 2 frame(){ JScrollPane JSP=new JScrollPane(jt2);//新建一个滚条字符串标题=正在思考。;JFrame jf=新JFrame(标题);集装箱集装箱=JF。getcontentpane();//容器。设置背景(颜色。黄色);//容器的背景色JF。设置可见(真);//窗体可见jf.setLocation(150,50);jf.setSize(300,150);//窗体大小JF。set layout(new BorderLayout());//边界布局jf.add(BorderLayout .北,jt1);//文本框边界顶部放置jt1。设置背景(颜色。黄色);jf.add(BorderLayout .中心,jt2);//文本框边界中间放置jf.add(BorderLayout .东,jt4);//文本框边界中间放置jt2。设置背景(颜色。红色);jt2.setFont(新字体(宋体,字体。平原,30));} void add(字符串a){ jt2。settext(a);}};class text 3 frame { JTextField jt1=new JTextField();//新建一个文本框JTextArea jt2=new JTextArea();//新建一个文本区JTextArea jt4=new JTextArea();//新建一个文本区text 3 frame(){ JScrollPane JSP=new JScrollPane(jt2);//新建一个滚条字符串标题=当前坐标;JFrame jf=新JFrame(标题);集装箱集装箱=JF。getcontentpane();
// container.setBackground(Color.yellow); //容器的背景色 jf.setVisible(true); // 窗体可见 jf.setLocation(140, 180); jf.setSize(300, 200); // 窗体大小 jf.setLayout(new BorderLayout()); // 边界布局 jf.add(BorderLayout.NORTH, jt1); // 文本框边界顶部放置 jt1.setBackground(Color.yellow); jf.add(BorderLayout.CENTER, jt2); // 文本框边界中间放置 jf.add(BorderLayout.EAST, jt4); // 文本框边界中间放置 jt2.setBackground(Color.green); jt2.setFont(new Font("宋体", Font.PLAIN, 30)); } void add(String a) { jt2.setText(a); } String shu(int a, int b) { return "当前坐标(" + a + "," + b + ")"; } }; // 定义自己的面板class MyPanel extends JPanel implements KeyListener { /** * */ private static final long serialVersionUID = 4154597541232213984L; Text2Frame txw = new Text2Frame(); Text3Frame txw3 = new Text3Frame(); static JFrame sc = new JFrame(); static int jishu = 1; static int summm = 1; static int summm2 = 1; static int arr[][] = new int[11][12]; int x = 5; int y = 5; int sum = 0; int sum2 = 0; Node n1 = new Node(x, y); seqlist kai = new seqlist(n1); seqlist seq = new seqlist(null); seqlist seq2 = new seqlist(null); static void soushang(int a, int b) { if (a - 1 < 1) { return; } if (arr[a - 1][b] == 1 && a - 1 > 0) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } soushang(a - 1, b); } } static void souxia(int a, int b) { if (a + 1 > 10) { return; } if (arr[a + 1][b] == 1 && a + 1 <= 10) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souxia(a + 1, b); } } static void souzuo(int a, int b) { if (b - 1 < 1) { return; } if (arr[a][b - 1] == 1 && b - 1 >= 1) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souzuo(a, b - 1); } } static void souyou(int a, int b) { if (b + 1 > 10) { return; } if (arr[a][b + 1] == 1 && b + 1 <= 10) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souyou(a, b + 1); } } static void soushangzuo(int a, int b) { if (a - 1 < 1 b - 1 < 1) { return; } if (arr[a - 1][b - 1] == 1 && (a - 1 > 0) && (b - 1) > 0) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } soushangzuo(a - 1, b - 1); } } static void souxiazuo(int a, int b) { if (a + 1 > 10 b - 1 < 1) { return; } if (arr[a + 1][b - 1] == 1 && (a + 1 <= 10) && (b - 1) >= 1) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souxiazuo(a + 1, b - 1); } } static void souyoushang(int a, int b) { if (a - 1 < 1 && b + 1 > 10) { return; } if (arr[a - 1][b + 1] == 1 && a - 1 >= 1 && b + 1 <= 10) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souyoushang(a - 1, b + 1); } } static void souyouxia(int a, int b) { if (b + 1 > 10 && a + 1 > 10) { return; } if (arr[a + 1][b + 1] == 1 && b + 1 <= 10 && a + 1 <= 10) { summm++; if (summm == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souyouxia(a + 1, b + 1); } } static void soushang2(int a, int b) { if (a - 1 < 1) { return; } if (arr[a - 1][b] == 2 && a - 1 > 0) { summm2++; if (summm2 == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } soushang2(a - 1, b); } } static void souxia2(int a, int b) { if (a + 1 > 10) { return; } if (arr[a + 1][b] == 2 && a + 1 <= 10) { summm2++; if (summm2 == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souxia2(a + 1, b); } } static void souzuo2(int a, int b) { if (b - 1 > 10) { return; } if (arr[a][b - 1] == 2 && b - 1 >= 1) { summm2++; if (summm2 == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souzuo2(a, b - 1); } } static void souyou2(int a, int b) { if (b + 1 > 10) { return; } if (arr[a][b + 1] == 2 && b + 1 <= 10) { summm2++; if (summm2 == 5) { for (int i = 0; i < 11; i++) { for (int k = 0; k < 12; k++) { arr[i][k] = 0; } } System.out.println("胜利"); JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE); } souyou2(a, b + 1); } } static void soushangzuo2(int a, int b) { if (a - 1 < 1 b - 1 < 1) { return; } if (arr[a - 1][b - 1] == 2 && (a - 1 >= 1) && (b - 1) >= 1) { summm2++; &nb
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。