我是採用比較簡單的做法,在同一個頁面處理,裡面有兩個陣列a是題目、b是解答。輸出題目以後,先隨機在答案庫中選取三個三個答案,但要把正確的排出,待三個錯誤答案出現後,再補入一個正確答案,這樣就有四個選項了。接著,把四個選項隨機排列,然後輸出就可以了。

    當使用者選擇答案後,透過post傳值的方式傳回本網頁,進行比對,告訴使用者結果。

<form action="" method="post" name="form1">
<?php
$a=array("a","b","c","d","e","f","g");
$b=array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
$c=rand(0,count($a)-1);//亂數取值

echo "請選擇英文對應的天干→".$a[$c]."<BR>";//題目
	
for($i=0;$i<3;$i++){//三個隨機選項
	$d=rand(0,count($b)-1);
	if($c!=$d){//如果是正確答案,要把他排除掉
		$e[$i]=$d;
		for ($j=0;$j<$i;$j++)
			if ($e[$i]==$e[$j])
				$i=$i-1;
	}
	else
		$i=$i-1;
}
$e[3]=$c;//正確答案的選項在這邊加入

for($i=0;$i<4;$i++){//四個選項隨機排列
	$d=rand(0,3);
		$f[$i]=$d;
		for ($j=0;$j<$i;$j++)
			if ($f[$i]==$f[$j])
				$i=$i-1;
}

for($i=0;$i<4;$i++){//輸出選項並傳送
	echo "<INPUT required=required type=radio name=ans value=".$e[$f[$i]]." >".$b[$e[$f[$i]]]."<BR>";//選擇的答案
	echo "<INPUT required=required type=hidden name=ans2 value=".$c." >";//題目
}
?>
<input name="submit" type="submit" value="選好了"> 
</form>

<?php
$ans=$_POST['ans'];//答案
$ans2=$_POST['ans2'];//題目

if(isset($ans)!=NULL){//空值不顯示
	if($b[$ans2]==$b[$ans])//比對答案與題目是否吻合
		echo "答對了。";
	else 
		echo "答錯!";
}
?>

 

寫這個是為了之前寫到一半的日文背單字小遊戲,先展示這個程式的樣子。

在框框裡不好玩,直接前往網站:http://studentweb.ncnu.edu.tw/100105503/funny/choice.php

創作者介紹

漫遊於歷史與現代之間

okplaymayday 發表在 痞客邦 PIXNET 留言(0) 人氣()