php怎樣寫貪吃蛇小遊戲

來源:互聯網
上載者:User
本文給大家分享的是使用php實現貪吃蛇小遊戲的代碼,其主要思路是通過session記錄位置來製作,應該說思路非常巧妙,推薦給大家

貪吃蛇遊戲是經典手機遊戲,既簡單又耐玩。通過控制蛇頭方向吃蛋,使得蛇變長,從而獲得積分。在諾基亞時代,風靡整個手機界,今天我們來看看另類的,如何使用php來實現貪吃蛇小遊戲

廢話不多說,代碼奉上:

control.php

<!DOCTYPE html><html>  <head>    <meta charset="utf-8"/>  </head>  <body>     <a href="control.php?a=up">上<a/>       <?session_start(); echo $_SESSION['count'];?>分<br/>    <a href="control.php?a=left">左<a/> <a href="control.php?a=right">右<a/><br/>     <a href="control.php?a=down">下<a/>    <?             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;      }    ?>  </body></html>

main.php

<!DOCTYPE html><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

<?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);  ?>

總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.