現(xiàn)在的網(wǎng)絡(luò)游戲五花八門既簡單又耐玩。通過控制蛇頭方向吃蛋,使得蛇變長,從而獲得積分。小時候我們只懂得玩,但是現(xiàn)在我們也可以自己動手實現(xiàn)這個小游戲了。今天我們就來看看如何通過php代碼來實現(xiàn)這個小游戲。
control.php
"utf-8"
/>
echo
$_SESSION
[
'count'
];?>分
switch
(
$_GET
[
'a'
]){
case
"up"
;
$_SESSION
[
'con'
]=
"up"
;
break
;
case
"down"
:
$_SESSION
[
'con'
]=
"down"
;
break
;
case
"left"
:
$_SESSION
[
'con'
]=
"left"
;
break
;
case
"right"
:
$_SESSION
[
'con'
]=
"right"
;
break
;
}
?>
my.php
<
html
>
<
head
>
<
meta
charset
=
"utf-9"
/>
<
meta
http-equiv
=
"refresh"
content
=
"0.5"
/>
head
>
<
frameset
rows
=
"95,*"
border
=
"1"
noresize >
<
frame
src
=
"control.php"
name
=
"top"
/>
<
frame
src
=
"./tcs.php"
name
=
"menu"
/>
frameset
>
html
>
tcs.php
session_start();
$_SESSION
[
'ud'
];
$_SESSION
[
'lr'
];
$im
= imagecreatetruecolor(300,300);
$blue
= imagecolorallocate(
$im
,0,0,255);
$red
= imagecolorallocate(
$im
,255,0,0);
$c1
= imagecolorallocate(
$im
,200,200,200);
imagefill(
$im
,0,0,
$c1
);
if
(!isset(
$_SESSION
[
'a'
])&&!isset(
$_SESSION
[
'b'
])){
$_SESSION
[
'a'
] =rand(0,290);
$_SESSION
[
'b'
] =rand(0,290);
}
if
(isset(
$_SESSION
[
'a'
])&&isset(
$_SESSION
[
'b'
])){
imagerectangle(
$im
,
$_SESSION
[
'a'
],
$_SESSION
[
'b'
],
$_SESSION
[
'a'
]+10,
$_SESSION
[
'b'
]+10,
$red
);
}
if
(
abs
((
$_SESSION
[
'lr'
]-
$_SESSION
[
'a'
]))<=5&&
abs
(
$_SESSION
[
'ud'
]-
$_SESSION
[
'b'
])<=5){
unset(
$_SESSION
[
'a'
]);
unset(
$_SESSION
[
'b'
]);
$_SESSION
[
'count'
]++;
}
switch
(
$_SESSION
[
'con'
]){
case
"up"
;
if
(
$_SESSION
[
'ud'
]>10)
$_SESSION
[
'ud'
]-=10;
else
$_SESSION
[
'ud'
]=0;
break
;
case
"down"
:
if
(
$_SESSION
[
'ud'
]<=280)
$_SESSION
[
'ud'
]+=10;
else
$_SESSION
[
'ud'
]=290;
break
;
case
"left"
:
if
(
$_SESSION
[
'lr'
]>10)
$_SESSION
[
'lr'
]-=10;
else
$_SESSION
[
'lr'
]=0;
break
;
case
"right"
:
if
(
$_SESSION
[
'lr'
]<=280)
$_SESSION
[
'lr'
]+=10;
else
$_SESSION
[
'lr'
]=290;
break
;
}
for
(
$i
=0;
$i
<=
$_SESSION
[
'count'
];
$i
++){
switch
(
$_SESSION
[
'con'
]){
case
"up"
:
$_SESSION
[
'udnext'
] =
$_SESSION
[
'ud'
]+10*
$i
;
imagerectangle(
$im
,
$_SESSION
[
'lr'
],
$_SESSION
[
'udnext'
],
$_SESSION
[
'lr'
]+10,
$_SESSION
[
'udnext'
]+10,
$blue
);
// imagerectangle($im,$_SESSION['lr'],$_SESSION['udtime'][time()-$i],$_SESSION['lr']+10,$_SESSION['udtime'][time()-$i]+10,$blue);
break
;
case
"down"
:
$_SESSION
[
'udnext'
] =
$_SESSION
[
'ud'
]-10*
$i
;
imagerectangle(
$im
,
$_SESSION
[
'lr'
],
$_SESSION
[
'udnext'
],
$_SESSION
[
'lr'
]+10,
$_SESSION
[
'udnext'
]+10,
$blue
);
// imagerectangle($im,$_SESSION['lr'],$_SESSION['udtime'][time()+$i],$_SESSION['lr']+10,$_SESSION['udtime'][time()+$i]+10,$blue);
break
;
case
"left"
:
$_SESSION
[
'lrnext'
] =
$_SESSION
[
'lr'
]+10*
$i
;
imagerectangle(
$im
,
$_SESSION
[
'lrnext'
],
$_SESSION
[
'ud'
],
$_SESSION
[
'lrnext'
]+10,
$_SESSION
[
'ud'
]+10,
$blue
);
// imagerectangle($im,$_SESSION['lrtime'][time()-$i],$_SESSION['ud'],$_SESSION['lrtime'][time()-$i]+10,$_SESSION['ud']+10,$blue);
break
;
case
"right"
:
$_SESSION
[
'lrnext'
] =
$_SESSION
[
'lr'
]-10*
$i
;
imagerectangle(
$im
,
$_SESSION
[
'lrnext'
],
$_SESSION
[
'ud'
],
$_SESSION
[
'lrnext'
]+10,
$_SESSION
[
'ud'
]+10,
$blue
);
// imagerectangle($im,$_SESSION['lrtime'][time()+$i],$_SESSION['ud'],$_SESSION['lrtime'][time()+$i]+10,$_SESSION['ud']+10,$blue);
break
;
}
//imagerectangle($im,$_SESSION['lr'],$_SESSION['ud'],$_SESSION['lr']+10,$_SESSION['ud']+10,$blue);
}
header(
"Content-Type: image/jpeg"
);
imagejpeg(
$im
);
imagedestroy(
$im
);
?>
關(guān)鍵詞: