- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java步步高人机
介绍:这是一款很简单的人机对战五子棋,只实现了简单的防守功能,适合刚开始设计五子棋的朋友参考。
程序执行结果:
框架程序:
package wuziqi;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
/**
* 五子棋
*/
public class MainFrame extends JFrame{
public static void main(String[] args) {
MainPanel panel = new MainPanel();
MainFrame frame = new MainFrame(五子棋);
frame.setSize(680,680);
panel.setBackground(Color.LIGHT_GRAY);
frame.add(panel,BorderLayout.CENTER);
panel.addMouseListener(panel);
frame.setVisible(true);
frame.setDefaultCloseOperation(3);
frame.setLocationRelativeTo(null);
}
public MainFrame(){
super();
}
public MainFrame(String str){
super(str);
}
}
面板设计:
package wuziqi;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
/**
* JFrame中的层次分布及相对关系是:最底层是:JRootPane;
* 第二层是:JlayerPane;最上层就是ContentPane,也正是我们常说的内容面板。
* 所以一般我们拖放的控件就是在ContentPane层上。
*/
import javax.swing.JOptionPane;
/**
* 五子棋的面板设计
*/
public class MainPanel extends Panel implements MouseListener {
private static final int COLUMN = 16;// 列数
private static final int ROW = 16;// 行数
private static final int GAP = 40;// 间距
private static boolean isBlack = true; // 判断是否是黑棋
private static int click_X; // 点击时候的x坐标
private static int click_Y; // 点击时候的y坐标
private char[][] allChess = new char[ROW][COLUMN]; // 存下了旗子的位置
public MainPanel() {
super();
for (int i = 0; i allChess.length; i++) {
for (int j = 0; j allChess[i].length; j++) {
allChess[i][j] = *; // 初始化数组allChess,*表示没有棋子存在
}
}
}
/***************** 画棋盘要放在paint(Graphics g)里面 ***************/
public void paint(Graphics g) {
for (int i = 0; i ROW; i++) { // 划横线
g.setColor(Color.BLACK); // 画线为黑色,
g.drawLine(20, 20 + i * GAP, 640 - 20, 20 + i * GAP);// 棋盘间隔分布
}
for (int i = 0; i COLUMN; i++) {// 划纵线
g.setColor(Color.BLACK);
g.drawLine(20 + i * GAP, 20, 20 + i * GAP, 640 - 20); // 棋盘间隔分布
}
// 画棋子 w表示白棋 b表示黑棋
for (int i = 0; i allChess.length;
您可能关注的文档
最近下载
- 网络工程规划与设计案例教程课件_项目一_任务3-1_网络需求分析(第3次).ppt
- T_CIATCM 080-2020 临床中药合理应用信息系统建设指南.docx VIP
- 2025年西藏公职人员时事政治考试试题(附含答案).docx VIP
- 图圆筒环焊缝纵向残余应力的分布.ppt
- 2024年新疆轮台县人民医院公开招聘医务工作人员试题带答案详解.docx VIP
- 9《天上有颗“南仁东星”》课件(共36张ppt).pptx VIP
- 校园最小应急单元处突演练培训.pptx
- 糖水店开业推广方案.pptx VIP
- 学堂在线《临床中成药应用》作业单元考核答案.docx VIP
- 数学文化融入高中数学教学的案例研究.docx VIP
文档评论(0)