用python实现的简易记牌器的demo

实现功能很简单:

初始时 1到10 以及 jkq各 4张,大小王 共两张

只要输入相应的牌号:1到10,例如 >>1     J、K、Q :例如>>j     >>大小王

此时相应的牌的数目会减少1

由此可以看出斗地主时候别人手里的牌还剩哪些。

上原始代码,没有做GUI,这个只是一个演示的demo:

#有1——10、J、Q、K各四张以及大小王,现在初始除了大小王以外均为4张,每次输入一个就会减少一。

def init(num,j,k,q,king):
    num.append(0)
    for i in range(10):
        num.append(4)
    king = 2
    j = k = q = 4
    return (num,j,k,q,king)

def judge_num(instruct,num,j,k,q,king):
    if instruct == ‘1‘:
        num[1] = num[1] - 1
    if instruct == ‘2‘:
        num[2] = num[2] - 1
    if instruct == ‘3‘:
        num[3] = num[3] - 1
    if instruct == ‘4‘:
        num[4] = num[4] - 1
    if instruct == ‘5‘:
        num[5] = num[5] - 1
    if instruct == ‘6‘:
        num[6] = num[6] - 1
    if instruct == ‘7‘:
        num[7] = num[7] - 1
    if instruct == ‘8‘:
        num[8] = num[8] - 1
    if instruct == ‘9‘:
        num[9] = num[9] - 1
    if instruct == ‘10‘:
        num[10] = num[10] - 1
    if instruct == ‘j‘ or instruct == ‘J‘:
        j = j - 1
    if instruct == ‘k‘ or instruct == ‘K‘:
        k = k - 1
    if instruct == ‘q‘ or instruct == ‘Q‘:
        q = q - 1
    if instruct == ‘大小王‘:
        king =king - 1
    if instruct == ‘复位‘ or instruct == ‘重新开始‘ or instruct == ‘重启‘:
        (num,j,k,q,king) = init(num,j,k,q,king)
    return (num,j,k,q,king)

    print(‘此时【牌1】的数目为【%d】\n此时【牌2】的数目为【%d】\n此时【牌3】的数目为【%d】\n此时【牌4】的数目为【%d】\n此时【牌5】的数目为【%d】\n此时【牌6】的数目为【%d】\n此时【牌7】的数目为【%d】\n此时【牌8】的数目为【%d】\n此时【牌9】的数目为【%d】\n此时【牌10】的数目为【%d】\n‘ %(num[1],num[2],num[3],num[4],num[5],num[6],num[7],num[8],num[9],num[10]))
    print(‘此时【牌J】的数目为【%d】\n此时【牌Q】的数目为【%d】\n此时【牌K】的数目为【%d】\n此时【大小王】的数目为【%d】\n‘ %(j,q,k,king))

‘‘‘
def main():
    print(‘请按以下格式输入:\n‘)
    print(‘如果需要对某张牌进行减法计数,就输入对应的牌数:\n格式为:\n【1】牌0到10就输入数字0到10\n【2】大小王请输入"大小王",大小王一块计数\n【3】如果需要重新开始,请输入"复位"或者"重新开始"或者"重启"。‘)
    print(‘此时【牌1】的数目为【%d】\n此时【牌2】的数目为【%d】\n此时【牌3】的数目为【%d】\n此时【牌4】的数目为【%d】\n此时【牌5】的数目为【%d】\n此时【牌6】的数目为【%d】\n此时【牌7】的数目为【%d】\n此时【牌8】的数目为【%d】\n此时【牌9】的数目为【%d】\n此时【牌10】的数目为【%d】\n‘ %(num[1],num[2],num[3],num[4],num[5],num[6],num[7],num[8],num[9],num[10]))
    print(‘此时【牌J】的数目为【%d】\n此时【牌Q】的数目为【%d】\n此时【牌K】的数目为【%d】\n此时【大小王】的数目为【%d】\n‘ %(j,q,k,king))
    instruct = input(‘请输入对面已经出过的牌数:‘)
    (num,num_dict)= judge_num(instruct,num,num_dict)
‘‘‘

if __name__ == ‘__main__‘:
    num = list()
    j = k = q = king = 0
    (num,j,k,q,king) = init(num,j,k,q,king)
    while True:
        print(‘请按以下格式输入:\n‘)
        print(‘如果需要对某张牌进行减法计数,就输入对应的牌数:\n格式为:\n【1】牌0到10就输入数字0到10\n【2】大小王请输入"大小王",大小王一块计数\n【3】如果需要重新开始,请输入"复位"或者"重新开始"或者"重启"。‘)
        print(‘此时【牌1】的数目为【%d】\n此时【牌2】的数目为【%d】\n此时【牌3】的数目为【%d】\n此时【牌4】的数目为【%d】\n此时【牌5】的数目为【%d】\n此时【牌6】的数目为【%d】\n此时【牌7】的数目为【%d】\n此时【牌8】的数目为【%d】\n此时【牌9】的数目为【%d】\n此时【牌10】的数目为【%d】\n‘ %(num[1],num[2],num[3],num[4],num[5],num[6],num[7],num[8],num[9],num[10]))
        print(‘此时【牌J】的数目为【%d】\n此时【牌Q】的数目为【%d】\n此时【牌K】的数目为【%d】\n此时【大小王】的数目为【%d】\n‘ %(j,q,k,king))
        instruct = input(‘请输入对面已经出过的牌数:‘)
        (num,j,k,q,king)= judge_num(instruct,num,j,k,q,king)

演示demo的效果:

这个只是一时兴起写的,很简陋的实现记牌数的功能,以后有空可以将其做成界面好看一点的web应用。

接下来真的匿了,专心期末了。

时间: 2024-10-09 20:29:12

用python实现的简易记牌器的demo的相关文章

python调用百度语音(语音识别-斗地主语音记牌器)

一.概述 本篇简要介绍百度语音语音识别的基本使用(其实是斗地主时想弄个记牌器又没money,抓包什么的又不会,只好搞语音识别的了) 二.创建应用 打开百度语音官网,产品与使用->语音识别->立即使用->创建应用 出现如下页面 依照提示依次填写,最终结果 (ps:我就想弄个记牌的,就起了个计数器的名) 点右方的 ‘查看key’ 记下App ID,API Key,Secret Key.接下来要用到 需要安装模块 pip install baidu-aip pip install pyaudi

[视觉] 基于YoloV3的实时摄像头记牌器

基于YoloV3的实时摄像头记牌器 最终效果 数据准备 数据获取 从摄像头拍摄各种牌型的视频各20秒,不采用人工打标签,而是通过识别出牌的边缘,将牌经过仿射变换矫正,根据牌的实际宽高以及标注位置的实际宽高得到标注位置.通过随机生成背景图片,并且将牌在背景中随机旋转和平移,去掉标注部分被遮挡的生成图片,同时将label也做同样的变换,完成数据集的获取. 先定义好将识别到的卡片zoom到我们希望的宽高: cardW=57#实际宽度 cardH=87#实际高度 cornerXmin=2 #牌的号码距左

Android笔记二十七.Bitmap之简易图片查看器

转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 为了增强用户之间的交互,Android系统中提供了一些API和部件给我们开发美观有趣的应用.比如Android系统提供了ImageView来显示静态图片.AnimationDrawble来开发逐帧动画以及通过Animation对普通图片使用不减动画等.另外,Android应用中的图片不仅包括*.png.*.jpg.*.gif等格式的位图,也包括使用XML资源文件定义的各种Drawable对象.关

Python实战:美女图片下载器,海量图片任你下载

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上Python实战:Python爬虫学习教程,获取电影排行榜,再次升级的Python网页爬虫实战课程. 1.项目概述. 利用XPath和requests模块进行网页抓取与分析,达到网页图片下载的效果. 抓爬图片地址:http://www.2c

python标准库configparser配置解析器

1 >>> from configparser import ConfigParser, ExtendedInterpolation 2 >>> parser = ConfigParser(interpolation=ExtendedInterpolation()) 3 >>> # the default BasicInterpolation could be used as well 4 >>> parser.read_string

Python学习之三大名器-装饰器、迭代器、生成器

Python学习之三大名器-装饰器.迭代器.生成器 一.装饰器     装饰,顾名思义就是在原来的基础上进行美化及完善,器这里指函数,所以说装饰器就是装饰函数,也就是在不改变原来函数的代码及调用方式的前提下对原函数进行功能上的完善.其核心原理其实是利用闭包.     格式 @关键字+装饰函数          被装饰函数()      注意:@行必须顶头写而且是在被装饰函数的正上方     按照形式可以分为:无参装饰器和有参装饰器,有参装饰器即给装饰器加上参数     以下示例是一个无参装饰器,

Python基础(八)装饰器

今天我们来介绍一下可以提升python代码逼格的东西——装饰器.在学习装饰器之前我们先来复习一下函数的几个小点,方便更好的理解装饰器的含义. 一.知识点复习 1, 在函数中f1和f1()有什么不同,f1:表示的是将整个函数看作一个整体:f1():表示执行f1函数,下面通过一个例子来看一下: 1 2 3 4 5 def f1():     print('f1') f1                    #代表函数体本身,什么也不操作 f1()                  #代表执行函数

用python实现的百度音乐下载器-python-pyqt-改进版

之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象. 前两天有时间调整了一下,做了几方面的改进: 1.修改了UI界面阻塞的问题,下载的过程中可以进行其它的UI操作; 2.爬虫程序采用一个主线程,8个子线程的方式快速爬取,网络状况一致的情况下,将扫描100首歌曲的时间提高到了8.9秒左右:(本

简易音乐播放器制作

制作简易音乐播放器: 1.功能:音乐列表,播放,暂停,上一曲,下一曲,进度条(显示进度时间,控制进度),随机播放,单曲循环,顺序播放,歌词显示等 2.使用框架:AVFoundation 3.知识点:AVPlayer 使用,pch 文件使用,封装思想,MVC模式,storyBoard的使用,消息发送机制,观察者,block回调,nstimer,nsrunloop,空间约束,第三方使用等 详细过程: 一.布局 :使用 storyBoard 布局 1.歌曲列表界面:使用 TableViewContro