python实现团队游戏小程序——你画我猜

原文见我的个人博客
大学经常组织你画我猜游戏,这次学习python正好写了一个游戏自动发题和记分,只需要维护题库就行。直接上源码tinyGame.py

运行时用

python3 -u tinyGame.py

执行

import time

import random



def changePoint(playerPoints: dict):

​    str = input('输入参与者得分情况(add(sub) name point)')

​    cmd = str.split()

​    if(cmd[1] in playerPoints):

​        if(cmd[0] == 'add'):

​            playerPoints[cmd[1]] += int(cmd[2])

​            print(cmd[1], '增加', cmd[2], '分\n')

​        elif(cmd[0] == 'sub'):

​            playerPoints[cmd[1]] -= int(cmd[2])

​            print(cmd[1], '减少', cmd[2], '分\n')

​    else:

​        print('参与者姓名不存在!请重新输入\n')



def showPlayerPoints(playerPoints: dict):

​    print('姓名\t得分')

​    for p in playerPoints:

​        print(p, '\t', playerPoints[p])

​    print()



def paintAndGuess(playerPoints: dict, orinArr: list):

​    print('************欢迎来到你画我猜游戏************')

​    probNum = int(input('现在请输入每组的题量'))

​    probNum = probNum * len(playerPoints)

​    if(probNum > len(orinArr)):

​        print('题库题量不足!当前仅剩', len(orinArr), '题')

​    else:

​        arr = random.sample(orinArr, probNum)

​        for a in arr:

​            orinArr.remove(a)

​        

​        while True:

​            print('输入start开始')

​            if(input() == 'start'):

​                break

​        for a in arr:

​            \# print(a)

​            for i in range(len(a)):

​                print(a[i], end=' ')

​                time.sleep(0.5)

​            print()

​            while True:

​                print('输入回车显示下一题')

​                if(input() == ''):

​                    break

​    return orinArr





def printCmds():

​    print('命令\t\t作用')

​    print('show\t\t查看积分列表')

​    print('modPoint\t增加或减少积分')

​    print('pag\t\t你画我猜游戏')

​    print('help\t\t查看所有命令和用法')

​    print('endGame\t\t退出程序')

​    print('\n')





playerNum = int(input('please input the num of players\n'))

print()

players = [n for n in range(playerNum)]

playerPoints = {}



for i in range(playerNum):

​    print(i+1, 'player name')

​    players[i] = input()

​    playerPoints[players[i]] = 0

print('\n')



file1 = open('./paintAndGuess.txt')

orinArr = file1.read().split('\n')

orinArr.remove('')

file1.close



while True:

​    print('请输入要做的事,不知道要做什么请输入help')

​    cmd = input()

​    if(cmd == 'endGame'):

​        break

​    elif(cmd == 'modPoint'):

​        changePoint(playerPoints)

​    elif(cmd == 'help'):

​        printCmds()

​    elif(cmd == 'pag'):

​        orinArr = paintAndGuess(playerPoints, orinArr)



​    elif(cmd == 'show'):

​        showPlayerPoints(playerPoints)

​    else:

​        print('命令不存在!您可以用以下合法命令')

​        printCmds()



print('感谢您使用本程序')

print('请多多支持我的个人博客:https://zhm-super.github.io/')

print('也请多多支持我的CSDN博客:https://blog.csdn.net/weixin_43916065?spm=1010.2135.3001.5113')

print('输入回车退出............')

while True:

​    if(input() == ''):

​        break

代码缺少题库,需要题库请自行补充或者联系博主

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值