1. 程式人生 > >PHP 剪刀石頭布程式碼簡單實現

PHP 剪刀石頭布程式碼簡單實現

1.使用argv接收引數

2.使用剪刀石頭布的下標作為判斷單位

<?php
header("Content-Type: text/html; charset=utf-8");

$value = $argv;

$a = ['剪刀','石頭','布'];
//隨機取出一個下標
$b = array_rand($a); 
$c = $a[$b];

//接收傳輸的值獲取下標
$val_a = array_search($value[1],$a); 

if(empty($val_a)){
	echo '輸入有誤';
	exit;
}

unset($value[0]);

echo "我出:".$value[1]."\n\r系統:".$c."\n\r結果:";

//程式碼邏輯1
if($b == 0){

	if($val_a == $b){
		echo '平局';
	}elseif($val_a == 1){
		echo '勝';
	}else{
		echo '負';
	}

}elseif($b == 1){

	if($val_a == $b){
		echo '平局';
	}elseif($val_a == 2){
		echo '勝';
	}else{
		echo '負';
	}

}elseif($b == 2){

	if($val_a == $b){
		echo '平局';
	}elseif($val_a == 0){
		echo '勝';
	}else{
		echo '負';
	}
}

//程式碼優化1
if($val_a == $b){
	echo '平局';
}elseif($b == 0 && $val_a == 1){
	echo '勝';
}elseif($b == 0 && $val_a == 2){
	echo '負';
}elseif($b == 1 && $val_a == 2){
	echo '勝';
}elseif($b == 1 && $val_a == 0){
	echo '負';
}elseif($b == 2 && $val_a == 0){
	echo '勝';
}elseif($b == 2 && $val_a == 1){
	echo '負';
}

//程式碼優化2
if($val_a == $b){
	echo '平局';
}elseif(($b == 0 && $val_a == 1) || ($b == 1 && $val_a == 2) || ($b == 2 && $val_a == 0)){
	echo '勝';
}else{
	echo '負';
}

?>

linux裡直接執行結果: