找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 659|回复: 14

PHP猜拳游戏

[复制链接]
发表于 2006 年 4 月 17 日 13:01:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
此游戏只能运行在*nix的console下
( Z2 P& t5 l- _5 i# I5 U

  1. " h; m) G/ [% Y+ ?1 y- Y6 Y
  2. #!/usr/local/bin/php -q5 N  V3 D) w) y
  3. <?php
    # u: Z! u9 C  j/ C7 U! j
  4. $print_str['help'] = "--------------------- A Finger-Guessing Game ---------------------8 r* {" Z4 t5 p4 M
  5. So this is a finger-guessing game written by Yeto Chiang.
    7 L  v( j0 Y1 {: s3 a" A
  6. You can input 'help' or '?' for help and 'exit' to quit the game.' I$ t" M( F% i3 v2 P- D0 R8 o1 n
  7. Input '1' for Stone, '2' for Scissors, and '3' for Cloth.
    " m2 X0 ^4 v3 f% O$ f" {& O
  8. After inputting, please press 'Enter' button.\n\n";" w+ ?: b4 }4 x" O+ Y
  9. $print_str['win']  = "You Win!\n";
    $ p0 w! c5 v7 Z: w7 E
  10. $print_str['lose'] = "You Lose!\n";: J7 i  C1 x2 U* s, Y" P6 W% G
  11. $print_str['draw'] = "The game was drawn!\n";6 ~9 H3 D; T& X2 \7 t$ L
  12. $print_str['1']    = "Stone";
    # V! n7 r$ ^3 r# i
  13. $print_str['2']    = "Scissors";6 j7 r& {, I  Y& M. R) @+ @  [  Y
  14. $print_str['3']    = "Cloth";; b- ~& i, j7 D' V7 F+ U% w

  15. 5 }; L9 U* T* w5 `4 b
  16. echo $print_str['help'];, k, m# C7 I' l/ U: c) }; S  c

  17. ! s$ Z& z0 h3 \8 ~# e
  18. $fp = fopen("php://stdin", "r");
    % G5 a. U+ C. R
  19. while (!feof($fp)) {
    6 Q6 K9 W6 ^- {# j; i
  20.         $computer = rand(1,3);% N" T7 o; i4 N: E  O( D& b
  21.         echo "AFGG > ";6 Z3 {0 q/ C# w2 U
  22.         switch (fgets($fp)) {3 T6 D- d4 Z; \; [* I
  23.                 case 1:% @  d5 [1 W! Z# t- S# F' v3 t
  24.                         if ($computer == 1) {
    # U2 Z: G# @3 ]9 o: E5 {
  25.                                 echo "Both you and computer are " . $print_str['1'] . "\n";
    + J1 `2 e+ P. a/ I$ B1 M4 [
  26.                                 echo $print_str['draw'];/ s3 u$ m) o1 ]9 R9 Z- W+ ^* |
  27.                         } elseif ($computer == 2) {7 J6 e6 n) r% @- Z7 K9 S
  28.                                 echo "You are " . $print_str['1'] . "\n";
    1 D- c4 c( L  K* S+ N- `
  29.                                 echo "Computer is " . $print_str['2'] . "\n";( M2 B0 _  R7 }  j5 p
  30.                                 echo $print_str['win'];
    ' X$ z0 p4 B) i' ~
  31.                         } else {
    ) ^; o' z9 S% U
  32.                                 echo "You are " . $print_str['1'] . "\n";% ~# Q5 [3 b' d; S2 w9 J
  33.                                 echo "Computer is " . $print_str['3'] . "\n";
    # O/ w/ I/ g4 U1 L, [+ E
  34.                                 echo $print_str['lose'];) t' s$ }  j2 Y! W
  35.                         }
    : ?% ?4 @5 o; K2 M2 ^4 s7 ?
  36.                         break;5 [: Q, v9 o8 g: o1 ]) `
  37.                 case 2:- K) G3 l9 z/ I" t( ~
  38.                         if ($computer == 1) {
    2 k' G# e& t% }2 Z# ~/ ?
  39.                                 echo "You are " . $print_str['2'] . "\n";
    6 f" S& r% o" t. s. U
  40.                                 echo "Computer is " . $print_str['1'] . "\n";) U, a9 c9 H3 [
  41.                                 echo $print_str['lose'];1 I* H, e5 O% n. J. g/ X
  42.                         } elseif ($computer == 2) {4 F( r, M: W" J1 T2 ~6 A) D
  43.                                 echo "Both you and computer are " . $print_str['2'] . "\n";: i. f& ~& v* X5 m5 Z0 D6 G
  44.                                 echo $print_str['draw'];/ p6 I+ x$ R9 i) K
  45.                         } else {6 v& j# B9 A# B' @  ^
  46.                                 echo "You are " . $print_str['2'] . "\n";6 x+ O' X# R: D& C. }
  47.                                 echo "Computer is " . $print_str['3'] . "\n";# e# T) O1 b' d) \* k' W' _
  48.                                 echo $print_str['win'];
    - @$ M0 {. k6 d4 D; m5 h, p
  49.                         }
    * u3 V1 `4 ~+ F" H8 u
  50.                         break;
    + {. s0 M% L' w! H5 G# [
  51.                 case 3:
    3 a. G: K5 s  \* Z4 B
  52.                         if ($computer == 1) {
    # Z, g$ [5 v/ n. \
  53.                                 echo "You are " . $print_str['3'] . "\n";$ W0 A. H, v5 S0 B- I
  54.                                 echo "Computer is " . $print_str['1'] . "\n";9 l3 D0 t  s! V0 ]
  55.                                 echo $print_str['win'];
    : |: T7 |7 e: S
  56.                         } elseif ($computer == 2) {
    5 ^$ h! l& z2 {; _$ W- V
  57.                                 echo "You are " . $print_str['3'] . "\n";
    % y9 |* S0 a$ R" ]( w
  58.                                 echo "Computer is " . $print_str['2'] . "\n";
    / z9 T1 A) E: Q( ^) v, {
  59.                                 echo $print_str['lose'];  b; X4 C- G: ~7 ]8 t3 w
  60.                         } else {# x6 p3 f8 I8 y6 a$ C4 [
  61.                                 echo "Both you and computer are " . $print_str['3'] . "\n";7 h/ q% B1 H5 v6 e
  62.                                 echo $print_str['draw'];
    6 Y$ f+ G1 F! x7 o! K
  63.                         }* N1 p; L" U& @( A  a& L+ c0 J
  64.                         break;
    + P+ M' c0 h' e& ]- G$ ~; ?" u. U
  65.                 case "exit\n":
    / e" F0 i- s2 I, e* K' p
  66.                         break 2;: P! u4 V, {$ Z9 \+ \6 T1 F
  67.                 case "?\n":
    ' B* e" C9 }9 t; w7 |
  68.                         echo $print_str['help'];5 w& v7 l* R: @* I: A" H
  69.                         break;
    0 m) V2 @5 M0 m: {" e( m& U8 c3 x" \: S
  70.                 case "help\n":
    ! ^8 b( d7 Z( F
  71.                         echo $print_str['help'];( L+ U$ X- S1 ^, t/ R
  72.                         break;% ?# ]" L6 z6 L0 o/ r1 x# T( x
  73.                 default:1 \' A! L' C' K$ |# m7 Y
  74.                         echo "Wrong input.\n";
    : k3 w3 }7 Q; b/ ~! x7 E/ W1 H
  75.                         break;6 `" P- R" d$ C* A$ o" V
  76.         }
    # P! |( K9 `: W9 D; [
  77. }
    5 F# @6 b; l. K! u' M

  78. 6 w) K, T9 m! c
  79. fclose($fp);
    3 \+ G, p& M# e( N
  80. ?>! T, F' m, @' s
复制代码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2006 年 4 月 17 日 13:02:05 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
演示看看
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 4 月 17 日 13:04:17 | 显示全部楼层
等下我截图去
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 4 月 17 日 13:12:19 | 显示全部楼层
截图0 E/ X3 ~0 ?# R7 W- `
文字版的
5 R% \: X: J, ^3 S输入1, 2, 3分别代表石头、剪刀和布. L) s0 d  }$ w. q! c/ B
输入?或help得到帮助" i) Y; r# a4 R3 D! ^; n6 T
输入exit结束程序' r$ @! ], h  g! b& ^* L/ Z
电脑出拳是随机算得的
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 4 月 17 日 13:13:07 | 显示全部楼层
一片漆黑啊~~~~~~~~`
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 4 月 17 日 13:15:45 | 显示全部楼层
原帖由 waitme 于 2006-4-17 13:13 发表
9 ?0 Z% A0 V2 S一片漆黑啊~~~~~~~~`

2 [, M  E1 V# _& V/ Y什么黑?3 ^% Q9 ]/ c: ~# [* y" L
是说我图?
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 4 月 17 日 13:17:28 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
是Linux下玩的,我还以为是网页程序呢
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 4 月 17 日 13:17:34 | 显示全部楼层
其实做个console下的dialog版也行5 |$ y8 U* R4 C6 X
不过还要PHP支持system函数
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 4 月 17 日 13:20:13 | 显示全部楼层
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 4 月 17 日 13:20:20 | 显示全部楼层
目的不是玩" ~9 m' p! |( Q; m) E- {
而是为了学习5 C) t2 H5 F9 u) s" K/ l
这里面有几个知识点呢
- B) @! `2 W% c" h. H3 z2 e比如break 2;. ^$ G* G  k1 m
我见过的程序里都很少出现7 V1 s/ y3 o0 @$ Z5 Q
这是我翻手册知道滴
3 [, ]* r! V* h0 V: t; j4 X: v  h, I再就是关于我昨天发的那篇用PHP做Shell Script的了
$ K/ m8 g. [3 k( H' p( r  W5 \8 w$ D感觉用PHP控制输入蛮有意思的
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 3 月 5 日 01:17 , Processed in 0.038311 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表