php猜单词游戏
直接复制本地运行就可以了
<?php
session_start();
header("Content-type:text/html;charset=utf-");
$url='http://'$_SERVER['HTTP_HOST']$_SERVER['PHP_SELF'];
functionget_word(){
$wordtext="Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,arepermittedprovidedthatthefollowingconditionsaremet:Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerRedistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistributionNeitherthenameofYiiSoftwareLLCnorthenamesofitscontributorsmaybeusedtoendorseorpromoteproductsderivedfromthissoftwarewithoutspecificpriorwrittenpermissionTHISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTORSASISANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAREDISCLAIMEDINNOEVENTSHALLTHECOPYRIGHTOWNERORCONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE";
$words=preg_split("/[\s,]+/",$wordtext);
do{
$i=rand(,count($words)-);
$word=strtoupper($words[$i]);
}while(strlen($word)<||!ctype_alpha($word));
return$word;
}
functionguess($word){
returnstr_repeat('_',strlen($word));
}
functionoutput($word){
$str='';
for($i=;$i<strlen($word);$i++){
$str=$word[$i]" ";
}
returnrtrim($str);
}
if(isset($_GET['op'])&&$_GET['op']=='start'){
$k=$_GET['k'];
$_SESSION['num']=$k;
exit;
}
if(isset($_GET['restart'])&&$_GET['restart']==){
session_unset();
header("location:$url");
exit;
}
if(!isset($_SESSION['word'])){
$word=get_word();
$_SESSION['word']=$word;
}else{
$word=$_SESSION['word'];
}
$guessguess_word=guess($word);
if(isset($_GET['op'])&&$_GET['op']=='ajax'){
$k=$_GET['k'];
$re='';
if(!isset($_SESSION['already'])){
$_SESSION['already']=guess($_SESSION['word']);
}
if(!isset($_SESSION['count'])){
$_SESSION['count']=;
}
if(strpos($_SESSION['word'],$k)!==false){
for($i=;$i<strlen($_SESSION['word']);$i++){
if($_SESSION['word'][$i]!=$k){
$re='_';
}else{
$re=$_SESSION['word'][$i];
}
}
for($i=;$i<strlen($_SESSION['word']);$i++){
if($_SESSION['already'][$i]=='_'){
$_SESSION['already'][$i]=$re[$i];
}
}
}else{
$_SESSION['count']+=;
}
$return=output($_SESSION['already']);
if($_SESSION['count']<=$_SESSION['num']){
if($_SESSION['already']==$_SESSION['word']){
$return="|";
}else{
$return="|";
}
}else{
$return="|";
}
echo$return;
exit;
}
?>
<script>
functionAjax(recvType){
varaj=newObject();
ajrecvType=recvType?recvTypetoUpperCase():'HTML';
ajtargetUrl='';
ajsendString='';
ajresultHandle=null;
ajcreateXMLHttpRequest=function(){
varxmlHttp=false;
if(windowXMLHttpRequest){
xmlHttp=newXMLHttpRequest();
}elseif(windowActiveXObject){
try{
xmlHttp=newActiveXObject("MsxmlXMLHTTP");
}catch(error){
try{
xmlHttp=newActiveXobject("MicrosoftXMLHttp");
}catch(error){
xmlHttp=false;
}
}
}
returnxmlHttp;
}
ajXMLHttpRequest=ajcreateXMLHttpRequest();
ajprocessHandle=function(){
if(ajXMLHttpRequestreadyState==){
if(ajXMLHttpRequeststatus==){
if(ajrecvType=="HTML"){
ajresultHandle(ajXMLHttpRequestresponseText);
}elseif(ajrecvType=="XML"){
ajresultHandle(ajXMLHttpRequestresponseXML);
}
}
}
}
ajget=function(targetUrl,resultHandle){
ajtargetUrl=targetUrl;
if(resultHandle!=null){
ajXMLHttpRequestonreadystatechange=ajprocessHandle;
ajresultHandle=resultHandle;
}
if(windowXMLHttpRequest){
ajXMLHttpRequestopen("get",ajtargetUrl);
ajXMLHttpRequestsend(null);
}else{
ajXMLHttpRequestopen("get",ajtargetUrl,true);
ajXMLHttpRequestsend();
}
}
returnaj;
}
</script>
<script>
varajax=Ajax();
functionselect(v){
documentgetElementById(v)styledisplay='none';
ajaxget("guessphp?op=ajax&k="+v,function(r){
vart=rsplit("|");
documentgetElementById('word')innerHTML=t[];
if(t[]==){
documentgetElementById('select')styledisplay='none';
documentgetElementById('result')innerHTML='成功';
}elseif(t[]==){
documentgetElementById('select')styledisplay='none';
documentgetElementById('result')innerHTML='失败';
}
});
}
functioncheck(v){
ajaxget("guessphp?op=start&k="+v,function(r){
windowlocationhref="<?phpecho$url;?>";
});
}
</script>
<?php
if(!isset($_SESSION['num'])){
echo'<inputtype="radio"onclick="check();"/>easy:wrong<br/>';
echo'<inputtype="radio"onclick="check();"/>normal:wrong<br/>';
echo'<inputtype="radio"onclick="check();"/>hard:wrong<br/>';
}else{
//echo$word;
echo"最多可以猜错"$_SESSION['num']"次";
echo"<br/>";
echo"<divid='word'>";
echooutput($guess_word);
echo"</div>";
echo'<br/>';
echo'<divid="select">';
for($i=ord('A');$i<=ord('Z');++$i){
echo"\n";
$letter=chr($i);
echo'<spanid="'$letter'"style="display:"><ahref="javascript:void();"onclick="select(\''$letter'\');">'$letter'</a></span>';
}
echo'</div>';
echo'<br/>';
echo'<br/>';
echo'<divid="result"></div>';
echo'<br/>';
echo'<br/>';
echo'<ahref="'$url'?restart=">重新开始</a>';
}
?>
这是一款php实现的猜单词游戏,希望大家可以举一反三,实现其他小游戏,熟练掌握php编程。