Home > Backend Development > PHP Tutorial > How to write a stand-alone game Snake in PHP

How to write a stand-alone game Snake in PHP

墨辰丷
Release: 2023-03-29 09:32:01
Original
5102 people have browsed it

php can write stand-alone games. The implementation method is as follows: first create a "control.php" and "main.php" files; then create a "tcs.php" file; and finally create it through the session record location Just play stand-alone.

How to write a stand-alone game Snake in PHP

Can php write games? There must be some friends who have such questions. The answer is yes. Although PHP is still lacking in writing large-scale games, it is still possible to write some small stand-alone games, such as some casual games and intellectual games! This article shares with you the code for using PHP to implement the Snake stand-alone game. The main idea is to record the position through the session. It should be said that the idea is very clever and I recommend it to everyone.

Snake Game is a very classic stand-alone mobile phone game that is both simple and playable; its simple and easy-to-play gameplay has been loved by many players. Eat eggs by controlling the direction of the snake's head to make the snake grow longer and gain points. In the era of Nokia, it was popular in the entire mobile phone industry. Today we will take a look at the alternative, how to use PHP to implement the Snake game

Without further ado, here is the code:

control. php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
  </head>
  <body>
     <a href="control.php?a=up">上<a/>       <?session_start(); echo $_SESSION[&#39;count&#39;];?>分<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[&#39;a&#39;]){
        case "up";
          $_SESSION[&#39;con&#39;]="up";
        break;
        case "down":
          $_SESSION[&#39;con&#39;]="down";
        break;
        case "left":
          $_SESSION[&#39;con&#39;]="left";
        break;
        case "right":
          $_SESSION[&#39;con&#39;]="right";
        break;
      }
    ?>
  </body>
</html>
Copy after login

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>
Copy after login

tcs.php

<?php
  session_start();
  $_SESSION[&#39;ud&#39;];
  $_SESSION[&#39;lr&#39;];  
  $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[&#39;a&#39;])&&!isset($_SESSION[&#39;b&#39;])){
    $_SESSION[&#39;a&#39;] =rand(0,290);
    $_SESSION[&#39;b&#39;] =rand(0,290);
  }
  if(isset($_SESSION[&#39;a&#39;])&&isset($_SESSION[&#39;b&#39;])){
    imagerectangle($im,$_SESSION[&#39;a&#39;],$_SESSION[&#39;b&#39;],$_SESSION[&#39;a&#39;]+10,$_SESSION[&#39;b&#39;]+10,$red); 
  }
  if(abs(($_SESSION[&#39;lr&#39;]-$_SESSION[&#39;a&#39;]))<=5&&abs($_SESSION[&#39;ud&#39;]-$_SESSION[&#39;b&#39;])<=5){
    unset($_SESSION[&#39;a&#39;]);
    unset($_SESSION[&#39;b&#39;]);
    $_SESSION[&#39;count&#39;]++;
  }
  switch($_SESSION[&#39;con&#39;]){
    case "up";
      if($_SESSION[&#39;ud&#39;]>10)
        $_SESSION[&#39;ud&#39;]-=10;
      else
        $_SESSION[&#39;ud&#39;]=0;
    break;
    case "down":
      if($_SESSION[&#39;ud&#39;]<=280)
        $_SESSION[&#39;ud&#39;]+=10;
      else
        $_SESSION[&#39;ud&#39;]=290;
    break;
    case "left":
      if($_SESSION[&#39;lr&#39;]>10)
        $_SESSION[&#39;lr&#39;]-=10;
      else
        $_SESSION[&#39;lr&#39;]=0;
    break;
    case "right":
      if($_SESSION[&#39;lr&#39;]<=280)
        $_SESSION[&#39;lr&#39;]+=10;
      else
        $_SESSION[&#39;lr&#39;]=290;
    break;
  }
  for($i=0;$i<=$_SESSION[&#39;count&#39;];$i++){
    switch($_SESSION[&#39;con&#39;]){
      case "up":
        $_SESSION[&#39;udnext&#39;] = $_SESSION[&#39;ud&#39;]+10*$i;
        imagerectangle($im,$_SESSION[&#39;lr&#39;],$_SESSION[&#39;udnext&#39;],$_SESSION[&#39;lr&#39;]+10,$_SESSION[&#39;udnext&#39;]+10,$blue);
        // imagerectangle($im,$_SESSION[&#39;lr&#39;],$_SESSION[&#39;udtime&#39;][time()-$i],$_SESSION[&#39;lr&#39;]+10,$_SESSION[&#39;udtime&#39;][time()-$i]+10,$blue);
      break;
      case "down":
        $_SESSION[&#39;udnext&#39;] = $_SESSION[&#39;ud&#39;]-10*$i;
        imagerectangle($im,$_SESSION[&#39;lr&#39;],$_SESSION[&#39;udnext&#39;],$_SESSION[&#39;lr&#39;]+10,$_SESSION[&#39;udnext&#39;]+10,$blue);
        // imagerectangle($im,$_SESSION[&#39;lr&#39;],$_SESSION[&#39;udtime&#39;][time()+$i],$_SESSION[&#39;lr&#39;]+10,$_SESSION[&#39;udtime&#39;][time()+$i]+10,$blue);
      break;
      case "left":
        $_SESSION[&#39;lrnext&#39;] = $_SESSION[&#39;lr&#39;]+10*$i;
        imagerectangle($im,$_SESSION[&#39;lrnext&#39;],$_SESSION[&#39;ud&#39;],$_SESSION[&#39;lrnext&#39;]+10,$_SESSION[&#39;ud&#39;]+10,$blue);
        // imagerectangle($im,$_SESSION[&#39;lrtime&#39;][time()-$i],$_SESSION[&#39;ud&#39;],$_SESSION[&#39;lrtime&#39;][time()-$i]+10,$_SESSION[&#39;ud&#39;]+10,$blue);
      break;
      case "right":
        $_SESSION[&#39;lrnext&#39;] = $_SESSION[&#39;lr&#39;]-10*$i;
        imagerectangle($im,$_SESSION[&#39;lrnext&#39;],$_SESSION[&#39;ud&#39;],$_SESSION[&#39;lrnext&#39;]+10,$_SESSION[&#39;ud&#39;]+10,$blue);
        // imagerectangle($im,$_SESSION[&#39;lrtime&#39;][time()+$i],$_SESSION[&#39;ud&#39;],$_SESSION[&#39;lrtime&#39;][time()+$i]+10,$_SESSION[&#39;ud&#39;]+10,$blue);
      break;
    }
    //imagerectangle($im,$_SESSION[&#39;lr&#39;],$_SESSION[&#39;ud&#39;],$_SESSION[&#39;lr&#39;]+10,$_SESSION[&#39;ud&#39;]+10,$blue);
  }
  header("Content-Type: image/jpeg");
  imagejpeg($im);
  imagedestroy($im);  
?>
Copy after login

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

php Detailed explanation of file splitting and merging to achieve breakpoint resume transfer

php Implement WeChat development to obtain user information

phpMethod to implement verification code applet

The above is the detailed content of How to write a stand-alone game Snake in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template