欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實(shí)現(xiàn)貪吃蛇小游戲

 更新時(shí)間:2016年07月26日 09:28:31   投稿:hebedich  
本文給大家分享的是使用php實(shí)現(xiàn)貪吃蛇小游戲的代碼,其主要思路是通過(guò)session記錄位置來(lái)制作,應(yīng)該說(shuō)思路非常巧妙,推薦給大家

貪吃蛇游戲是經(jīng)典手機(jī)游戲,既簡(jiǎn)單又耐玩。通過(guò)控制蛇頭方向吃蛋,使得蛇變長(zhǎng),從而獲得積分。在諾基亞時(shí)代,風(fēng)靡整個(gè)手機(jī)界,今天我們來(lái)看看另類的,如何使用php來(lái)實(shí)現(xiàn)貪吃蛇小游戲

廢話不多說(shuō),代碼奉上:

control.php

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

相關(guān)文章

  • php mysql數(shù)據(jù)庫(kù)操作類(實(shí)例講解)

    php mysql數(shù)據(jù)庫(kù)操作類(實(shí)例講解)

    本白演示的代碼屬于較為簡(jiǎn)單的數(shù)據(jù)庫(kù)封裝類,較適合初學(xué),需要的朋友可以參考下
    2017-08-08
  • PHP Curl模擬登錄微信公眾平臺(tái)、新浪微博實(shí)例代碼

    PHP Curl模擬登錄微信公眾平臺(tái)、新浪微博實(shí)例代碼

    這篇文章主要介紹了PHP Curl模擬登錄微信公眾平臺(tái)、新浪微博實(shí)例代碼的相關(guān)資料,涉及到php curl模擬登錄相關(guān)知識(shí),需要的朋友可以參考下
    2016-01-01
  • PHP添加圖片水印、壓縮、剪切的封裝類

    PHP添加圖片水印、壓縮、剪切的封裝類

    為了防止自己辛苦制作的作品被別人竊取,經(jīng)常給作品添加水印,以此保證作品的唯一性,那么該怎么給圖片添加水印呢,如果作品尺寸過(guò)大,該如何處理呢,下面小編給大家詳細(xì)介紹有關(guān)PHP給圖片添加水印 壓縮 剪切的封裝類,需要的朋友可以參考下
    2015-08-08
  • 淺析echo(),print(),print_r(),return之間的區(qū)別

    淺析echo(),print(),print_r(),return之間的區(qū)別

    這篇文章主要是對(duì)echo(),print(),print_r(),return之間的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • Laravel學(xué)習(xí)教程之本地化模塊

    Laravel學(xué)習(xí)教程之本地化模塊

    這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之本地化模塊的相關(guān)資料,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • PHP微信紅包API接口

    PHP微信紅包API接口

    這篇文章主要介紹了PHP微信紅包API接口,針對(duì)微信高級(jí)紅包接口,開發(fā)PHP版本的API接口的主要代碼進(jìn)行分析,感興趣的小伙伴們可以參考一下
    2015-12-12
  • smarty模板引擎之分配數(shù)據(jù)類型

    smarty模板引擎之分配數(shù)據(jù)類型

    這篇文章主要介紹了smarty模板引擎之分配數(shù)據(jù)類型,實(shí)例分析了smarty模板引擎數(shù)據(jù)類型的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Thinkphp連表查詢及數(shù)據(jù)導(dǎo)出方法示例

    Thinkphp連表查詢及數(shù)據(jù)導(dǎo)出方法示例

    這篇文章主要介紹了Thinkphp連表查詢及數(shù)據(jù)導(dǎo)出方法,結(jié)合實(shí)例形式分析了thinkPHP連表查詢的操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-10-10
  • laravel-admin的圖片刪除實(shí)例

    laravel-admin的圖片刪除實(shí)例

    今天小編就為大家分享一篇laravel-admin的圖片刪除實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • laravel技巧之查詢構(gòu)造器Query Builder疊加鏈?zhǔn)秸{(diào)用的方法

    laravel技巧之查詢構(gòu)造器Query Builder疊加鏈?zhǔn)秸{(diào)用的方法

    這篇文章主要給大家介紹了關(guān)于laravel技巧之查詢構(gòu)造器Query Builder疊加鏈?zhǔn)秸{(diào)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-12-12

最新評(píng)論