佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 994|回复: 17

.bat问题

[复制链接]
发表于 9-3-2015 09:14 PM | 显示全部楼层 |阅读模式
问下圈叉游戏/井字游戏/三子棋 只用goto,set,set /p ,echo,pause 不能用if要怎样做出来找了很多网站都是有用if没goto。。。

http://mastahhaxorsources.blogspot.com/2010/06/tic-tac-toe-noughts-and-crosses.html

http://tieba.baidu.com/p/1186715661?pid=13947403704&cid=0#13947403704


回复

使用道具 举报


ADVERTISEMENT

发表于 10-3-2015 04:52 PM | 显示全部楼层
  1. @echo off
  2. cls
  3. :astart notepad
  4. goto :a
复制代码


不明白你要问的是什么
但你明白上面这段 code 是在做什么吗?
回复

使用道具 举报

 楼主| 发表于 11-3-2015 09:16 AM | 显示全部楼层
nick_khor 发表于 10-3-2015 04:52 PM
不明白你要问的是什么
但你明白上面这段 code 是在做什么吗?

@echo off
cls
:a
start notepad
goto :a
不是这样吗?

不知道什么意思 只知道cls=清屏
goto (xxx)会去到 :(xxx)那边

start notepad《--不知道
回复

使用道具 举报

发表于 11-3-2015 09:59 AM | 显示全部楼层

你可以试一试这个 batch script (后果严重自负啊)
兄弟,你要问的问题是这个游戏不用 if else statement 怎么写?
回复

使用道具 举报

 楼主| 发表于 12-3-2015 04:11 PM | 显示全部楼层
nick_khor 发表于 11-3-2015 09:59 AM
你可以试一试这个 batch script (后果严重自负啊)
兄弟,你要问的问题是这个游戏不用 if else stateme ...

lol 有什么后果 损坏文件的不想试

嗯 看到的全部都是if goto的没一个
回复

使用道具 举报

发表于 12-3-2015 04:33 PM | 显示全部楼层
lowwenbin 发表于 12-3-2015 04:11 PM
lol 有什么后果 损坏文件的不想试

嗯 看到的全部都是if goto的没一个

那逻辑上就是如果有中 condition, then 去 XXX,要不然就下一行
请问你纠结什么?
回复

使用道具 举报

Follow Us
 楼主| 发表于 12-3-2015 05:29 PM | 显示全部楼层
本帖最后由 lowwenbin 于 12-3-2015 05:32 PM 编辑
nick_khor 发表于 12-3-2015 04:33 PM
那逻辑上就是如果有中 condition, then 去 XXX,要不然就下一行
请问你纠结什么?

@echo off


echo insert player 1 name :
set /p A=
echo insert player 2 name :
set /p B=

:main

goto maingoto p
:lose
echo lose
goto p
:win
echo win
goto p
:p
pause

纠结中间的要用 什么写 set/goto


回复

使用道具 举报

发表于 12-3-2015 06:54 PM | 显示全部楼层
本帖最后由 nick_khor 于 12-3-2015 06:56 PM 编辑

run command "set /?"

找 /P

SET /P variable=[promptString]
The /P switch allows you to set the value of a variable to a line of input entered by the user.  Displays the specified promptString before reading the line of input.  The promptString can be empty.

btw
  1. :main
  2. goto maingoto p
复制代码
没有 maingoto 这个 section,但如果你把 "maingoto" 分成 "main goto"
那将会是一个 infinite loop
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 12-3-2015 07:10 PM | 显示全部楼层
lol打错 是
goto main
goto p

能教教我怎样set中间的?
回复

使用道具 举报

发表于 12-3-2015 07:15 PM | 显示全部楼层
lowwenbin 发表于 12-3-2015 07:10 PM
lol打错 是
goto main
goto p

就算是 goto main
goto p
也永远都是 infinite loop

因为 :main 过后就是 "goto main",你想一想吧

然后你要 set 什么中间?
回复

使用道具 举报

 楼主| 发表于 12-3-2015 07:57 PM | 显示全部楼层
@eCho off
setlocal enabledelayedexpansion
echo 1丨2 丨3
echo ─┼─┼─
echo 4丨5 丨6
echo ─┼─┼─
echo 7丨8 丨9
echo 图中数字表示格子位置,输入相应数字即可在对应格子下子
echo.
set 1=.
set 2=.
set 3=.
set 4=.
set 5=.
set 6=.
set 7=.
set 8=.
set 9=.
:main
set /p n=请输入格子位置[数字+回车]:
set /p !n!=请输入棋子类型[O/X+回车]:
echo !1!丨!2! 丨!3!
echo ─┼─┼─
echo !4!丨!5! 丨!6!
echo ─┼─┼─
echo !7!丨!8! 丨!9!
goto main
pause

这个是有点接近的cmd 只是不是我要的那种 我只是大概照着他的打
回复

使用道具 举报

 楼主| 发表于 12-3-2015 08:01 PM | 显示全部楼层
nick_khor 发表于 12-3-2015 07:15 PM
就算是 goto main
goto p
也永远都是 infinite loop

我要的是http://tieba.baidu.com/p/1186715661?pid=13947403704&cid=0#13947403704大概是这种 不过不能用if。。。。
刚刚发的是因为不会3条线就赢

回复

使用道具 举报

发表于 14-3-2015 03:31 PM | 显示全部楼层
lowwenbin 发表于 12-3-2015 08:01 PM
我要的是http://tieba.baidu.com/p/1186715661?pid=13947403704&cid=0#13947403704大概是这种 不过不能用 ...

对不起,不知从何下手
回复

使用道具 举报

 楼主| 发表于 14-3-2015 03:46 PM | 显示全部楼层
nick_khor 发表于 14-3-2015 03:31 PM
对不起,不知从何下手

我大概有一点头绪 不过不会设置输入了某3个数字就跳去:win那边
@echo off
setlocal enabledelayedexpansion
echo insert player name 1 :
set /p playerA=
echo insert player name 2 :
set /p playerB=

set 1=1,
set 2=2,
set 3=3,
set 4=4,
set 5=5,
set 6=6,
set 7=7,
set 8=8,
set 9=9,

:begin
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 1 %playerA% move ^<%num%^>:
set /p t=
set %t%=
goto begin2
:begin2
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 2 %playerB% move ^<%num%^>:
set /p t=
set %t%=
goto begin
:win1
echo player 1 %playerA% win
goto p
:win2
echo player 2 %playerB% win
goto p
:p
pause

回复

使用道具 举报

发表于 14-3-2015 04:07 PM | 显示全部楼层
lowwenbin 发表于 14-3-2015 03:46 PM
我大概有一点头绪 不过不会设置输入了某3个数字就跳去:win那边
@echo off
setlocal enabledelayedexpan ...

err....
不知道你要的是不是这个
  1. if %VAR% == XXX goto ZZZ
复制代码


回复

使用道具 举报

 楼主| 发表于 14-3-2015 09:36 PM | 显示全部楼层
nick_khor 发表于 14-3-2015 04:07 PM
err....
不知道你要的是不是这个

可以用if就不用头痛了。。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 15-3-2015 12:10 PM | 显示全部楼层
本帖最后由 nick_khor 于 15-3-2015 12:12 PM 编辑
lowwenbin 发表于 14-3-2015 09:36 PM
可以用if就不用头痛了。。。。

对不起,我的 programing logic 没有那么厉害,我只知道不用 if else statement 的话是做不到的。

你要去 软件研发专区 那里发问了
回复

使用道具 举报

 楼主| 发表于 15-3-2015 09:09 PM | 显示全部楼层
nick_khor 发表于 15-3-2015 12:10 PM
对不起,我的 programing logic 没有那么厉害,我只知道不用 if else statement 的话是做不到的。
...

不要紧 已绝望 坐等在别的论坛有人肯给我知道大概要怎样做了
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 4-11-2025 04:50 PM , Processed in 0.126427 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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