eclipse五子棋代码思路(eclipse五子棋小游戏代码)[20240501更新]
admin 发布:2024-05-01 19:20 116
今天给各位分享eclipse五子棋代码思路的知识,其中也会对eclipse五子棋小游戏代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java五子棋源代码判断输赢,希望帮忙指出错误并完善
- 2、求五子棋C语言AI算法(原创思路)
- 3、用eclipse开发一个五子棋的小游戏,现在在layout里添加了一个重新开始的按钮,求按钮的代码
- 4、用eclipse编写一个基于java的五子棋(与电脑对弈)
- 5、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站长 原创,转载请注明出处和附带本文链接;
- 上一篇:在线域名查询网站,域名查询2021
- 下一篇:seo诊断站长,seo网站诊断分析报告
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接