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

电商建设网站辽宁省建造师执业信息网

电商建设网站,辽宁省建造师执业信息网,wordpress做导语,小程序登录入口官网网址java swing游戏大家好#xff01; 哇#xff0c;自从我在这里发布了东西以来已经有一段时间了#xff01; 我必须说我真的很想写东西#xff0c;我保证我不会再陷入“作家的障碍”。 希望 ..最近两个月发生了很多事情#xff0c;我有很多话要说。 但是在这篇文章中#x… java swing游戏 大家好 哇自从我在这里发布了东西以来已经有一段时间了 我必须说我真的很想写东西我保证我不会再陷入“作家的障碍”。 希望 ..最近两个月发生了很多事情我有很多话要说。 但是在这篇文章中我只是要发布我之前写的一个小应用程序。 它是一个TicTacToe游戏应用程序。 从这个特定的程序中学到的东西不多但是我真的想摆脱这种僵局因此我今天就发布这个。 我实际上写了这段代码是为了向我的一位朋友展示Java的一些非常酷的功能这些朋友也以“ C ”风格编写了相同的应用程序。 而且我的那个朋友甚至为计算机播放器开发了代码。 但是在完成他的代码后他可悲地意识到了一个基本事实即如果你玩的很好你将无法在井字游戏中获胜 呵呵 所以我没有冒险进入那个领域。 老实说我对编写AI应用程序并不十分感兴趣。 但由于我喜欢网络编程因此我想到向此应用程序添加网络多人游戏功能。 但是很遗憾我还没有时间这样做。 Anywaiz应用程序的工作方式如下-游戏启动后即自动启动状态栏指示现在轮到哪个玩家剩下的只是简单的玩法 在游戏结束时该应用程序将自动重置。 进入代码。 import javax.swing.*;import java.awt.*; import java.awt.event.*; import java.util.logging.Logger;/** * TicTacToe Application * author Steve Robinson * version 1.0 */class TicTacToeFrame extends JFrame {JButton [][] buttons new JButton[3][3];JTextField statusBar;GamePanel panel;Integer turn;GameListener listenernew GameListener();Integer count;public TicTacToeFrame(){setLayout(new BorderLayout());panelnew GamePanel();add(panel,BorderLayout.CENTER);statusBarnew JTextField(Player1s Turn);statusBar.setEditable(false);add(statusBar,BorderLayout.SOUTH);setTitle(Tic Tac Toe!);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(400,400,300,300);}class GamePanel extends JPanel{public GamePanel(){setLayout(new GridLayout(3,3));turn 1;count0;for(int i0;i3;i)for(int j0;j3;j) {buttons[i][j]new JButton();buttons[i][j].putClientProperty(INDEX, new Integer[]{i,j});buttons[i][j].putClientProperty(OWNER, null);buttons[i][j].addActionListener(listener);add(buttons[i][j]);}}}class GameListener implements ActionListener{public void actionPerformed(ActionEvent e){count;JButton b(JButton)e.getSource();Integer[]index(Integer[]) b.getClientProperty(INDEX);//System.out.println(turn); //turn // //System.out.println([index[0]][index[1]]); //b.putClientProperty(OWNER, turn);Icon iconew ImageIcon(turn.toString().gif);b.setIcon(ico);b.setEnabled(false);boolean resultcheckVictoryCondition(index);if(result){JOptionPane.showMessageDialog(null, Player turn.toString() Wins);initComponents();}else{if(turn1){turn2;statusBar.setText(Player2s Turn);}else{turn1;statusBar.setText(Player1s Turn);}}if(count9){JOptionPane.showMessageDialog(null, Match is a draw!);initComponents();}}Integer getOwner(JButton b){return (Integer)b.getClientProperty(OWNER);}//PrintButtonMap for Diagnosticsvoid printbuttonMap(Integer [][]bMap){for(int i0;i for(int j0;j System.out.print(bMap[i][j] );System.out.println();}}boolean checkVictoryCondition(Integer [] index){/*Integer[][]buttonMapnew Integer[][] {{ getOwner(buttons[0][0]),getOwner(buttons[0][1]),getOwner(buttons[0][2])},{ getOwner(buttons[1][0]),getOwner(buttons[1][1]),getOwner(buttons[1][2])},{ getOwner(buttons[2][0]),getOwner(buttons[2][1]),getOwner(buttons[2][2])}};printbuttonMap(buttonMap); */Integer aindex[0];Integer bindex[1];int i;//check rowfor(i0;i3;i) {if(getOwner(buttons[a][i])!getOwner(buttons[a][b]))break;}if(i3)return true;//check columnfor(i0;i3;i) {if(getOwner(buttons[i][b])!getOwner(buttons[a][b]))break;}if(i3)return true;//check diagonalif((a2b2)||(a0b0)||(a1b1)||(a0b2)||(a2b0)){//left diagonalfor(i0;i if(getOwner(buttons[i][i])!getOwner(buttons[a][b]))break;if(i3)return true;//right diagonalif((getOwner(buttons[0][2])getOwner(buttons[a][b]))(getOwner(buttons[1][1])getOwner(buttons[a][b]))(getOwner(buttons[2][0])getOwner(buttons[a][b])))return true;}return false;}}void initComponents(){for(int i0;i3;i) for(int j0;j3;j) {buttons[i][j].putClientProperty(INDEX, new Integer[]{i,j});buttons[i][j].putClientProperty(OWNER,null);buttons[i][j].setIcon(null);buttons[i][j].setEnabled(true);turn1;count0;statusBar.setText(Player1s Turn);}}}class TicTacToe {public static void main(String[] args) {EventQueue.invokeLater(new Runnable(){public void run(){TicTacToeFrame framenew TicTacToeFrame();}});}} 该代码非常简单。 香港专业教育学院在按钮中使用两个属性来存储一些信息用于检查获胜条件。 一个是“ OWNER”属性该属性指示哪个用户当前拥有该正方形而“ INDEX”属性则指示该正方形在网格中的索引即[1,1][1,2]…等一个正方形将更新OWNER属性并使用所有按钮的OWNER属性检查victoryCondition。 其余代码不言自明。 为第二个播放器添加键盘支持是一件非常容易的事。 正如他们所说的…“我把它留作练习” 哈哈哈 好吧我真的希望我能花些时间以便可以为该应用程序添加网络功能。 干杯 史蒂夫。 - 我忘记附加将由应用程序使用的图像图标文件。 你可以在这里下载 http://www.mediafire.com/?d7d93v2342dxind 只需将内容提取到包含代码的文件夹中即可。 感谢我的朋友“ Gur Png”告诉我这件事。 参考来自我们JCG合作伙伴的 Java TicTacToe   FootynTech博客上的Steve Robinson。 翻译自: https://www.javacodegeeks.com/2012/02/java-swing-tic-tac-toe.htmljava swing游戏
http://www.sadfv.cn/news/279983/

相关文章:

  • 手机网站 qq代码个人展示网站
  • 购物网站后台模板做兼职网站赚钱吗
  • 建设网站公司 昆山网站维护费用明细
  • 专题网站建设工作asp网站伪静态页面
  • 06628 网页制作与网站开发做谷歌推广对网站的要求
  • 做详情图的网站wordpress添加修改记录
  • .net 网站地图短视频免费素材网站
  • 网站建设项目前分析广东网站建设服务公司
  • php做网站怎么布局个人怎么申请域名
  • 建设网站难吗东莞网站设计制作网站
  • 电脑下载17zwd一起做网站谷歌网站站长指南
  • 企业网站建设工作室企业单位网站建设内容需要什么
  • 新网站如何做优化个人公众号开发教程
  • 企业网站建设硬件大连网站优化公司
  • 做浏览单的网站有哪些郑州网站设计公司
  • 社交网站 模板女装网站建设
  • 网站管理建设工作报告芜湖网站优化公司
  • 网站必须要求备案吗商城网站设计需要哪些技术
  • 免费网站技术网站管理员怎么做联系方式
  • 黑龙江网站备案软件开发各阶段时间比例
  • 工业设计大赛seo网站关键字优化
  • 南通工程建设信息网站国外炫酷网站欣赏
  • 广东平台网站建设游戏推广赚佣金的平台
  • 免费建立com网站mip网站有什么好处
  • 营销型网站用什么模版合适wordpress 调用侧边栏
  • 网站建设收费标准资讯千万不要学环境艺术设计
  • 上海怎么制作网站网络规划与设计期末考试题及答案
  • 驻马店做网站建设的公司赣州优化
  • 哈尔滨建站模板厂家陵水专业网站建设
  • 345诛仙网站是谁做的网络服务商主要包括什么