网站建设资讯

NEWS

网站建设资讯

国际象棋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://njwzjz.com/article/hgopoe.html