回 帖 发 新 帖 刷新版面

主题:[原创]猜拳小游戏

CLS
RANDOMIZE TIMER
FOR K = 1 TO 9
PRINT
NEXT
PRINT "                                   Guess Fist"
PRINT "                              Press any key to play"
PRINT "                             Press Ctrl+Break to end"
DO
LOOP UNTIL INKEY$ <> ""
CLS
FOR I = 1 TO 3
READ A$(I)
NEXT
DATA >B,O-,*-
N = FIX(RND * 3 + 1)
PRINT "   >B, Scissors, Jian Dao ; O- ,Hammer ,Cui Zi ; *- , Cloth , Bu ";
1 INPUT "", P$
IF P$ = ">B" THEN P = 1
IF P$ = "O-" THEN P = 2
IF P$ = "*-" THEN P = 3
IF P$ <> ">B" AND P$ <> "O-" AND P$ <> "*-" THEN PRINT "???": GOTO 1
PRINT "You:"; A$(P)
PRINT "Computer:"; A$(N)
IF N = 1 AND P = 1 THEN PRINT "Draw!!": GOTO 1
IF N = 1 AND P = 2 THEN PRINT "You Win!!": END
IF N = 1 AND P = 3 THEN PRINT "Computer Win!!": GOTO 1
'--------------
IF N = 2 AND P = 2 THEN PRINT "Draw!!": GOTO 1
IF N = 2 AND P = 3 THEN PRINT "You Win!!": END
IF N = 2 AND P = 1 THEN PRINT "Computer Win!!": GOTO 1
'--------------
IF N = 3 AND P = 3 THEN PRINT "Draw!!": GOTO 1
IF N = 3 AND P = 1 THEN PRINT "You Win!!": END
IF N = 3 AND P = 2 THEN PRINT "Computer Win!!": GOTO 1
'--------------
END




'有一些方法有点笨,大家不要嘲笑

回复列表 (共3个回复)

沙发

以前给小孩写了一个,简化了下,需要汉字系统支持,如果木有,请自行将“”内容改为E文或者汉语拼音



DECLARE FUNCTION operation$ (N AS INTEGER)
RANDOMIZE TIMER
CLS
'地定义变量
DIM you AS INTEGER
DIM computer AS INTEGER
DIM temp AS INTEGER
'双方输入数据
INPUT "你的选择:3石头,2剪刀,1布:", you
computer = INT(RND * 3) + 1
'显示双方选择     
PRINT "你选择了:     "; operation$(you)
PRINT "电脑选择:     "; operation$(computer)
'计算结果
COLOR 5: PRINT "游戏结果:",
temp = you - computer
IF temp = 1 THEN PRINT "你赢了"
IF temp = 0 THEN PRINT "和"
IF temp = -1 OR temp = 2 THEN PRINT "你输了"

FUNCTION operation$ (N AS INTEGER)
SELECT CASE N
   CASE 3
        operation$ = "石头"
   CASE 2
        operation$ = "剪刀"
   CASE 1
        operation$ = "布"
   CASE ELSE
        operation$ = "输入错误"
        PRINT "请输入1~3,谢谢合作"
        END
END SELECT
END FUNCTION

板凳

看不懂,我只懂一些简单的函数

3 楼

修改了一下——


CLS
SCREEN 12
RANDOMIZE TIMER
CLS
LOCATE 10, 15
PRINT TAB(34); "  Guess Fist"
PRINT TAB(29); "  Press any key to play"
PRINT TAB(28); "  Press Ctrl+Break to end "
DO
LOOP UNTIL INKEY$ <> ""
CLS
FOR I = 1 TO 3
READ A$(I)
NEXT
DATA >B,O-,*-
2 LOCATE 10, 36
PRINT "   >B, Scissors, Jian Dao ; O- ,Hammer ,Cui Zi ; *- , Cloth , Bu ";
1 N = FIX(RND * 3 + 1)
INPUT "", P$
IF P$ = ">B" THEN P = 1
IF P$ = "O-" THEN P = 2
IF P$ = "*-" THEN P = 3
IF P$ <> ">B" AND P$ <> "O-" AND P$ <> "*-" THEN PRINT : PRINT TAB(38); "Error!": GOTO 2
CLS
FOR I = 1 TO 100
LOCATE 10, 36
PRINT "Loading..."
PRINT TAB(16); STRING$(I \ 2, 219)
PRINT TAB(39); LTRIM$(STR$(I)); "%"
PRINT
FOR J = 1 TO 40000
NEXT
NEXT
CLS
LOCATE 10, 36
PRINT TAB(38); "You:"; A$(P)
PRINT TAB(37); "Computer:"; A$(N)
IF N = 1 AND P = 1 THEN PRINT TAB(37); "Draw!!": GOTO 1
IF N = 1 AND P = 2 THEN PRINT TAB(37); "You Win!!": END
IF N = 1 AND P = 3 THEN PRINT TAB(37); "Computer Win!!": GOTO 1
'--------------
IF N = 2 AND P = 2 THEN PRINT TAB(37); "Draw!!": GOTO 1
IF N = 2 AND P = 3 THEN PRINT TAB(37); "You Win!!": END
IF N = 2 AND P = 1 THEN PRINT TAB(37); "Computer Win!!": GOTO 1
'--------------
IF N = 3 AND P = 3 THEN PRINT TAB(37); "Draw!!": GOTO 1
IF N = 3 AND P = 1 THEN PRINT TAB(37); "You Win!!": END
IF N = 3 AND P = 2 THEN PRINT TAB(37); "Computer Win!!": GOTO 1
'--------------
END

我来回复

您尚未登录,请登录后再回复。点此登录或注册