java画五子棋盘_Java实现两人五子棋游戏(二) 画出棋盘
本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下
棋盘模块:
画五子棋棋盘:19条横线、19条竖线
步骤一:显示棋盘
我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这张图片。
DrawChessBoard.java
package xchen.test.simpleGobang;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;
public class DrawChessBoard extends JPanel{
public Image boardImg;
public DrawChessBoard() {
boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard.png");
if(boardImg == null)
System.err.println("png do not exist");
}
@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
int imgWidth = boardImg.getWidth(this);
int imgHeight = boardImg.getHeight(this);
int FWidth = getWidth();
int FHeight= getHeight();
int x=(FWidth-imgWidth)/2;
int y=(FHeight-imgHeight)/2;
g.drawImage(boardImg, x, y, null);
}
}
Main.java
package xchen.test.simpleGobang;
import java.awt.Container;
import javax.swing.JFrame;
import xchen.test.simpleGobang.DrawChessBoard;
public class Main extends JFrame{
private DrawChessBoard drawChessBoard;
public Main() {
drawChessBoard = new DrawChessBoard();
//Frame标题
setTitle("单机五子棋");
Container containerPane =getContentPane();
containerPane.add(drawChessBoard);
}
public static void main(String[] args) {
Main m = new Main();
m.setVisible(true);
}
}
运行一下
步骤二:为棋盘画上横竖线
DrawChessBoard.java
package xchen.test.simpleGobang;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;
public class DrawChessBoard extends JPanel{
public Image boardImg;
final private int ROWS = 19;
public DrawChessBoard() {
boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard2.png");
if(boardImg == null)
System.err.println("png do not exist");
}
@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
int imgWidth = boardImg.getWidth(this);
int imgHeight = boardImg.getHeight(this);
int FWidth = getWidth();
int FHeight= getHeight();
int x=(FWidth-imgWidth)/2;
int y=(FHeight-imgHeight)/2;
g.drawImage(boardImg, x, y, null);
int margin = x;
int span_x=imgWidth/ROWS;
int span_y=imgHeight/ROWS;
//画横线
for(int i=0;i
{
g.drawLine(x, y+i*span_y, FWidth-x,y+i*span_y);
}
//画竖线
for(int i=0;i
{
g.drawLine(x+i*span_x, y, x+i*span_x,FHeight-y);
}
}
}
Main.java不变
运行一下
遇到的问题:
1)Eclipse不识别文件夹下的图片
问题:文件夹中有图片,但是在Eclipse项目栏中不显示
解决办法:在Eclipse中,选中根目录,F5 refresh,就显示出来了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java画五子棋盘_Java实现两人五子棋游戏(二) 画出棋盘相关推荐
- java五子棋棋盘_Java实现两人五子棋游戏(二) 画出棋盘
此文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根 ...
- Java实现一个简单的两人五子棋游戏(一) 系统设计
实现一个基本的单机五子棋功能 该五子棋棋盘大小为19*19的网格,玩家可以通过鼠标点击棋盘来落子,当出现五连珠时,提示一方胜出~ 1)模块划分 主模块:调用其他模块实现五子棋功能 棋盘模块:绘制五子棋 ...
- Java黑皮书课后题第8章:***8.20(游戏:四子连)两人玩游戏,轮流将有颜色的棋子放在一个六行七列的垂直悬挂网格中。谁先实现一行、一列或者一对角线上有4个相同颜色的棋子。
***8.20(游戏:四子连)两人玩游戏,轮流将有颜色的棋子放在一个六行七列的垂直悬挂网格中.谁先实现一行.一列或者一对角线上有4个相同颜色的棋子 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...
- C语言简单五子棋两人/五子棋人机
对于初学C语言的同学,五子棋不可谓不是一个好的练习.我们不但要考虑玩家及电脑的落子,还要考虑棋盘是否已满.是否有一方已经获得胜利.因此我们要考虑好各种情况,设定好函数及循环. 下面是两人五子棋的简单代 ...
- 1、两人做游戏,轮流报数,报出的数只能是1、2、3、4、5、6、7、8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多少?
看到一道奥数题,如下 两人做游戏,轮流报数,报出的数只能是1.2.3.4.5.6.7.8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多 ...
- java五子棋盘_Java实现一个简单的两人五子棋游戏(二) 画棋盘
棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这 ...
- 适合智商180以上的两人对弈游戏
今天在- 33IQ http://www.33iq.com/group/topic/43251/这个网站上看到的,相当于一个博弈吧,挺有意思的 请别介意我用了一个如此有噱头的名字作为这个游戏的名字. ...
- div和div之间画横线_HTML如何在两个div标签中间画一条竖线
近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高). 往常我们画一条横线直接用标签 即可,当画一条竖 ...
- java五子棋实验报告6_Java实现两人五子棋游戏(六) 行棋方变换
前面我们已经画好棋盘和棋子,并可以自由落子,且可以判断棋盘中是否有五连珠.接下来的工作是,每次落子后交换行棋方(即将下一棋子颜色由白->黑或黑->白),并将胜出判断增加颜色判断条件(棋盘上 ...
最新文章
- 科研必备:10款提升科研效率的神器
- android studio 导入、移除module、以及加载module中的jar包
- Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
- springboot整合redis操作缓存(将查询到的数据放在缓存中)
- 快速排序(quick sort)
- 母版事件中注册javascript脚本
- elctron项目_electron项目结构介绍
- Java多线程学习总结(3)——Java线程的6种状态及切换
- 互联网流量劫持的背后:黑客月入至少三万
- 《Java程序员职场全攻略:从小工到专家》连载十三:给自己估个好价
- 如何在 Mac 上将PDF 转换为 Word?
- OSPFv3报文格式与作用分析
- 超全深度学习细粒度图像分析:项目、综述、教程一网打尽
- VS2013 百度云资源以及密钥
- 债券中的久期是什么意思
- 第七十一章 SQL函数 LAST_DAY
- Infor SunSystems咨询服务市场报告-市场规模、市场份额、市场定位、产品类型以及发展规划
- vnc以及xfce安装\xrdp连接
- 社群运营中KOL的作用
- arthes—线上debug好帮手