时间的话没注意。不过这周HTML学习把上周的时间和关卡加上去了。数据结构的话,学习了树的概念与存储原理,代码的话是在老师给的基础上改的。这周看了本毕淑敏写的散文,其中一篇是旅游是我们谦虚,感同身受,出去走走,才能让我发现世界有多大,不然老宅在一个地方可能让我的视野狭小,胸怀仄斜。旅游正是以一种充满未知的魅力,激起人们不倦的向往。
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>趣味小游戏</title>
<script type="text/javascript">
var currImg1=-1;
var lastImg1=-1;
var count=0;
var n;
var isused=new Array();
var row=3;
var col=4;
//时钟变量
var mytime=60;
var minute;
var secound;
var str1;
var count;
var myinter;
var myArray=new Array(34);
function mySort()
{
return Math.random()>.5;
}
function init(row, col)
{
n=(row*col)/2;
for(var k=0;k<(n*2);k++)
{
isused[k]=false;
}
for(var k=0;k<n;k++)
{
myArray[k]=( Math.round( Math.random()*9)+1);
myArray[k+n]=myArray[k];
}
myArray.sort(mySort);
var str='<table name="myT" border="1" width="300" height="300" bgcolor="#FFFFFF" bordercolor="#9F9"border="1"cellspacing="1" cellpadding="1" >';
for(var i=1;i<=row;i++)
{
str+="<tr>";
for(var j=0;j<col;j++)
{
str+="<td οnclick='judge("+ ((i-1)*col +j )+");'>"
str +="<img id='img_"+ ((i-1)*col +j )+"' src='photo/image0.jpg'/>"
str+="</td>";
}
str+="</tr>";
}
str+= "</table>"
document.getElementById("mt").innerHTML=str;
}
function createTable()
{
init(row,col);
row++;
col++;
myinter=setInterval(setTime,1000);
}
function judge(temp)
{
if (isused[temp]) return;
isused[temp]=true;
lastImg1=currImg1;
currImg1=temp;
var currImg=document.getElementById("img_"+temp);
currImg.src="photo/image"+myArray[temp]+".jpg";
//alert(myArray[temp]);
if(currImg1>=0 &&lastImg1>=0)
{
if(myArray[currImg1]==myArray[lastImg1])
{
count++;
currImg1=lastImg1=-1;
if(count>=n)
{
clearInterval(myinter);
mytime=mytime+((n*2)+40);
alert("恭喜进入下一关,点击确认继续");
createTable();
count=0;
}
}
else
{
var lastImg=document.getElementById("img_"+lastImg1);
lastImg.src="photo/image0.jpg";
isused[lastImg1]=false;
}
}
}
function setTime()//计时器
{
minute=Math.floor(mytime/60);
secoud=mytime%60;
str1=String(minute+100).substr(1,2)+":"+String(secoud+100).substr(1,2);
document.getElementById("mt2").innerHTML=str1;
mytime--;
if(mytime<0)
{
clearInterval(myinter);
}
}
</script>
<style type="text/css">
<!--
body {
background-image: url(photo/bg1.jpg);
background-repeat: repeat;
}
body,td,th {
color: #06F;
font-size: 24px;
font-weight: bold;
}
-->
</style></head>
<body><br>
<br><br>
<br><br><br>
<br>
<div id="mt4" align="center"></div>
<div id="mt2" align="center">
<p>时间</p>
</div>
<table width="100%" border="0" align="center">
<tr>
<td align="center"><br>
<div id="mt"> </div>
<p>
<input name="按钮" type="button" id="b1" onClick="createTable();" value="start"/>
</p></td>
</tr>
</table>
<br>
<p> </p>
</body>
</html>
C语言
#include "stdio.h"
#define MAX2 20
typedef char DataType ;
typedef struct CTypeNode_child{/* 单链表的表结点 */
int child;
struct CTypeNode_child *next;
}Cptr;
typedef struct CTypeNode_head{
DataType data;
Cptr *firstchild; /* 单链表的头结点 */
}CTypeNode;
typedef struct{
CTypeNode nodes[MAX2];
int n;/* 树的结点数目 */
}CTypeTree;
void LinkTree(CTypeTree t,DataType x) //根据结点x,输出其父节点与子结点
{
Cptr *pc;
int i,posi,parent;
for(i=0;i<t.n;i++){
if(t.nodes[i].data==x){//判断是否由此结点
posi=i;//是,保存此结点的位置
//以下代码为寻找子结点
pc=t.nodes[i].firstchild;//取子结点指针,指针为空表示无子结点
if(pc!=NULL){//是否有子结点
printf("此结点%c的子结点为",x);//循环输出其子结点
while(pc!=NULL){
printf("%c ",t.nodes[pc->child].data);
pc=pc->next;
}
}
else printf("此结点%c无子结点",x);
printf("\n");
break;//找到此结点,不用再找了,退出循环
}
}
if(i==t.n){//循环到最后否,是则表示没找到,无此结点
printf("无此结点%c\n\n",x);return;
}
//以下代码为寻找父结点
if(posi==0) //是否根结点
printf("此结点%c为根节点\n",x);//是,输出根节点
else {
parent=-1;
for(i=0;i<t.n;i++){
pc=t.nodes[i].firstchild; //循环找每个结点
while(pc!=NULL){
if(pc->child==posi){ //其子结点编号是否与当前结点编号一致
parent=i;goto lab; //是,则找到父结点,退出
}
pc=pc->next;//指针移到下一个子结点,继续寻找。
}
}
lab:if(parent==-1) printf("数据输入错误\n");//若没找到父节点,则数据输入有错
else printf("此结点%c的父结点为%c\n",x,t.nodes[parent].data);//输出父结点
}
printf("\n");
}
int main(int argc, char* argv[])
{ printf("133 树的孩子兄弟结点表示\n");
CTypeTree t;
Cptr cps[9];;
t.n=9;
int i;
for(i=0;i<t.n;i++){
t.nodes[i].data='A'+i;
t.nodes[i].firstchild=NULL;
cps[i].next=NULL;
cps[i].child=i;
}
t.nodes[0].firstchild=&cps[1]; cps[1].next=&cps[2]; cps[2].next=&cps[3];
t.nodes[1].firstchild=&cps[4];
t.nodes[3].firstchild=&cps[5];cps[5].next=&cps[6]; cps[6].next=&cps[7];
t.nodes[6].firstchild=&cps[8];
char c[20];
while(true){
printf("请输入结点数据:");
scanf("%s",c);
if(c[0]=='0') break;
//if(c=='\n') continue;
LinkTree(t,c[0]);
}
return 0;
}