isodd(isodd函数)

软件教程 2023.03.11 133

目录:

JAVA五子棋判断输赢

import java.awt.*;

import javax.swing.*;

public class ChessFrame extends JFrame{

private ChessPanel cp;

private ChessModel cm;

public ChessFrame(){

this.setTitle("五子棋");

cm=new ChessModel();

cp=new ChessPanel(cm);

this.add(cp);

}

public void showMe(){

this.setVisible(true);

this.setSize(480,400);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new ChessFrame().showMe();

}

}

----------------------------------------

import javax.swing.*;

public class ChessModel {

private int width,height;

private int x=0,y=0;

private int [][] arrMapShow;

private boolean isOdd,isExist;

public ChessModel(){

this.isOdd=true;

PaneInit(20,15);

}

private void PaneInit(int width,int height){

this.width=width;

this.height=height;

arrMapShow=new int[width+1][height+1];

for(int i=0;i=width;i++){

for(int j=0;jheight+1;j++){

arrMapShow[i][j]=5;

}

}

}

public int getWidth() {

return width;

}

public void setWidth(int width) {

this.width = width;

}

public int[][] getArrMapShow() {

return arrMapShow;

}

public void setArrMapShow(int[][] arrMapShow) {

this.arrMapShow = arrMapShow;

}

public int getHeight() {

return height;

}

public void setHeight(int height) {

this.height = height;

}

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

public boolean getisOdd() {

return isOdd;

}

public void setisOdd(boolean isOdd) {

if(isOdd)

this.isOdd = true;

else

this.isOdd=false;

}

public boolean isExist() {

return isExist;

}

public void setExist(boolean isExist) {

this.isExist = isExist;

}

private boolean badxy(int x,int y){

if(x=width+20||x0)

return true;

return y=height+20||y0;

}

public boolean chessExist(int i,int j){

if(this.arrMapShow[i][j]==1||this.arrMapShow[i][j]==2)

return true;

return false;

}

public void redyplay(int x,int y){

if(badxy(x,y))

return;

if(chessExist(x,y))

return;

this.arrMapShow[x][y]=3;

}

public void play(int x,int y){

if(badxy(x,y))

return;

if(chessExist(x,y)){

this.isExist=true;

return;

}else

this.isExist=false;

if(getisOdd()){

setisOdd(false);

this.arrMapShow[x][y]=1;

}else{

setisOdd(true);

this.arrMapShow[x][y]=2;

}

}

//判断胜利的条件

public boolean judgeSuccess(int x,int y,boolean isodd){

int num=1;

int arrvalue;

int x_temp=x,y_temp=y;

if(isodd)

arrvalue=2;

else

arrvalue=1;

int x_temp1=x_temp,y_temp1=y_temp;

//判断右边

for(int i=1;i=6;i++){

x_temp1+=1;

if(x_temp1this.width)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

//判断左边

x_temp1=x_temp;

for(int i=1;i=6;i++){

x_temp1-=1;

if(x_temp10)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

if(num==5)

return true;

//判断上方

x_temp1=x_temp;

y_temp1=y_temp;

num=1;

for(int i=1;i=6;i++){

y_temp1-=1;

if(y_temp10)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

//判断下方

y_temp1=y_temp;

for(int i=1;i=6;i++){

y_temp1+=1;

if(y_temp1this.height)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

if(num==5)

return true;

//判断左上

x_temp1=x_temp;

y_temp1=y_temp;

num=1;

for(int i=1;i=6;i++){

x_temp1-=1;

y_temp1-=1;

if(y_temp10 || x_temp10)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

//判断右下

x_temp1=x_temp;

y_temp1=y_temp;

for(int i=1;i=6;i++){

x_temp1+=1;

y_temp1+=1;

if(y_temp1this.height || x_temp1this.width)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

if(num==5)

return true;

//判断右上

x_temp1=x_temp;

y_temp1=y_temp;

num=1;

for(int i=1;i=6;i++){

x_temp1+=1;

y_temp1-=1;

if(y_temp10 || x_temp1this.width)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

//判断左下

x_temp1=x_temp;

y_temp1=y_temp;

for(int i=1;i=6;i++){

x_temp1-=1;

y_temp1+=1;

if(y_temp1this.height || x_temp10)

break;

if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

num++;

else

break;

}

if(num==5)

return true;

return false;

}

//五子成线后的提示

public void showSuccess(JPanel jp){

JOptionPane.showMessageDialog(jp,"你赢了,好厉害!","win",

JOptionPane.INFORMATION_MESSAGE);

new ChessFrame().showMe();

}

}

----------------------

import java.awt.*;

import java.awt.event.*;

import javax.swing.JPanel;

public class ChessPanel extends JPanel {

private int width, height;

private ChessModel cm;

public ChessPanel(ChessModel mm) {

cm = mm;

width = cm.getWidth();

height = cm.getHeight();

addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e) {

int x=(e.getX()-10)/20;

int y=(e.getY()-10)/20;

cm.play(x,y);

repaint();

if(cm.judgeSuccess(x,y,cm.getisOdd())){

cm.showSuccess(null);

}

}

});

}

public void paintComponent(Graphics g){

super.paintComponent(g);

for(int j=0;j=height;j++){

for(int i=0;iwidth;i++){

int v=cm.getArrMapShow()[i][j];

draw(g,i,j,v);

}

}

}

public void setModel(ChessModel mm){

cm=mm;

width=cm.getWidth();

height=cm.getHeight();

}

public void draw(Graphics g,int i,int j,int v){

int x=20*i+20;

int y=20*j+20;

if(i!=widthj!=height){

g.setColor(Color.black);

g.drawRect(x, y, 20, 20);

}

if(i!=widthj!=height){

g.setColor(Color.black);

g.drawRect(x, y, 20, 20);

}

if(v==1){

g.setColor(Color.gray);

g.drawOval(x-8, y-8, 16, 16);

g.setColor(Color.black);

g.fillOval(x-8, y-8, 16, 16);

}

if(v==2){

g.setColor(Color.gray);

g.drawOval(x-8, y-8, 16, 16);

g.setColor(Color.white);

g.fillOval(x-8, y-8, 16, 16);

}

if(v==3){

g.setColor(Color.cyan);

g.drawOval(x-8, y-8, 316, 16);

}

}

}

三个类,可以直接使用了

办公软件的Excel有什哪些常用函数?

1、CELL:返回有关单元格格式、位置或内容的信息。

2、COUNTBLANK:计算区域中空单元格的个数。

3、ERROR.TYPE:返回对应于错误类型的数字。

4、INFO:返回有关当前操作环境的信息。

5、ISBLANK:如果值为空,则返回TRUE。

6、ISERR:如果值为除#N/A以外的错误值,则返回TRUE。

7、ISERROR:如果值为任何错误值,则返回TRUE。

8、ISEVEN:如果数为偶数,则返回TRUE。

9、ISLOGICAL:如果值为逻辑值,则返回TRUE。

10、ISNA:如果值为:#N/A错误值,则返回TRUE。

11、ISNONTEXT:如果值不是文本,则返回TRUE。

12、ISNUMBER:如果值为数字,则返回TRUE。

13、ISODD:如果数字为奇数,则返回TRUE。

14、ISREF:如果值为引用,则返回TRUE。

15、ISTEXT:如果值为文本,则返回TRUE。

16、N:返回转换为数字的值。

17、NA:返回错误值#N/A。

18、AND:如果所有参数为TRUE,则返回TRUE。

19、FALSE:返回逻辑值FALSE。

20、IF:指定要执行的逻辑检测。

21、NOT:反转参数的逻辑值。

22、OR:如果任何参数为TRUE,则返回TRUE。

23、TRUE:返回逻辑值TRUE。

24、ADDRESS:以文本形式返回对工作表中单个单元格的引用。

25、AREAS:返回引用中的区域数。

26、CHOOSE:从值的列表中选择一个值。

27、COLUMN:返回引用的列号。

28、COLUMNS:返回引用中的列数。

29、HLOOKUP:查找数组的顶行并返回指示单元格的值。

30、HYPERLINK:创建快捷方式或跳转,打开存储在网络服务器、企业内部网或INTERNET上的文档。

扩展资料:

Excel函数则是Excel中的内置函数。Excel函数共包含11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。

Excel函数调用的参数可以是数字、文本、形如 TRUE 或FALSE的逻辑值、数组、形如 #N/A 的错误值或单元格引用。给定的参数必须能产生有效的值。参数也可以是常量、公式或其它函数。

EXCEL函数ROUND的用法

你好!

需要做一下假设:假设A1=10800.00,需要再B1中显示是奇数还是偶数

那么B1=if(mod(round(A1,0)),2)=1,"奇数","偶数")

感觉这题更多的是在考虑 mod 这个取余的函数~

本文转载自互联网,如有侵权,联系删除

相关推荐