卡牌游戏——吃面包(人机对决 和 机机对决)

本文介绍了使用Python编程实现的一款卡牌游戏,涵盖了人机对战和机器之间的对决模式。通过算法设计,游戏展现了智能决策的策略与玩家交互的趣味性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享一个学生时期玩的扑克游戏——吃面包
代码分为人机对决 和 机机对决,分别放入了两个函数里。
'''
	玩法:没大小鬼,一人26张牌,梅花间竹出牌,不算花色,若出的牌的数字和字母与
		 已出的牌相同,则出牌方收取全部出了的牌,加上本来的手牌,洗牌后重新出
		 牌。直到一方的手牌出完为止,没手牌一方胜利。
'''
def computer_poke(r='输入游戏次数'):
	'''电脑与电脑'''
	import random

	round_times = []	#游戏次数
	for _ in range(r):#设置游戏次数
		#初始化参数	
		poke =[]	#牌组
		poke_1 =[]	#卡牌暂存列表1(用于牌在牌组间的移动)
		poke_2 =[]	#卡牌暂存列表2(用于牌在牌组间的移动)
		poke_3 =[]	#卡牌暂存列表3(用于牌在牌组间的移动)
		x = []		#手牌
		y = []		#手牌
		rounds = 0	#局数	
		a = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
		b = ['方块', '梅花', '红桃', '黑桃']	
		
		#创建牌组
		for poke_1 in b:
			for poke_2 in a:
				poke_3 = poke_1 + str(poke_2)
				poke.append(poke_3)

		#洗牌,分发2分牌x, y
		random.shuffle(poke)
		times = 0
		for _ in range(52):
			times += 1
			if times <= 26:
				x.append(random.choice(poke))
				poke_1 = []	
				poke_1.append(x[-1])	
				poke.remove(poke_1[0])
			else:
				y.append(random.choice(poke))
				poke_1 = []	
				poke_1.append(y[-1])	
				poke.remove(poke_1[0])
				
		#比赛主要流程	
		guess = ['正', '反']	#猜先后出牌
		x_player = random.choice(guess)
		print('x_player 先手' if  x_player == '正' else 'y_player 先手')
		
		xy = []	#已打出在桌面上的牌
		if x_player == '正':
			while x != [] and y != []:	#胜出条件
				rounds += 1	
				
				#x 组写法和思路	
				while True:												
					xy.append(random.choice(x))		#随机打出一张手牌		
					poke_1 = []	#清空卡牌暂存列表
					poke_1.append(xy[-1])	#记录刚刚打出的手牌
					print('x 打出的牌: ' + str(poke_1))
					x.remove(poke_1[0])		#将刚刚打出的手牌从手牌中剔除
					poke_1 = poke_1[0]	#list转str					
					print('桌面上的牌: ' + str(xy) + '\n')															
					if poke_1[2:] in str(xy[:-1])<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值