38 lines
10 KiB
Python
38 lines
10 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generate story3 ch3-5
|
|
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 save(fn, c):
|
|
p = os.path.join(D, fn)
|
|
with open(p, "w", encoding="utf-8") as f:
|
|
f.write(c)
|
|
print(f"{fn}: {hz(c)}汉字")
|
|
def ch(n, t, b):
|
|
return f"# 第{n:02d}章 {t}\n\n{b}\n"
|
|
|
|
# Ch3
|
|
c3 = ch(3, "隐藏任务——我一个小时做完了别人三天的事",
|
|
"黄金野猪王事件之后,我的名字在新手村成了半个传说。我走在村里——经常有人指指点点——「就是他——那个1级跳boss背上的。」「看起来也没什么特别的啊——一身新手装加一件金鬃皮甲。」「但确实是他——我亲眼看到的。」\n\n我没在意这些讨论。我继续装我的萌新。我继续在频道里问蠢问题——「装备怎么修理?」「技能怎么升级?」「副本入口在哪里?」——每问一个问题——就有好心人耐心回答我。这种感觉——真好。\n\n但第三天——我遇到了一个挑战。新手村有一个隐藏任务——系列任务,叫「失落的信使」。这个任务的触发条件非常苛刻——需要玩家在新手村触发至少二十个前置事件——包括帮助老农收菜、帮铁匠找矿石、帮酒馆老板送酒、帮村长找猫——一共二十个琐碎任务。完成后——才能触发「失落的信使」系列——最终奖励是一把成长型武器——会随着玩家等级提升而提升。全服完成过这个隐藏任务的玩家——不超过五十个。我三年前用大号做过一次——花了三天时间。现在——我要用新号再做一次——假装是一个什么都不知道的新人发现了一个隐藏任务。\n\n我开始一个接一个地做前置任务。帮老农收菜——我跟老农对话——故意选错选项两次——然后第三次选对——触发隐藏对话。帮铁匠找矿石——我故意在矿区迷路——假装找不到矿点——然后「碰巧」在一个偏僻的角落找到了一块稀有矿石——触发铁匠的隐藏对话。帮酒馆老板送酒——我故意送错地址两次——第三次才送对——触发老板的隐藏对话。\n\n二十个前置任务——我用了一个小时全部完成。因为我知道每一个任务的正确流程、每一个隐藏对话的触发条件、每一个NPC的隐藏好感度要求——这些东西都在我脑子里。满级三年的经验——不是用来打boss的——是用来破解新手村所有隐藏谜题的。\n\n「失落的信使」系列任务触发的那一刻——系统弹出了一条金色的提示:「隐藏任务已触发。任务难度:极难。推荐等级:15级以上。任务奖励:成长型武器「信使之刃」。」我站在村长面前——假装惊讶:「咦——怎么突然多了一个任务?」消息很快传开了——「那个1级跳野猪王背上的新人——触发了隐藏任务!」「他才玩了两天啊——我玩了三个月都没触发过。」「他到底是谁?」\n\n我笑了。他到底是谁?——他是全服第一的夜神。但夜神现在正在新手村里假装萌新。这个消息如果传出去——全服都会炸锅。但没关系——我还不打算让别人知道。因为装萌新——真的太有意思了。")
|
|
|
|
# Ch4
|
|
c4 = ch(4, "全服第一公会来招人了",
|
|
"隐藏任务触发后的当天下午——我的私聊频道炸了。三十多个公会同时给我发来了邀请——「兄弟来我们公会——我们包你升级!」「新人来我们这边——我们有最全的新手攻略!」「隐藏任务你都触发了——你是天才吧?来我们公会——我们重点培养你!」\n\n我坐在电脑前——笑了。三十多个公会邀请我。而我的大号「夜神」——是全服第一公会的会长。我现在正在被三十多个公会争抢——而我自己的公会对这一切毫不知情。这种感觉——比满级打任何boss都刺激。\n\n我没急着回复。我知道——真正的大鱼还没上钩。果然——下午三点——一条让我眼前一亮的私信来了。\n\n【私信】你好。我是「王道」公会的副会长——ID:天下无双。我们公会——全服排名第二。我看了你的新手村录屏——黄金野猪王那一跳——不是新人能做到的。我知道你有东西藏着。但我不在乎。我在乎的是——你愿不愿意来我们公会。待遇:全额资助你的装备和升级材料。条件:你需要通过我们的入会测试。——天下无双。\n\n全服第二公会「王道」。副会长亲自来招我。我盯着这条消息——不是因为激动——是因为我觉得有意思。「王道」——正是我的「暗夜」公会的最大竞争对手。三年了——「王道」一直想超过「暗夜」——一直没超过。而现在——他们正在招我的小号。我回了一条消息:「入会测试——什么时候?」天下无双秒回:「现在。来主城竞技场。」\n\n我传送到了主城——站在竞技场门口。天下无双已经在里面等我了——他是一个60级的战士——装备全服中上水平——战力在排行榜前两百。他站在竞技场中央——看到我来了——点了点头。「入会测试很简单——你跟我打一场。不需要赢——只要你能在我手下撑过三分钟——你就过关。」\n\n60级打5级——撑三分钟。对普通新人来说——不可能。但对我来说——太简单了。因为我知道他的技能连招习惯。我在满级号上——跟「王道」公会打过无数次PVP——我认识他们每一个核心成员的战斗风格。天下无双——他的习惯是:起手冲锋——然后接破甲斩——然后接旋风斩。他的技能连招——三年没变过——因为他觉得这套连招最稳。而我知道——他的冲锋有一个零点三秒的前摇——他的破甲斩需要目标在正面——他的旋风斩在释放过程中不能转向。\n\n当他说「开始」的那一刻——我没有等他的冲锋——我直接往右闪了两步。他冲锋——扑空了。他愣了一下——然后转身准备接破甲斩——但我已经绕到了他背后——新手铁剑——砍在他的后颈上——伤害:-28。28点伤害对一个60级战士来说——等于被蚊子叮了一下。但这一刀——砍在了他的后颈上——一个60级玩家被一个5级玩家绕后砍后颈。\n\n天下无双停住了。然后他笑了一声。「你果然不是新人。」「我从来没说过我是新人。」「那你是什么人?」「一个——玩过这个游戏的人。」天下无双沉默了一会儿。然后他伸出了手——「欢迎加入「王道」。你是我们建会以来——第一个以5级等级通过入会测试的玩家。」")
|
|
|
|
# Ch5
|
|
c5 = ch(5, "王道公会——我混进了对手的大本营",
|
|
"加入「王道」公会之后——我做了一个以前从来没做过的事:卧底。虽然我对「暗夜」公会的感情已经没那么深了——但「王道」毕竟是我三年的对手。现在——我混进了对手的大本营——用的是一个小号——谁也不知道我是夜神。这种体验——比满级打boss刺激多了。\n\n王道公会的内部频道很热闹——一早上就有人在讨论新来的那个「隐藏任务新人」。「你们听说了吗?副会长招了一个5级的新人——那个新人通过了入会测试。」「5级通过测试?不可能吧——入会测试不是要跟副会长打三分钟吗?」「确实打了——而且那个新人还砍了副会长后颈一刀。」「什么?5级砍60级??」「真的。我看录屏了——那刀砍在后颈上——副会长愣了好半天。」「那这个新人到底是什么来路?」「不知道——但他触发了新手村的隐藏任务——失落的信使。」「什么??那个全服只有五十个人做过的隐藏任务??」\n\n我蹲在公会频道里——看着大家讨论我。这种感觉很奇妙——你坐在对面——看着别人讨论你——但他们不知道你在看他们讨论你。满级的时候就体会不到这种乐趣——因为满级的时候所有人都认识你——你走在大街上都有人喊你大佬。现在——我是一个无名小卒——但我手里握着全服最大的秘密。\n\n入会后第一天——我跟着王道公会打了一个25级的副本。我的等级已经从5级升到了12级——三天时间——从1级升到12级——这个速度在新人里算很快了。但我知道——如果我用大号带小号——一天就能升到30级。但我故意放慢了速度——因为我不想引人注目。虽然我已经很引人注目了。\n\n副本里——我故意犯了一些「新人错误」——站位太靠前被boss的AOE刮到——忘记躲技能被打飞——输出节奏忽快忽慢——我在努力让自己看起来像一个「有天赋但不稳定的新人」。因为如果我的表现太稳定——他们会开始怀疑。队伍里的主坦——一个50级的战士——叫「铁壁铜墙」——在公会里是出了名的热心肠。他打完副本后私聊我——「新人——你操作不错——但站位有问题。下次打本你站我后面——别站侧面——侧面容易被boss扫到。」我回「好的——谢谢铁壁大哥。」他又补了一句——「对了——你是不是以前玩过类似的游戏?」「嗯。玩过一些。」「难怪。你的反应速度不像新人。」\n\n我关掉私聊——松了口气——我的卧底工作——暂时安全。但我知道——纸包不住火。我最多还能装三天。三天之后——我必须在身份暴露之前做一件事。我计划在新手村待满一周——完成「失落的信使」隐藏任务——拿到成长武器——然后找机会退会——换一个新号——继续装萌新。是的——我已经在计划下一个号了。因为装萌新这件事——真的会上瘾。")
|
|
|
|
for c, name in [(c3, "第003章 隐藏任务——我一个小时做完了别人三天的事.md"),
|
|
(c4, "第004章 全服第一公会来招人了.md"),
|
|
(c5, "第005章 王道公会——我混进了对手的大本营.md")]:
|
|
save(name, c)
|
|
|
|
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:
|
|
print(f" {f}: {hz(fp.read())}汉字") |