




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第PHP實現(xiàn)猜數(shù)游戲本文實例為大家分享了PHP實現(xiàn)猜數(shù)游戲的具體代碼,供大家參考,具體內(nèi)容如下
猜數(shù)游戲有兩種玩法:
第一種:兩個人玩,一方出數(shù)字,一方猜。出數(shù)字的人要想好一個指定位數(shù)的數(shù),數(shù)字可重復(fù),不能讓猜的人知道。
猜的人就可以開始猜。每猜一個數(shù),出數(shù)者就要說大過或小過出的數(shù)。
第二種:兩個人玩,一方出數(shù)字,一方猜。出數(shù)字的人要先想好一個沒有重復(fù)數(shù)字的4位數(shù),不能讓猜的人知道。猜的人就可以開始猜。每猜一個數(shù),出數(shù)者就要根據(jù)這個數(shù)字給出幾A幾B,其中A前面的數(shù)字表示位置正確的數(shù)的個數(shù),而B前的數(shù)字表示數(shù)字正確而位置不對的數(shù)的個數(shù)。如正確答案為5234,而猜的人猜5346,則是1A2B,其中有一個5的位置對了,記為1A,而3和4這兩個數(shù)字對了,而位置沒對,因此記為2B,合起來就是1A2B。接著猜的人再根據(jù)出題者的幾A幾B繼續(xù)猜,直到猜中為止。
下面是PHP代碼實現(xiàn):
//標(biāo)準(zhǔn)輸入流和標(biāo)準(zhǔn)輸出流
$stdin=null;
$stdout=null;
*初始化IO流
functioninit(){
global$stdin;
global$stdout;
$stdin=fopen('php://stdin','r');
$stdout=fopen('php://stdout','w');
*關(guān)閉IO流
functiondestroy(){
global$stdin;
global$stdout;
if(is_resource($stdin)){
fclose($stdin);
if(is_resource($stdout)){
fclose($stdout);
*從命令行讀取一行數(shù)據(jù)
functionread(){
global$stdin;
$line=fgets($stdin);
returntrim($line,PHP_EOL);//去除換行符
*向命令行輸出一行數(shù)據(jù)
functionwrite($line){
global$stdout;
//轉(zhuǎn)換編碼
if(stripos(PHP_OS,'winnt')!==false){
$line=iconv('UTF-8','GBK',$line);
fwrite($stdout,$line.PHP_EOL);
*第一種玩法
*@param$count位數(shù)
functionguess_the_number($count=2){
//隨機生成一個$count位數(shù)
$min=pow(10,$count-1);
$max=pow(10,$count)-1;
$number=rand($min,$max);
init();
while(1){
write(sprintf('Pleaseinputyournumber(%s-bitdigit),qorquitexit:',$count));
$readStr=read();
//exitprogram
if($readStr=='q'||$readStr=='quit'){
break;
$readInt=intval($readStr);
if($readInt$number){
write('大了');
}elseif($readInt$number){
write('小了');
}else{
write('恭喜你,猜對了!');
write('Inputccontinuetoplay');
$readStr=read();
if($readStr=='c'||$readStr=='continue'){
$number=rand($min,$max);
}else{
break;
destroy();
*得到一個沒有重復(fù)數(shù)字的四位數(shù)
functiongetRandNumber(){
$num=rand(1,9);
$array=array_diff(array(0,1,2,3,4,5,6,7,8,9),[$num]);
shuffle($array);
$subarr=array_slice($array,0,3);//再取3個數(shù)字
$str=implode('',array_merge([$num],$subarr));
returnintval($str);
*第二種玩法
functionguess_the_number2(){
$number=getRandNumber();
$len=4;//四位數(shù)
init();
while(1){
write(sprintf('Pleaseinputyournumber(%s-bitdigit),qorquitexit:',$len));
$readStr=read();
//exitprogram
if($readStr=='q'||$readStr=='quit'){
break;
$readInt=intval($readStr);
if($readInt==$number){
write('恭喜你,猜對了!');
write('Inputccontinuetoplay');
$readStr=read();
if($readStr=='c'||$readStr=='continue'){
$number=getRandNumber();
}else{
break;
}else{
//判斷幾A幾B
$readInt=str_pad($readInt,$len,'0',STR_PAD_LEFT);//不足四位的補足四位
$number=strval($number);
$readArr=str_split($readInt,1);//casttoarray
$numArr=str_split($number,1);
$aval=0;//幾A
$bval=0;//幾B
for($i=0;$i$len;$i++){
if($readArr[$i]==$numArr[$i]){
$aval++;
unset($readArr[$i],$numArr[$i]);
$bval=count(array_intersect($readArr,$numArr));
write(sprintf('%sA%sB',$aval,$bval));
destroy();
if(PHP_S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥師執(zhí)業(yè)策略試題及答案指導(dǎo)
- 2025年初中學(xué)業(yè)水平考試地理模擬卷及答案-地理國情認(rèn)知重點題庫
- 2025年執(zhí)業(yè)醫(yī)師考試課程設(shè)置評估試題及答案
- 行政管理專科文化概論考試技巧與試題及答案
- 2025年護(hù)理人員考試試題及答案分析
- 2025年執(zhí)業(yè)藥師考試新方法試題及答案
- 自考行政管理課程安排試題及答案
- 專業(yè)指導(dǎo)2025年執(zhí)業(yè)醫(yī)師考試試題及答案
- 大學(xué)語文考試內(nèi)容總結(jié)與復(fù)習(xí)方法試題及答案
- 護(hù)理發(fā)展理念的創(chuàng)新試題及答案
- 2025安徽蚌埠市龍子湖區(qū)產(chǎn)業(yè)發(fā)展有限公司招聘22人筆試參考題庫附帶答案詳解
- 償二代下我國財險公司償付能力影響因素的深度剖析與實證研究
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 配電室運行維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 禾川x3系列伺服說明書
- 常用H型鋼理論重量表格
- 中學(xué)自主招生考試物理試題
- 四川大學(xué)-劉龍飛-畢業(yè)答辯PPT模板
- 工作分析試題及答案
- 突發(fā)事件應(yīng)急演練指南
評論
0/150
提交評論