国际象棋java源代码 java 国际象棋
Java程序,写一个简单的国际象棋的棋盘,为什么颜色不显示出来,求解释???
if((i+j)/2==0) 帅哥 这个是不可能等于0的 你想的效果应该是 if((i+j) % 2 == 0) 用这个 呵呵
我们提供的服务有:做网站、成都网站建设、微信公众号开发、网站优化、网站认证、叶城ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的叶城网站制作公司
用java写一个国际象棋的棋盘,输出结果要是一张 国际象棋的棋盘
import java.awt.*;
import javax.swing.*;
public class Chessboard extends JApplet {
int baseXPosition, baseYPosition;
int currentXPosition, currentYPosition;
public void init() {
baseXPosition = 40; // 棋盘的开始x位置
baseYPosition = 40; // 棋盘的开始y位置
setBackground(Color.black); // 设置背景颜色黑色
}
public void paint(Graphics g) { // 绘制棋盘
currentXPosition = baseXPosition; // currentXPosition当前的x位置
currentYPosition = baseYPosition; // currentYPosition当前的y位置
for (int row = 0; row 8; row++) {
currentXPosition = baseXPosition + row * 40;
for (int column = 0; column 8; column++) {
if ((column + row) % 2 == 0)
g.setColor(Color.white); // 设置棋盘格子的颜色
else
g.setColor(Color.red); // 设置棋盘格子的颜色
currentYPosition = baseXPosition + column * 40;
g.drawRect(currentXPosition,currentYPosition,40,40);//;代码4 //在当前位置绘制棋盘的格子;每个格子的大小是40*40像
g.fillRect(currentXPosition,currentYPosition,40,40);
}
}
}
}
使用java编程:国际象棋棋盘64个格,第一格放一粒米,每一格比前一格多一颗,放满需要多少米 急!急!
package com.plague.math;
import java.lang.Math;
public class Chess {
private final static int CHESS_NUMBER = 64;
private int total;
public Chess () {
System.out.println("国王的赏赐,其实,问题是这样的:" +
"在国际象棋的棋盘上,第一格放一粒米,第二格放2粒米,第三个放四粒米。。。最后国王要赏赐多少米");
for (int i = 0; i CHESS_NUMBER; i++) {
total += Math.pow(2.0,(double)i);
}
System.out.println("国王的赏赐是:"+total);
}
public static void main(String[] args) {
Chess c1 = new Chess();
}
}
显示一个国际象棋棋盘的java源代码
import java.awt.Color;
import javax.swing.*;
public class Chess extends JPanel
{// 继承面板类
public Chess(int grids,int gridsize)
{//grids:行数和列数, gridsize:单元格的高和宽
super(null);
for(int i=0; igrids; i++)
{
for(int j=0; jgrids; j++)
{
JLabel l = new JLabel();//生成标签实例
l.setSize(gridsize,gridsize);
l.setLocation(i*gridsize,j*gridsize);
if((i+j)%2==0)
{ //当小方格的坐标和刚好是偶数时,
l.setBackground(Color.black); //设置为方格为黑色
l.setOpaque(true); //设置为不透明
}
l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色
add(l);//将l标签添加到面板
}
}
}
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setSize(658,677); //边框的长和宽
f.setLocationRelativeTo(null); //设置窗口相对于指定组件的位置
f.add(new Chess(8,80));
f.setVisible(true);
}
}
用Java程序打印出国际象棋的棋盘样子
import java.awt.Canvas;
import java.awt.Graphics;
import javax.swing.JFrame;
public class IC extends Canvas{
private static final long serialVersionUID = -2611185708860234130L;
public void paint(Graphics g){
int s = 50;//单元格大小
int c = 0;//可取0或1以改变第一单元格是否填充
int rc=10;//行列数
for(int i=0; irc; i++){
c++;
if(rc%20)++c;
for(int j=0; jrc; j++){
g.drawRect(i*s,j*s,s,s);
if(++c%2!=0)
g.fillRect(i*s,j*s,s,s);
}
}
g.dispose();
}
public static void main(String[] args){
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(600,600);
f.setLocationRelativeTo(null);
f.getContentPane().add(new IC());
f.setVisible(true);
}
}
上面是直接按你的要求在画布上打印的,下面是有组件排版的:
import java.awt.Color;
import javax.swing.*;
public class Chess extends JPanel{
private static final long serialVersionUID = -5380742576273506004L;
//grids:行数和列数, gridsize:单元格的高和宽
public Chess(int grids,int gridsize){
super(null);
for(int i=0; igrids; i++){
for(int j=0; jgrids; j++){
JLabel l = new JLabel();
l.setSize(gridsize,gridsize);
l.setLocation(i*gridsize+i,j*gridsize+j);
if((i+j)%2==0){
l.setBackground(Color.black);
l.setOpaque(true);
}
l.setBorder(BorderFactory.createLineBorder(Color.black));
add(l);
}
}
}
public static void main(String[] args){
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(620,645);
f.setLocationRelativeTo(null);
f.add(new Chess(10,60));
f.setVisible(true);
}
}
注:这些已经很简单了,如果还看不懂,你回去再多补补基础吧!
当前标题:国际象棋java源代码 java 国际象棋
本文地址:http://cdiso.cn/article/hgopoe.html