ホームページ >バックエンド開発 >PHPチュートリアル >PHP でスタンドアロン ゲーム Snake を作成する方法
php はスタンドアロン ゲームを作成できます。実装方法は次のとおりです。最初に「control.php」ファイルと「main.php」ファイルを作成し、最後にセッションを使用して記録します。スタンドアロン ゲームを作成する場所。
PHPでゲームを書くことはできますか?そんな疑問を持つ友人もいるはず。答えは「はい」です。PHP は大規模なゲームを作成するのにはまだ不十分ですが、カジュアル ゲームや知的なゲームなど、いくつかの小規模なスタンドアロン ゲームを作成することは可能です。この記事では、PHP を使用して Snake スタンドアロン ゲームを実装するためのコードを紹介します。主なアイデアは、セッションを通じて位置を記録することです。このアイデアは非常に賢明であり、誰にでもお勧めします。
Snake Game は、シンプルでプレイしやすい非常に古典的なスタンドアロン モバイル ゲームで、そのシンプルでプレイしやすいゲームプレイは多くのプレイヤーに愛されています。ヘビの頭の方向を制御して卵を食べると、ヘビが長くなり、ポイントが獲得できます。 Nokia の時代には、携帯電話業界全体で人気がありました。今日は、PHP を使用して Snake ゲームを実装する方法を見ていきます
早速、コードを以下に示します:
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); ?>
概要: 以上がこの記事の全内容です、皆様の学習に少しでもお役に立てれば幸いです。
関連する推奨事項:
phpブレークポイント転送再開を実現するためのファイルの分割とマージの詳細な説明
以上がPHP でスタンドアロン ゲーム Snake を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。