俺的斗地主脚本已经基本完成了前台界面,现正处于后台部分.http://www.cn-dos.net/forum/viewthread.php?tid=50331&fpage=1
最近写了牌型检测模块,V0.2版在2楼测试完成后再优化嵌入斗地主脚本
如玩家输入一串牌7890JQKA,电脑返回 顺子 字样
玩家输入一串牌JQKA2,电脑返回 违规 字样
0代表10 N代表王
现发布测试,大家有事没事欢迎回帖!
代码如下:
[ Last edited by sl543001 on 2010-3-12 at 11:39 ]
最近写了牌型检测模块,V0.2版在2楼测试完成后再优化嵌入斗地主脚本
如玩家输入一串牌7890JQKA,电脑返回 顺子 字样
玩家输入一串牌JQKA2,电脑返回 违规 字样
0代表10 N代表王
现发布测试,大家有事没事欢迎回帖!
代码如下:
@echo off&SETLOCAL ENABLEDELAYEDEXPANSION&(CHCP 437 &GRAFTABL 936)>NUL
title sybn 斗地主牌型检测模块V0.1
:2
set /p p6s=请输入牌型如7890JQKA,N代表王,0代表10:
set p6s=0%p6s:1=A%
set px=违规!
for %%a in (3 4 5 6 7 8 9 0 J Q K A 2 N) do set ps%%a=0
for /l %%a in (1,1,20) do for /f %%b in ("!p6s:~%%a,1!") do set /a ps%%b+=1
set /a p6zs=%ps3%+%ps4%+%ps5%+%ps6%+%ps7%+%ps8%+%ps9%+%ps0%+%psj%+%psq%+%psk%+%psa%+%ps2%+%psn%
set p6ss=%ps3%%ps4%%ps5%%ps6%%ps7%%ps8%%ps9%%ps0%%psj%%psq%%psk%%psa%-%ps2%%psn%$
title sybn 斗地主牌型检测模块V0.1 中间代码: %p6ss% . %p6zs%张
::单牌
if %p6zs% == 1 set px=单牌
::3张和飞机
::解释: %p6ss:3=.% == %p6ss% 表示%p6ss%中没有3则if生效,加上not表示有3则if生效
if %p6zs% == 3 if not %p6ss:3=.% == %p6ss% set px=3张
if %p6zs% == 4 if not %p6ss:3=.% == %p6ss% set px=3带1
if %p6zs% == 5 if not %p6ss:3=.% == %p6ss% if not %p6ss:2=.% == %p6ss% set px=3带对
if %p6zs% == 6 if not %p6ss:33=.% == %p6ss% set px=飞机
if %p6zs% == 8 if not %p6ss:33=.% == %p6ss% set px=飞机带单
if %p6zs% == 10 if not %p6ss:33=.% == %p6ss% if %p6ss:1=.% == %p6ss% set px=飞机带对
if %p6zs% == 9 if not %p6ss:333=.% == %p6ss% set px=三顺
if %p6zs% == 12 if not %p6ss:333=.% == %p6ss% set px=三顺带单
if %p6zs% == 15 if not %p6ss:333=.% == %p6ss% if %p6ss:1=.% == %p6ss% set px=三顺带对
if %p6zs% == 12 if not %p6ss:3333=.% == %p6ss% set px=三大顺
if %p6zs% == 16 if not %p6ss:3333=.% == %p6ss% set px=三大顺带单
set p6ss3=%p6ss:3333=.%
if %p6zs% == 20 if not %p6ss:3333=.% == %p6ss% if %p6ss:1=.% == %p6ss% if %p6ss3:3=.% == %p6ss3% set px=三大顺带对
if %p6zs% == 15 if not %p6ss:33333=.% == %p6ss% set px=三巨顺
if %p6zs% == 20 if not %p6ss:33333=.% == %p6ss% set px=三巨顺带单
if %p6zs% == 18 if not %p6ss:333333=.% == %p6ss% set px=三神顺
::对子和兄弟
if %p6zs% == 2 if %p6ss:1=.% == %p6ss% set px=对子
if %p6zs% == 6 if not %p6ss:222=.% == %p6ss% set px=3兄弟
if %p6zs% == 8 if not %p6ss:2222=.% == %p6ss% set px=4兄弟
if %p6zs% == 10 if not %p6ss:22222=.% == %p6ss% set px=5兄弟
if %p6zs% == 12 if not %p6ss:222222=.% == %p6ss% set px=6兄弟
if %p6zs% == 14 if not %p6ss:2222222=.% == %p6ss% set px=7兄弟
if %p6zs% == 16 if not %p6ss:22222222=.% == %p6ss% set px=8兄弟
if %p6zs% == 18 if not %p6ss:222222222=.% == %p6ss% set px=9兄弟
if %p6zs% == 20 if not %p6ss:2222222222=.% == %p6ss% set px=10兄弟
::顺子
if %p6zs% == 5 if not %p6ss:11111=.% == %p6ss% set px=5张顺子
if %p6zs% == 6 if not %p6ss:111111=.% == %p6ss% set px=6张顺子
if %p6zs% == 7 if not %p6ss:1111111=.% == %p6ss% set px=7张顺子
if %p6zs% == 8 if not %p6ss:11111111=.% == %p6ss% set px=8张顺子
if %p6zs% == 9 if not %p6ss:111111111=.% == %p6ss% set px=9张顺子
if %p6zs% == 10 if not %p6ss:1111111111=.% == %p6ss% set px=10张顺子
if %p6zs% == 11 if not %p6ss:11111111111=.% == %p6ss% set px=11张顺子
if %p6zs% == 12 if not %p6ss:111111111111=.% == %p6ss% set px=12张顺子
::炸弹
if %p6zs% == 4 if not %p6ss:4=.% == %p6ss% set px=4炸
if %p6zs% == 2 if not %p6ss:2$=.% == %p6ss% set px=王炸
echo.
echo. %px%:%p6s:~1,99%
echo.
goto :2
[ Last edited by sl543001 on 2010-3-12 at 11:39 ]
