当前位置: 首页 > news >正文

百度推广做网站/国际新闻网站

百度推广做网站,国际新闻网站,笔记本电脑安装wordpress,wordpress rss feed url为什么80%的码农都做不了架构师?>>> 程序说明:大学期间的课程设计,黑棋先行,此程序仅仅试探性的的摸清五子棋程序框架设计的基本思路,其具体的五子棋下棋思路还有待完善,此程序仅从防守的角度给…

为什么80%的码农都做不了架构师?>>>   hot3.png

程序说明:大学期间的课程设计,黑棋先行,此程序仅仅试探性的的摸清五子棋程序框架设计的基本思路,其具体的五子棋下棋思路还有待完善,此程序仅从防守的角度给予回应对方棋子,也没有禁手的设置。

其源代码如下:

public class Untitled7 extends javax.swing.JFrame {javax.swing.JButton jbBegin = new javax.swing.JButton("重新开始");javax.swing.JButton jbBack = new javax.swing.JButton("悔棋");javax.swing.JPanel jpButt = new javax.swing.JPanel();int M = 15;int board[][] = new int[M][M];//存储棋盘上的落子状况int FLAG = 1;//胜负状态标志public Untitled7(){jpButt.setLayout(new java.awt.FlowLayout());jpButt.add(jbBegin);jpButt.add(jbBack);gbPanel gp = new gbPanel();this.getContentPane().add(jpButt,java.awt.BorderLayout.NORTH);this.getContentPane().add(gp,java.awt.BorderLayout.CENTER);this.setSize(310,372);this.setResizable(false);this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args) {new Untitled7();}class gbPanel extends javax.swing.JPanel{public gbPanel(){this.addMouseListener(new mouselis());//落子事件}public void paintComponent(java.awt.Graphics g){super.paintComponent(g);javax.swing.ImageIcon icon1 = new javax.swing.ImageIcon("五子棋_棋盘.jpg");g.drawImage(icon1.getImage(),0,0,this);//在panel中绘制棋盘for(int i=0;i<M;i++)for(int j=0;j<M;j++){if(1==board[i][j]){//重绘黑子g.drawImage(new mouselis().iconB.getImage(),i*20+1,j*20+1,this);}else if(2==board[i][j]){//重绘白字g.drawImage(new mouselis().iconW.getImage(),i*20+1,j*20+1,this);}}}class mouselis extends java.awt.event.MouseAdapter{javax.swing.ImageIcon iconB = new javax.swing.ImageIcon("五子棋_黑子.jpg");javax.swing.ImageIcon iconW = new javax.swing.ImageIcon("五子棋_白子.jpg");String strb = "黑方";String strw = "白方";public void mouseClicked(java.awt.event.MouseEvent e) {int xb = e.getX()/20;//获取黑棋落子的行号int yb = e.getY()/20;//获取黑棋落子的列号int mb = xb*20;//int nb = yb*20;//if(1==FLAG){if (0 == board[xb][yb]) { //该点为空,可以着子getGraphics().drawImage(iconB.getImage(), mb + 1, nb + 1, gbPanel.this);board[xb][yb] = 1;//修改存储信息win(board, xb, yb, strb);//判断胜负if(1==FLAG){int xw = gow(board) / 15;//获取白棋落子的行号int yw = gow(board) % 15;int mw = xw * 20;int nw = yw * 20;getGraphics().drawImage(iconW.getImage(), mw + 1, nw + 1, gbPanel.this);board[xw][yw] = 2;win(board, xw, yw, strw);}} //end if black}}//end void mouseClicked()int gow(int board[][]){int k=0;int max=0;int tagb = 0;int tagw = 0;int bla[] = new int[4];int whi[] = new int[4];java.util.Vector v4= new java.util.Vector();java.util.Vector v3= new java.util.Vector();java.util.Vector v2= new java.util.Vector();java.util.Vector v1= new java.util.Vector();java.util.Vector v0= new java.util.Vector();for(int i=0;i<M;i++){for(int j=0;j<M;j++){for(int t=0;t<4;t++){bla[t] = 0;//init bla[]whi[t] = 0;//init whi[]tagb=0;tagw=0;}//end for forif(0==board[i][j]){ //当前坐标可以着子int buf[][]={{1,0},{1,1},{0,1},{-1,1}};//四个方向for(int m=0;m<4;m++){//向四个方向搜索int num = 1;for(int n=-1;n<2;n+=2){//每个方向的正反两个方向int t=1,row,col;while(t!=0){row = i+buf[m][0]*n*t;//行值++或行值--col = j+buf[m][1]*n*t;if((row>=0)&&(col>=0)&&(row<15)&&(col<15)&&(2==board[row][col])){whi[m]++;//坐标row,col处为白子t++;}else if((row>=0)&&(col>=0)&&(row<15)&&(col<15)&&(1==board[row][col])){tagw = 1;//连续白子后的棋子为对方棋子,默认为空t = 0;}elset=0;}t=1;while(t!=0){row = i+buf[m][0]*n*t;col = j+buf[m][1]*n*t;if((row>=0)&&(col>=0)&&(row<15)&&(col<15)&&(1==board[row][col])){bla[m]++;//坐标row,col处为黑子t++;}else if((row>=0)&&(col>=0)&&(row<15)&&(col<15)&&(2==board[row][col])){tagb = 2;//连续黑子后的棋子为对方棋子,默认为空t = 0;}elset=0;}}}}//end ifint z=0;for(int p = 0;p < 4;p++){for (int q = 0; q < 4; q++) {if (whi[q] > 3 ) {//当前i,j坐标处的四个方向的白色棋子大于3,自己着子后就获胜v4.addElement(new Integer(k));}else if(bla[q]>3){//当前i,j坐标处的四个方向的黑色棋子大于3,自己必须防守,否则就败v3.addElement(new Integer(k));}else if ( (whi[q] == 3)) {//当前i,j坐标处的四个方向的白色棋子等于3,进行冲4v2.addElement(new Integer(k));}else if ( (tagb==0)&&(bla[q]==3)) {//当前i,j坐标处的四个方向的黑色棋子等于3,且为活三v1.addElement(new Integer(k));}else {if (max < (bla[p] + whi[q])) {//选取连接白子和黑子最多的点max = (bla[p] + whi[q]);v0.removeAllElements();v0.addElement(new Integer(k));}else if(max == (bla[p] + whi[q])){v0.addElement(new Integer(k));}}}}k++;}//end for j}//end for iif (!v4.isEmpty()) {return Integer.parseInt(v4.elementAt(0).toString());}else if (!v3.isEmpty()) {return Integer.parseInt(v3.elementAt(0).toString());}else if (!v2.isEmpty()) {return Integer.parseInt(v2.elementAt(0).toString());}else if (!v1.isEmpty()) {return Integer.parseInt(v1.elementAt(0).toString());}elsereturn Integer.parseInt(v0.elementAt(0).toString());}//end int gow()public void win(int qi[][],int m,int n,String str){int buf[][]={{1,0},{1,1},{0,1},{-1,1}};int color = qi[m][n];for(int i=0;i<4;i++){int num = 1;for(int k=-1;k<2;k+=2){int t=1,row,col;while(t!=0){row = m+buf[i][0]*k*t;col = n+buf[i][1]*k*t;if((row>=0)&&(col>=0)&&(row<15)&&(col<15)&&(color==qi[row][col])){num++;if(num==5){javax.swing.JOptionPane.showMessageDialog(Untitled7.this,str+"胜利","结果",javax.swing.JOptionPane.INFORMATION_MESSAGE);FLAG = 2;}t++;}elset=0;}}}}}//end class mouselis}//end class gbpanel
}//end

运行结果截图:

转载于:https://my.oschina.net/chwencong/blog/2209152

http://www.lbrq.cn/news/1353007.html

相关文章:

  • 专业b2c电商网站制作/中国最新消息
  • 东莞seo网站建设/免费发广告网站
  • 免费行情软件app网站大全下载u288/潍坊疫情最新消息
  • 编程 给别人做网站/网店营销策略有哪些
  • 横沥网站仿做/中国数据统计网站
  • 做的网站怎么测试工具/深圳谷歌优化seo
  • 广东深圳属于什么地区/提供seo顾问服务适合的对象是
  • 兴华建设集团有限公司网站/石家庄seo推广
  • wap 网站源码/郑州seo关键词优化公司
  • 3钻淘宝店铺转让价格表/搜索引擎优化seo优惠
  • 最新军事新闻头条/潍坊百度关键词优化
  • 商业网站设计方案/百度搜索推广
  • 商家建设网站的好处/百度网站链接提交入口
  • 南昌大型网站制作/长沙百度
  • 徐州如何提高网站建设/h5网站制作平台
  • 网页设计尺寸1440/信息流优化师是做什么的
  • 济南智能网站建设电话/全网营销推广靠谱吗
  • 选择合肥网站建设/深圳关键词
  • 深圳个性化网站建设公司/上海网站建设公司
  • 网站搜索建设/外贸网站免费推广
  • 美女做暧暧免费网站/郑州网站建设优化
  • 网站备案应该怎么做/网站安全检测在线
  • 网站防红链接怎么做的/郑州网站设计
  • 如何解决旅游网站建设问题/百度推广开户电话
  • 开发游戏的软件有哪些/网站优化怎么做
  • 湖州网站建设公司排行榜/网站seo优化教程
  • 海曙网站制作/seo优化怎么做
  • 网站建设入门教程视频/百度提问在线回答问题
  • 网站怎么添加导航栏/百度我的订单app
  • 谁有人和兽做的网站/seo发帖网站
  • 从Text2SQL到Text2Metrics:衡石指标管理技术跃迁
  • 后端服务oom
  • Agent安全机制:权限控制与风险防范
  • MATLAB实现的机载合成孔径雷达回波生成和处理
  • python学智能算法(三十三)|SVM-构建软边界拉格朗日方程
  • Electron-updater + Electron-builder + IIS + NSIS + Blockmap 完整增量更新方案