<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--designed by dico-->
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head><?php
function chessboard($tr,$tc,$dr,$dc,$size,&$board)
{
if($size==1)
return;
static $count=-1;
static $tile=array('red','yellow','orange','green','blue'); //颜色库数组
$t=$tile[++$count]; //牌的号码,用颜色标志
$s=$size/2; //分割棋盘
//左上角
if($dr<$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左上角的棋盘内
{
chessboard($tr,$tc,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s-1][$tc+$s-1]=$t;
chessboard($tr,$tc,$tr+$s-1,$tc+$s-1,$s,$board);
}
//右上角
if($dr<$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右上角的棋盘内
{
chessboard($tr,$tc+$s,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s-1][$tc+$s]=$t;
chessboard($tr,$tc+$s,$tr+$s-1,$tc+$s,$s,$board);
} //左下角
if($dr>=$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左下角的棋盘内
{
chessboard($tr+$s,$tc,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s][$tc+$s-1]=$t;
chessboard($tr+$s,$tc,$tr+$s,$tc+$s-1,$s,$board);
}
//右下角
if($dr>=$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右下角的棋盘内
{
chessboard($tr+$s,$tc+$s,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s][$tc+$s]=$t;
chessboard($tr+$s,$tc+$s,$tr+$s,$tc+$s,$s,$board);
}
}
?><title>chessboard</title>
</head><body><?php $k=2;
$ss=pow(2,$k)*pow(2,$k);
$board=array(array('black','black','black','black'),array('black','black','black','black'));
chessboard(0,0,0,1,$ss,$board);
echo '<table>';
for($i=0;$i<pow(2,$k);$i++)
{
echo '<tr>';
for($j=0;$j<pow(2,$k);$j++)
{
echo '<td bgcolor="'.$board[$i][$j].'"'.'>';
echo ' ';
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
</body>
</html>主要就是非特殊表格没有全部着色,找了半天不知道怎么回事哪位大侠能指教指教吗?谢谢
<!--designed by dico-->
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head><?php
function chessboard($tr,$tc,$dr,$dc,$size,&$board)
{
if($size==1)
return;
static $count=-1;
static $tile=array('red','yellow','orange','green','blue'); //颜色库数组
$t=$tile[++$count]; //牌的号码,用颜色标志
$s=$size/2; //分割棋盘
//左上角
if($dr<$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左上角的棋盘内
{
chessboard($tr,$tc,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s-1][$tc+$s-1]=$t;
chessboard($tr,$tc,$tr+$s-1,$tc+$s-1,$s,$board);
}
//右上角
if($dr<$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右上角的棋盘内
{
chessboard($tr,$tc+$s,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s-1][$tc+$s]=$t;
chessboard($tr,$tc+$s,$tr+$s-1,$tc+$s,$s,$board);
} //左下角
if($dr>=$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左下角的棋盘内
{
chessboard($tr+$s,$tc,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s][$tc+$s-1]=$t;
chessboard($tr+$s,$tc,$tr+$s,$tc+$s-1,$s,$board);
}
//右下角
if($dr>=$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右下角的棋盘内
{
chessboard($tr+$s,$tc+$s,$dr,$dc,$s,$board);
}
else
{
$board[$tr+$s][$tc+$s]=$t;
chessboard($tr+$s,$tc+$s,$tr+$s,$tc+$s,$s,$board);
}
}
?><title>chessboard</title>
</head><body><?php $k=2;
$ss=pow(2,$k)*pow(2,$k);
$board=array(array('black','black','black','black'),array('black','black','black','black'));
chessboard(0,0,0,1,$ss,$board);
echo '<table>';
for($i=0;$i<pow(2,$k);$i++)
{
echo '<tr>';
for($j=0;$j<pow(2,$k);$j++)
{
echo '<td bgcolor="'.$board[$i][$j].'"'.'>';
echo ' ';
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
</body>
</html>主要就是非特殊表格没有全部着色,找了半天不知道怎么回事哪位大侠能指教指教吗?谢谢
解决方案 »
- 如何用代码返回前两页?(非JS方法)
- smarty拼接字符串问题
- 新开一贴,继续求答案!!!!!!!!!!!!!!!
- php是怎样防止注入的?
- 如何做时间点比较
- 这个正则表达式怎么写:取到某字符串首次出现的位置?
- 关于smarty的问题?
- 求人气高点的代码程序下载网站,象CHINAZ。COM
- 紧急求助!!!
- 我下载安装了MYSQL,我的环境是WIN98+PWS+PHP4.04,网络都正常,一般的PHP程序也可以使用可是安装MYSQL后,却不能使用MYSQL,他告诉我localhost连接无效。怎么回事?我PING localhost都通啊
- css问题
- flash sendandload 获取 php 返回
没有大虾指导下吗?