鱼C论坛

 找回密码
 立即注册
查看: 2104|回复: 0

[萌新报道] python黑框框斗地主

[复制链接]
发表于 2021-12-6 20:07:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
我一个新手刚学python,代码可能重复的地方多,冗余,不要喷哈,不写注释是因为重复的地方太多了,完全看得懂
  1. import random
  2. qi=['2','2','2','2','3','3','3','3','4','4','4','4','5','5','5','5','6','6','6','6','7','7','7','7','8','8','8','8','9','9','9','9','10','10','10','10','J','J','J','J','Q','Q','Q','Q','K','K','K','K','A','A','A','A','大','小']
  3. pu={'3':'1','4':'2','5':'3','6':'4','7':'5','8':'6','9':'7','1':'8','J':'9','Q':'1','K':'11','A':'12','2':'13','大':'14','小':'15'}
  4. zha={'3333':'16','4444':'17','5555':'18','6666':'19','7777':'20','8888':'21','9999':'22','1111':'23','JJJJ':'24','QQQQ':'25','KKKK':'26','AAAA':'27','2222':'28','大小':'29'}
  5. dui={'33':'1','44':'2','55':'3','66':'4','77':'5','88':'6','99':'7','11':'8','JJ':'9','QQ':'10','KK':'11','AA':'12','22':'13'}
  6. san={'333':'1','444':'2','555':'3','666':'4','777':'5','888':'6','999':'7','111':'8','JJJ':'9','QQQ':'10','KKK':'11','AAA':'12','222':'13'}
  7. pai=0
  8. shang=0
  9. p1=[]

  10. zh=53
  11. while pai<=27:
  12.     chu=random.randint(0,zh)
  13.     zh-=1
  14.     ban=qi[chu]
  15.     p1.append(ban)
  16.     pai+=1
  17.     qi.pop(chu)
  18. p2=qi
  19. while True:
  20.     p1.sort()
  21.     print("play1你当前的牌:",end='')
  22.     for nm in p1:
  23.         print(nm,end=' ')
  24.     print('\n')
  25.     dan=input('请输入你想出的牌(十用“1”代替,二炸弹即为“2222”以此类推,目前不支持如飞机等这种牌不一样的):')
  26.     chang=len(dan)
  27.     if p1==[]:
  28.         break
  29.     if chang==1:
  30.         if dan=='1':
  31.             
  32.             hh=pu[dan]
  33.             hh=int(hh)
  34.             if shang<hh:
  35.                 print('play1:',dan)
  36.                 b='10'
  37.                 p1.remove(b)
  38.                 shang=int(hh)
  39.             else:
  40.                 print("nm$l")
  41.                 exit()
  42.         else:
  43.             hh=pu[dan]
  44.             hh=int(hh)
  45.             if shang<hh:
  46.                 print('play1:',dan)
  47.                 for b in dan:
  48.                     p1.remove(b)
  49.                 shang=int(hh)
  50.             else:
  51.                 print("nm$l")
  52.                 exit()
  53.     elif chang==2:
  54.         if dan=='11':
  55.             
  56.             hh=dui[dan]
  57.             hh=int(hh)
  58.             if shang<hh:
  59.                 print('play1:',dan)
  60.                 b='10'
  61.                 i=0
  62.                 while i<2:
  63.                     p1.remove(b)
  64.                     i+=1
  65.                 shang=int(hh)
  66.             else:
  67.                 print("nm$l")
  68.                 exit()
  69.         else:
  70.             hh=dui[dan]
  71.             hh=int(hh)
  72.             if shang<hh:
  73.                 print('play1:',dan)
  74.                 for b in dan:
  75.                     p1.remove(b)
  76.                 shang=int(hh)
  77.             else:
  78.                 print("nm$l")
  79.                 exit()
  80.     elif chang==3:
  81.         if dan=='111':
  82.             
  83.             hh=san[dan]
  84.             hh=int(hh)
  85.             if shang<hh:
  86.                 print('play1:',dan)
  87.                 b='10'
  88.                 i=0
  89.                 while i<2:
  90.                     p1.remove(b)
  91.                     i+=1
  92.                 shang=int(hh)
  93.             else:
  94.                 print("nm$l")
  95.                 exit()
  96.         else:
  97.             hh=san[dan]
  98.             hh=int(hh)
  99.             if shang<hh:
  100.                 print('play1:',dan)
  101.                 for b in dan:
  102.                     p1.remove(b)
  103.                 shang=int(hh)
  104.             else:
  105.                 print("nm$l")
  106.                 exit()
  107.     elif chang==4:
  108.         if dan=='1111':
  109.             
  110.             hh=pu[dan]
  111.             hh=int(hh)
  112.             if shang<hh:
  113.                 print('play1:',dan)
  114.                 b='10'
  115.                 i=0
  116.                 while i<2:
  117.                     p1.remove(b)
  118.                     i+=1
  119.                 shang=int(hh)
  120.             else:
  121.                 print("nm$l")
  122.                 exit()
  123.         else:
  124.             hh=zha[dan]
  125.             hh=int(hh)
  126.             if shang<hh:
  127.                 print('play1:',dan)
  128.                 for b in dan:
  129.                     p1.remove(b)
  130.                 shang=int(hh)
  131.             else:
  132.                 print("nm$l")
  133.                 exit()
  134.     else:
  135.         print("nm$l")


  136.     p2.sort()
  137.     print("play2你当前的牌:",end='')
  138.     for nm in p2:
  139.         print(nm,end=' ')
  140.     print('\n')
  141.     dan=input('请输入你想出的牌(十用“1”代替,二炸弹即为“2222”以此类推,目前不支持如飞机等这种牌不一样的):')
  142.     chang=len(dan)
  143.     if p1==[]:
  144.         break
  145.     if chang==1:
  146.         if dan=='1':
  147.             
  148.             hh=pu[dan]
  149.             hh=int(hh)
  150.             if shang<hh:
  151.                 print('play1:',dan)
  152.                 b='10'
  153.                 p1.remove(b)
  154.                 shang=int(hh)
  155.             else:
  156.                 print("nm$l")
  157.                 exit()
  158.         else:
  159.             hh=pu[dan]
  160.             hh=int(hh)
  161.             if shang<hh:
  162.                 print('play1:',dan)
  163.                 for b in dan:
  164.                     p1.remove(b)
  165.                 shang=int(hh)
  166.             else:
  167.                 print("nm$l")
  168.                 exit()
  169.     elif chang==2:
  170.         if dan=='11':
  171.             
  172.             hh=dui[dan]
  173.             hh=int(hh)
  174.             if shang<hh:
  175.                 print('play1:',dan)
  176.                 b='10'
  177.                 i=0
  178.                 while i<2:
  179.                     p1.remove(b)
  180.                     i+=1
  181.                 shang=int(hh)
  182.             else:
  183.                 print("nm$l")
  184.                 exit()
  185.         else:
  186.             hh=dui[dan]
  187.             hh=int(hh)
  188.             if shang<hh:
  189.                 print('play1:',dan)
  190.                 for b in dan:
  191.                     p1.remove(b)
  192.                 shang=int(hh)
  193.             else:
  194.                 print("nm$l")
  195.                 exit()
  196.     elif chang==3:
  197.         if dan=='111':
  198.             
  199.             hh=san[dan]
  200.             hh=int(hh)
  201.             if shang<hh:
  202.                 print('play1:',dan)
  203.                 b='10'
  204.                 i=0
  205.                 while i<2:
  206.                     p1.remove(b)
  207.                     i+=1
  208.                 shang=int(hh)
  209.             else:
  210.                 print("nm$l")
  211.                 exit()
  212.         else:
  213.             hh=san[dan]
  214.             hh=int(hh)
  215.             if shang<hh:
  216.                 print('play1:',dan)
  217.                 for b in dan:
  218.                     p1.remove(b)
  219.                 shang=int(hh)
  220.             else:
  221.                 print("nm$l")
  222.                 exit()
  223.     elif chang==4:
  224.         if dan=='1111':
  225.             
  226.             hh=pu[dan]
  227.             hh=int(hh)
  228.             if shang<hh:
  229.                 print('play1:',dan)
  230.                 b='10'
  231.                 i=0
  232.                 while i<2:
  233.                     p1.remove(b)
  234.                     i+=1
  235.                 shang=int(hh)
  236.             else:
  237.                 print("nm$l")
  238.                 exit()
  239.         else:
  240.             hh=zha[dan]
  241.             hh=int(hh)
  242.             if shang<hh:
  243.                 print('play1:',dan)
  244.                 for b in dan:
  245.                     p1.remove(b)
  246.                 shang=int(hh)
  247.             else:
  248.                 print("nm$l")
  249.                 exit()
  250.     else:
  251.         print("nm$l")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 23:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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