编写Python程序,实现一个小游戏。 共有三个水桶,容量分别是8升、5升和3升,玩家可对每个水桶做如下操作: 按F或(f)键注满一个桶 按E或(e)键清空一个桶 按P或(p)键从一个桶向另一个桶倒水 按Q或(q)键退出游戏 当玩家使得任意一个水桶的水量是4升时,则玩家获胜,程序显示玩家操作的总步数并停止游戏。
# -*- coding: utf-8 -*-
class Bucket:
def __init__(self,volume):
self.volume = volume
self.now_v = 0
def Full_Bucket(self):
self.now_v = self.volume
def Purge_Bucket(self):
self.now_v = 0
def Pour(self,other_Bucket):
other_Bucket.now_v += self.now_v
if other_Bucket.now_v > other_Bucket.volume:
self.now_v = other_Bucket.now_v - other_Bucket.volume
other_Bucket.now_v = other_Bucket.volume
else:
self.now_v = 0
def print_h(v1,now_v1,v2,now_v2,v3,now_v3):
for i in range(1,v1+1):
print(" "+str(v1+1 - i)+"|",end = "")
for j in range(1,5):
if v1+1-i > now_v1:
print(" ",end = "")
else:
print("W",end = "")
print("|",end = "")
print(" ",end = "")
if v1+1-i>v2:
print(" ",end = "")
else:
print(str(v1+1 - i)+"|",end = "")
for j in range(1,5):
if v1+1-i > now_v2:
print(" ",end = "")
else:
print("W",end = "")
if v1+1-i>v2:
print(" ",end = "")
else:
print("|",end = "")
print(" ",end = "")
if v