Files
skills-lottery-picker/novels/round3/expand_story3.py
T
2026-06-19 06:38:31 +00:00

80 lines
19 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
import re, os
rr = re.compile(r"[\u4e00-\u9fff]")
D = "/app/working/workspaces/default/novels/round3/03-满级大佬回新手村"
def hz(s): return len(rr.findall(s))
def ap(fn, txt):
p = os.path.join(D, fn)
with open(p, "r", encoding="utf-8") as f:
c = f.read()
bf = hz(c)
with open(p, "a", encoding="utf-8") as f:
f.write(txt)
af = hz(c + txt)
print(f" {fn}: {bf} -> {af}")
print("=== 补充第2章 ===")
ap("第002章 黄金野猪王——我把新手村的人全看傻了.md",
"\n\n那天晚上我躺在床上——翻来覆去睡不着。不是因为在想游戏里的战斗——是因为我在想一件事:我装萌新这件事——能装多久?温柔一刀已经开始怀疑了——天下无双直接说「你不是新人」——暗夜公会也注意到我了。我的伪装——最多还能撑一周。但一周够了。一周之后——不管身份暴不暴露——我都该回大号了。因为全服公会联赛要开始了——暗夜需要我。我不能一直装萌新——我的公会还在等我回去带队。但在这之前——我要好好享受这几天。因为当萌新的快乐——比当大佬的快乐多太多了。")
print("\n=== 补充第5章 ===")
ap("第005章 王道公会——我混进了对手的大本营.md",
"\n\n接下来的三天——我疯狂练级。王道公会给了我全套新手资助——最好的药水、最合适的装备、专属练级路线推荐。我白天刷怪——晚上做任务——三天时间从7级升到了28级——平均每天升7级。这个速度在正常人看来是开挂级别的——但对我来说只是正常水平——因为我满级的时候研究过全服所有高效率练级路线——我闭着眼睛都能找到最优解。\n\n第三天晚上——我站在主城门口——身上穿着全套25级蓝装——手里握着信使之刃——看起来已经像一个正正经经的玩家了——不再是那个一身破布衣的萌新了。我打开好友列表——温柔一刀在线——等级已经38级了——他也一直在练级。王道公会里的人在频道里讨论我——「那个新人三天从7级升到28级——吃了什么药?」「不是吃药——是真的猛。」「他不会是代练吧?」「代练能有信使之刃?」「也是——代练做不了隐藏任务。」\n\n天下无双给我发了一条消息:「28级了。继续。周末之前到40级——王道需要你。」我回:「周末之前——我尽量。」天下无双:「不是尽量——是必须。」我笑了——这个副会长——管理风格确实跟我不一样。我的风格是「随便——你开心就好」。他的风格是「定了目标就必须完成」。两种风格没有好坏之分——但在这个游戏里——他的风格更适合打仗。而我的风格——更适合养老。\n\n我继续刷怪。脑子里已经在想一件事——周末的联赛——我如果上场了——暗夜的人会认出我吗?剑指苍穹会认出我吗?我还没准备好面对他们。但我又觉得——如果被认出来了——那场戏——应该会很好看。")
print("\n=== 写入第6-10章 ===")
# Chapter 6
with open(os.path.join(D, "第006章 联赛前的最后冲刺——我从28级到40级.md"), "w", encoding="utf-8") as f:
f.write("# 第06章 联赛前的最后冲刺——我从28级到40级\n\n周五晚上——距离联赛还有两天——我在疯狂刷怪。\n\n王道公会给的练级路线已经不够用了——那条路线是给正常玩家设计的——对我来说效率太低了。我换了一条自己的路线——一条我四年前探索出来的隐藏练级路线——在龙骨荒野的某个角落——那里的怪物刷新快、经验高、而且几乎没有其他玩家知道这个地方。\n\n我在那个角落刷了整整一晚上。从晚上八点到凌晨三点——七个小时——从28级升到了36级。信使之刃的伤害随着我的等级提升也在同步提升——每升一级——剑的攻击力自动增加五点。这把武器——是真的成长型武器——不是名字叫成长型但其实不成长的那种。\n\n凌晨三点的时候——天下无双上线了——看到我的等级——他发了一条消息:「36级了?你一晚上升了8级?」我回:「嗯。」他沉默了一会儿——然后说:「你是真的怪物。」我回:「谢谢。」他:「不是夸你——是陈述事实。」\n\n周六——联赛前一天。我早上八点上线——中午的时候达到了40级。全服频道再次震动——「那个新人40级了!!一周从7级到40级!!」「他不是人——他是练级机器。」「王道这次捡到宝了。」\n\n天下无双在公会频道宣布:「明天联赛——今天不想努力了——你作为替补出战。不需要你赢——只需要你在主力出问题的时候顶上去——别丢王道的人就行。」\n\n我回了一条消息:「放心——我不会丢人的。」\n\n我在心里补了一句:我只会让你们所有人都大吃一惊。")
print(f" 第006章: {hz(f.read()) if False else 'written'}")
# Chapter 7
with open(os.path.join(D, "第007章 全服公会联赛——我上场了.md"), "w", encoding="utf-8") as f:
f.write("# 第07章 全服公会联赛——我上场了\n\n联赛日。主城竞技场座无虚席。\n\n全服前十的公会全部到场——暗夜、王道、铁血、苍穹、星辰——排名前五的公会坐在竞技场最前排的位置。暗夜的会长席上——剑指苍穹坐在正中间——旁边是其他核心成员——但「夜神」的座位是空的。因为夜神——就是我——正在王道的替补席上坐着。\n\n我看着暗夜的会长席——剑指苍穹的表情看起来很轻松——但我知道他其实很紧张。因为夜神不在——他连续给我大号发了三天消息——我一个都没回。他不知道他们的会长去哪了——他不知道联赛谁带队——他只能硬着头皮自己上。\n\n我有点愧疚。但愧疚感很快被一种更强烈的情绪盖过了——期待。我期待——当他们发现「夜神」就在对面的替补席上时——他们的表情会是什么样。\n\n第一场——王道对铁血。王道主力阵容出战——天下无双带队——40分钟结束战斗——王道赢了。第二场——暗夜对苍穹——暗夜主力出战——剑指苍穹带队——35分钟结束——暗夜赢了。第三场——王道对星辰——王道再次获胜。第四场——暗夜对铁血——暗夜再次获胜。\n\n决赛——王道对暗夜。\n\n全服前二的公会——连续第四年在决赛相遇了。前三年的结果是一样的——暗夜冠军、王道亚军。今年——看起来也要一样——因为王道的主力阵容跟去年没什么变化——而暗夜虽然少了夜神——但他们的整体实力依然比王道强。\n\n决赛开始后——王道的主力阵容在前二十分钟打得很好——跟暗夜打得有来有回。但二十分钟后——差距开始显现——王道的一个主力输出出现了操作失误——被暗夜抓住机会打掉了——然后王道的阵型开始乱——暗夜乘势追击——王道节节败退。\n\n打到第三十分钟——王道的主坦倒了。天下无双在公会频道里喊了一句话——「替补准备——今天不想努力了——你上。」\n\n我站起来。走向竞技场。全场观众的目光聚焦在我身上——一个穿着40级装备的玩家——走向全服最高水平的决赛赛场。观众席上响起了议论声——「那是谁?」「40级??决赛上40级??」「王道没人了吗?」「那不是昨天刚升到40级的那个新人吗?」「王道疯了吗——决赛上替补上新人?」\n\n我没理会这些声音。我站在竞技场中央——对面站着暗夜主力——剑指苍穹站在最前面。他看着我这个40级的新人——眼神有点复杂——他不知道我是谁——但他知道——王道在决赛换人——一定有原因。\n\n比赛重新开始。我握着信使之刃——站在王道的阵型里——等待机会。\n\n暗夜的第一波进攻来了——剑指苍穹带队冲锋——目标是王道的治疗。我看到了那个冲锋——我看到了那个破绽——剑指苍穹的左侧——零点三秒的空档——他在冲锋过程中习惯性地向右倾斜——左肩会暴露零点三秒。这个习惯——我跟他打了三年配合——我比任何人都清楚。\n\n我动了。不是往前冲——是往左闪——绕到剑指苍穹的左侧——信使之刃出手——砍在他的左肩。\n\n伤害:-487。不高。但这一刀的落点——剑指苍穹愣住了。他停住了。然后他站在竞技场中央——看着我——眼神从平静变成了震惊。\n\n他认出了那一刀。")
f.close()
# Chapter 8
with open(os.path.join(D, "第008章 剑指苍穹:"你是不是夜神?""), "w", encoding="utf-8") as f:
f.write("# 第08章 剑指苍穹:你是不是夜神?\n\n剑指苍穹站在竞技场中央——看着我——一动不动。他的队友在队伍频道里喊他——他没回应。他的目光盯在我身上——像是要把我看穿。\n\n「你叫什么?」他在世界频道发了一条消息——不是私聊——是公开的——全场都能看到。\n\n我回:「今天不想努力了。」\n\n「我知道你这个ID——我问的是——你真正的名字。」\n\n全场安静了。决赛暂停了。所有观众都在看着这两行对话。\n\n我沉默了几秒。然后我在世界频道回了一句话:「你猜。」\n\n剑指苍穹沉默了三秒。然后他回了一句话——这句话让全场炸开了锅——「你那一刀——全服只有一个人会这么砍。那个人叫夜神。」\n\n全场哗然。\n\n「夜神??那个40级的新人是夜神??」「夜神不是暗夜的会长吗??」「他怎么跑到王道那边去了?」「他叛变了??」「不可能——夜神不可能叛变——他一个人撑起了暗夜。」「那他在王道那边干什么??」\n\n观众席上的议论声越来越大。直播频道的弹幕已经刷到看不清画面了。全场最震惊的人——除了剑指苍穹——还有天下无双。\n\n天下无双站在王道的指挥席上——看着我——眼神从困惑变成了震惊——然后变成了某种复杂的情绪——他被骗了——但他又觉得——被骗得值。\n\n我在世界频道回了剑指苍穹:「我不是夜神。」\n\n剑指苍穹:「你骗不了我。」\n\n我:「我真的不是夜神。」\n\n剑指苍穹:「那你解释一下——那一刀。」\n\n我:「什么刀?」\n\n剑指苍穹:「左肩那一刀——零点三秒的窗口——全服只有一个人知道这个习惯——那个人是我三年的会长——夜神。」\n\n我沉默了很久。然后我做了一个决定——不在世界频道承认——但我给剑指苍穹发了一条私聊。\n\n【私聊】
剑指苍穹:你终于肯承认了?
我:我没承认。我只说了一句——三年了——你的左肩习惯还是没改。
剑指苍穹:……
我:联赛打完再聊。现在我在王道这边——我得先打完这场比赛。
剑指苍穹:你跑到对面去打联赛??你图什么??
我:装萌新。
剑指苍穹:……装萌新??
我:嗯。装萌新比当大佬有意思。\n
剑指苍穹沉默了很久。然后他回了一句话——「你他妈是真有病。但——这个病——我有点羡慕。」\n\n决赛重新开始了。但氛围已经完全变了——所有人看我的眼神都不一样了。王道的人知道我不是普通的新人了——但他们还不知道我到底是谁。暗夜的人已经猜到了——但他们不敢相信——他们的会长——正在跟他们打决赛。\n\n我握着信使之刃——站在竞技场上——我忽然觉得——这一场决赛——可能是我玩这个游戏以来——最刺激的一场战斗。不是因为我面对的是全服最强的对手——是因为——我现在是「自己」的对手。\n\n这是一场我跟我自己的对决。")
f.close()
# Chapter 9
with open(os.path.join(D, "第009章 决赛——我跟我自己的公会打.md"), "w", encoding="utf-8") as f:
f.write("# 第09章 决赛——我跟我自己的公会打\n\n决赛重新开始后——暗夜明显改变了战术。他们不再把主要火力集中在王道的坦克和治疗上——他们把相当一部分注意力放在了我身上。因为他们知道——不管我是谁——那一刀证明了我不是普通玩家。\n\n我成了被重点关照的对象。暗夜的两个输出专门盯着我打——一个法师一个刺客——两人配合默契——明显是专门研究过怎么针对我的。他们研究错了——他们针对的是「40级的新人」的打法——但我的打法不是40级新人的打法——我的打法是无级别的——是在满级PVP中磨炼了三年的打法。\n\n刺客隐身摸到我身后——我假装没发现——在他出手前零点三秒侧身闪避——顺势一个转身斩——打掉了他的隐身状态。法师远程读条——我在他读条结束的瞬间横向移动——预判了他的技能方向——轻松躲开。\n\n王道的队伍频道里——天下无双发了一条消息:「你到底是哪个大佬??你40级打出了80级的感觉。」我没回他——因为我现在没空打字。我在专注一件事——打我自己公会的队友。这种体验太奇妙了——我熟悉暗夜每一个人的操作习惯——我知道他们的技能顺序——我知道他们的配合套路——我跟他们打了三年了。现在——我在用这些知识打他们。\n\n我绕到暗夜的治疗背后——信使之刃出手——一套连招——三秒内打掉了治疗一半的血。治疗慌忙给自己加血——打乱了他的节奏。暗夜的坦克回头来救我——我利用坦克转身的空隙——从他侧面穿过去——直接切到了暗夜的远程输出位——两个法师一个弓箭手——被我一个人逼退了。\n\n全场观众沸腾了——「那个40级的新人——一个人逼退了暗夜三个远程!」「他不是新人——他绝对不是新人。」「他到底是谁啊??」「剑指苍穹刚才说他可能是夜神——但夜神怎么可能在王道那边?」「如果他真的是夜神——那这场决赛就是全服历史上最离谱的一场。」\n
王道趁暗夜阵型混乱——发动了总攻。天下无双带队冲锋——直接冲穿了暗夜的防线。暗夜的治疗还没来得及重整节奏——就被王道的刺客切掉了。暗夜的坦克孤军奋战——奶妈倒了——他撑不了多久。\n\n三分钟后——比赛结束。王道胜。\n\n全服公告:全服公会联赛决赛——王道胜暗夜——王道获得了四年来的第一个联赛冠军。\n\n王道公会频道瞬间炸了——「赢了!!我们赢了!!」「四年了!!终于赢了暗夜一次!!」「今天不想努力了——你是MVP!!」「你一个40级的新人——改变了决赛局势——你到底是何方神圣??」\n\n我站在竞技场中央。全场观众在欢呼——但不是为暗夜——是为王道——和那个40级的新人。我看着暗夜的会长席——剑指苍穹坐在那里——看着我——表情很复杂——他在笑——又在摇头。他的眼神里写着:「你这个疯子——你真的跑到对面去打你自己了。」\n\n我也看着他。我无声地说了一句——对不起——但我玩得很开心。")
f.close()
# Chapter 10
with open(os.path.join(D, "第010章 身份曝光——全服炸了.md"), "w", encoding="utf-8") as f:
f.write("# 第10章 身份曝光——全服炸了\n\n决赛结束后——我还没来得及退出竞技场——世界频道就出现了一条让全服炸锅的消息。\n\n发消息的人——不是别人——是暗夜的会长剑指苍穹。\n\n剑指苍穹:【全服消息】@今天不想努力了——你就是夜神。不用躲了。我知道是你。\n\n这条消息一出——全服频道直接卡了三秒——因为同时发消息的人太多了。\n\n「夜神??全服第一的夜神??」「暗夜的会长——跑去王道打联赛??」「这是什么操作??」「他叛变了吗??」「不可能——夜神怎么可能叛变。」「那他在王道干嘛??」「卧底??」「全服第一大佬去对面当卧底??」\n\n我看着世界频道刷屏的消息——我笑了。被认出来了——比我预想的早了一点——但也不算太早——毕竟我已经装了一周的萌新了。一周——从1级到40级——从萌新到全服闻名的「天才新人」——够了。\n\n我在世界频道回了一条消息——「我不是夜神。但——我知道夜神在哪。」\n\n全服又炸了——「他知道夜神在哪??」「他认识夜神??」「那王道找的不是夜神本人——是夜神的朋友?」「那他也是大佬的小号?」\n\n剑指苍穹秒回——「你少来。就是你。不用掩饰了。你那招左肩斩——全服只有两个人会用——我和夜神。我教他的——他用了三年——我一眼就能认出来。」\n\n我沉默了。原来是剑指苍穹教我的那一招——我都忘了——三年前他确实教过我这一招——「会长——你这个左肩习惯太明显了——我给你设计了一个反制动作——如果有人瞄你的左肩——你就顺势反击。」我当时觉得没用——没想到今天他用我教他的招——来认出了我。这是命运的讽刺。\n\n我在世界频道回了一句:「好吧。是我。」\n\n全服——彻底炸了。\n
「真的是夜神!!!!」「夜神去王道当替补??还帮王道打赢了暗夜??」「这是什么剧情??」「全服第一大佬叛变到对面——帮对面打赢了自己公会??」「年度最离谱剧情——没有之一。」「夜神——你是不是跟暗夜闹翻了?」「还是说——你只是无聊了?」\n\n我看着最后一条猜测——笑了一下。然后我在世界频道回复了——「我只是无聊了。无敌太久了——想体验一下萌新的感觉。装了一周的萌新——很有意思——推荐你们也试试。」\n\n全服再次炸锅——「因为无聊——跑去对面当卧底??」「这就是大佬的世界吗??」「如果这不是装逼——我不知道什么是装逼了。」「一周从1级升到40级——拿了信使之刃——帮对面打赢了自己公会——然后说——我只是无聊了。这就是满级大佬的日常??我玩三年都没他一周精彩。」\n\n我关掉世界频道——然后我收到了剑指苍穹的私聊。\n
剑指苍穹:「你玩够了吗?」
我:「差不多了。」
剑指苍穹:「那回来吧——暗夜需要你。」
我:「暗夜刚输了——你不生气?」
剑指苍穹:「生气。但没办法——你是会长——而且你只是出去玩了一周——也没干坏事——就是帮对面拿了个冠军而已。」
我:「……而已?」
剑指苍穹:「嗯——而已。反正明年我们还能赢回来。有你回来——怕什么。」
我看着这条消息——笑了。这个副会长——我是真的没选错人。")
f.close()
print("\n=== 统计 ===")
for f in sorted(os.listdir(D)):
if f.endswith(".md") and f.startswith("第"):
with open(os.path.join(D, f), "r", encoding="utf-8") as fp:
c = fp.read()
h = hz(c)
flag = "OK" if h >= 2000 else "NEED"
print(f" {flag} {f}: {h}")
print("\n完成")