Board logo

标题: 批处理怎样随机发牌? [打印本页]

作者: 小竹    时间: 2007-12-30 18:52     标题: 批处理怎样随机发牌?

要求:一副扑克52张牌(不包括大小王),随机发出13张。
作者: 随风    时间: 2007-12-30 21:15

以前写的个.
  1. @echo off
  2. :lis
  3. cls&setlocal enabledelayedexpansion
  4. for %%a in (黑桃 红桃 梅花 方块) do (
  5.   for /l %%b in (2 1 14) do (
  6.   set ww=00%%b
  7.   set ww=!ww:~-2!
  8.   set _!random!=!ww!-%%a
  9. ))
  10. for /f "tokens=2,3 delims=_-=" %%a in ('set _^|sort /r') do (
  11.    set /a var+=1&if !var! leq 13 set +%%a-%%b=%%a
  12. )
  13. for /f "tokens=1,2 delims=+=" %%a in ('set +^|sort') do (
  14.   for /f "tokens=1,2 delims=-" %%i in ("%%a") do (
  15.      set /a suz=100%%i%%100,jia=10
  16.      for %%k in (J Q K A) do set /a jia+=1&call set suz=%%suz:!jia!=%%k%%
  17.      set %%j=!%%j! !suz!
  18. ))
  19. for %%a in (黑桃 红桃 梅花 方块) do if not "!%%a!"=="" echo %%a !%%a!
  20. echo\&echo 按任意键,进行下一轮发牌。
  21. pause>nul&endlocal
  22. goto lis
复制代码

作者: youxi01    时间: 2007-12-30 21:24

楼上的不错,不过提个建议

黑桃,梅花等不应该由你用文字表述出来,而应该是 用批处理显示出来
比如:方块 A可以这样
------------------------
|    ◆       A     |
|                             |
|                             |
|   A               ◆     |
-----------------------
当然,还可以做的漂亮些
作者: novaa    时间: 2007-12-30 21:30

楼上的提议好。顶个。
作者: foxJL    时间: 2007-12-30 22:30

楼上建议不错,我刚写好就照你们说的改了一下,看看效果如何.
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,13) do (call :random&call :model)
  3. echo.&pause>nul&exit
  4. :random
  5. set random1=%random%
  6. set random2=%random%
  7. set /a random1%%=14
  8. set /a random2%%=5
  9. if %random1% equ 0 (goto random) else (
  10. (set 11=J)&(set 12=Q)&(set 13=K)
  11. if %random2% equ 0 (goto random) else (
  12. (set 1=桃)&(set 2=杏)&(set 3=梅)&(set 4=方)
  13. set model=!%random2%!
  14. if %random1% lss 11 (
  15. if %random1% equ 1 (set num= A) else (set num= !random1!)
  16. ) else (set num= !%random1%!)
  17. goto :eof
  18. )
  19. )
  20. :model
  21. echo.  ┌────┐
  22. echo.  │!model!  !num!│
  23. echo.  │    │
  24. echo.  │    │
  25. echo.  │    │
  26. echo.  │    │
  27. echo.  │!num!  !model!│
  28. echo.  └────┘
  29. goto :eof
复制代码

作者: youxi01    时间: 2007-12-30 22:37

呵呵,还有一个建议
一行可以 显示 几张牌的嘛
作者: 小竹    时间: 2007-12-30 22:48     标题: 回复 2# 的帖子

是小楼吧????????????
作者: 小竹    时间: 2007-12-30 22:52     标题: 回复 3# 的帖子

请教一下,黑桃、红桃、草花的符号有怎么输呢???
作者: youxi01    时间: 2007-12-30 22:57     标题: 回复 7# 的帖子

呵呵,就是那个家伙
都叫他都用 小楼 他就是不用!!!
死脑筋!!
作者: 小竹    时间: 2007-12-30 23:00     标题: 回复 9# 的帖子

言归正传,黑桃、方块、草花符号???
作者: youxi01    时间: 2007-12-30 23:32

只会输 方块,其它的不会 输
作者: ieutk    时间: 2007-12-31 02:00

♥ ♠ ♣ ♦

在开始-程序-附件-系统工具-字符映射表,字体为“Times New Romen”,
差不多最下面的位置

[ 本帖最后由 ieutk 于 2007-12-31 02:12 编辑 ]
作者: youxi01    时间: 2007-12-31 09:35

呵呵,加分
还不错嘛
作者: 小竹    时间: 2007-12-31 10:51     标题: 回复 12# 的帖子

这个我知道,关键是怎么让它们在批处理中显示出来??




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2