From 719a1b8d34fea1f1185882ed634da57afa3f8198 Mon Sep 17 00:00:00 2001 From: Art_Sakura <1754798088@qq.com> Date: Fri, 11 Apr 2025 18:46:46 +0800 Subject: [PATCH] d --- README.md | 2 +- database.py | 5 ++++- farm/farm.py | 2 +- farm/shop.py | 21 ++++++++++++++++----- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 56c0dee..d7e449a 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ | 收获 | 收获成熟作物 | | | 铲除 | 铲除荒废作物 | | | 我的作物 | | | -| 出售作物 [作物名称] [数量] | 从仓库里向系统售卖作物 | 数量不填默认全部 | +| 出售作物 [作物名称] [数量] | 从仓库里向系统售卖作物 | 作物不填默认清空仓库 数量不填默认全部 | | @美波理 偷菜 | 偷别人的菜 | 每人每天只能偷5次 | | 购买农场币 | 将真寻金币兑换成农场币 | 兑换比例默认为1:2 手续费默认20% | diff --git a/database.py b/database.py index f1f93d7..e9ca620 100644 --- a/database.py +++ b/database.py @@ -634,8 +634,11 @@ class CSqlManager: if plant in plantsDict: plantsDict[plant] += num + if plantsDict[plant] <= 0: + del plantsDict[plant] else: - plantsDict[plant] = num + if num > 0: + plantsDict[plant] = num updatedPlants = ','.join([f"{name}|{count}" for name, count in plantsDict.items()]) diff --git a/farm/farm.py b/farm/farm.py index e4ba61b..ac2ec2b 100644 --- a/farm/farm.py +++ b/farm/farm.py @@ -679,7 +679,7 @@ class CFarmManager: logger.info(f"{level[0]}") if level[0] < levelFileter: - return f"当前用户等级不足,升级所需等级为{levelFileter}" + return f"当前用户等级{level[0]},升级所需等级为{levelFileter}" if userInfo['point'] < point: return f"当前用户农场币不足,升级所需农场币为{point}" diff --git a/farm/shop.py b/farm/shop.py index e1f3cfe..a7a37e2 100644 --- a/farm/shop.py +++ b/farm/shop.py @@ -1,5 +1,6 @@ import math +from Python311.Lib._pytest.mark.structures import istestfunc from zhenxun.services.log import logger from zhenxun.utils._build_image import BuildImage from zhenxun.utils.image_utils import ImageTemplate @@ -139,6 +140,10 @@ class CShopManager: totalSold = 0 remainingItems = [] + isAll = False + if num == -1: + isAll = True + items = plant.split(',') if len(name) <= 0: #出售全部 @@ -160,20 +165,26 @@ class CShopManager: try: count = int(countStr) if plantName == name: - sellAmount = min(num, count) + + if isAll: + sellAmount = count + else: + sellAmount = min(num, count) + totalSold += sellAmount remaining = count - sellAmount if remaining > 0: remainingItems.append(f"{plantName}|{remaining}") - num -= sellAmount - if num == 0: - break + if isAll == False: + num -= sellAmount + + break except (ValueError, TypeError): continue - if num > 0: + if num > 0 and isAll == False: return f"出售作物{name}出错:数量不足" #计算收益