-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
865 lines (412 loc) · 475 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>明治十七·注释</title>
<link href="/01/AnnotationsOnMeiji17.html"/>
<url>/01/AnnotationsOnMeiji17.html</url>
<content type="html"><![CDATA[<p>划过夜空的流星,受花香引诱而飞舞的蝴蝶,流向低处的河水,深邃黑暗的浓雾。</p><p>自然界发生的事情都有其各自的道理。人类为了证明自己能够说明这些道理进而捏造出种种理由。</p><p>映入眼帘的这一切,都将为人类所有……本来应该是如此的。</p><p>——雾雨魔理沙,<em>Grimoire of Marisa</em></p><span id="more"></span><h2 id="注释"><a href="#注释" class="headerlink" title="注释"></a>注释</h2><ol><li>《西海岸,东海道》是最早完成的作品,尽管整个系列时间线最早的是设定在21世纪初的《致命玩笑》。文章得名于ZUN的专辑《卯酉东海道》,情节也受那张专辑的附带故事及其中角色启发(女主“雾枝莲子”和“常陆改用假名”等)。男主得名于克里斯蒂安·罗森科鲁兹(CRC),他是传说中蔷薇十字会的创立者;男主与罗森的经历有许多镜像之处,这点在《白鹭城》中得到了更多地展露。</li><li>《金阁寺的一块天花板》是《妄谈》和《阿卡迪亚的牧羊人》的精神续作,从篇幅和叙事方式而言都是最相像的。1950年前,金阁寺的最上层天花板据传说是一整块的楠木所制。但它在1950年的“金阁寺放火事件”中被完全烧毁了,1955年后重建的金阁寺,最上层的天花板使用了多张木板拼接的“镜天井”,故已经不能称为一整块木板制成了。以下是比较细节的几点致敬的介绍:<ol><li>约翰和洋子:他们的关系致敬了披头士灵魂人物约翰·列侬和艺术家小野洋子的爱恋。文中引用的《Strawberry Fields Forever》主要由约翰·列侬创作,而贯穿全篇的《A Day in the Life》则是由他和保罗·麦卡特尼爵士分别创作了一部分曲,拼接而成的。</li><li>玉泉、鸠山:玉泉得名于浙江大学玉泉校区(并无任何关系,只是偶然联想到这个名字很酷),而鸠山之名则来自于ZUN早年作的一首曲子《飞翔在夜晚的鸠山》(ZUN毕业于东京电机大学鸠山校区)。</li><li>木棉翅膀的人:致敬西溪水文学社《文明与对话》中一篇关于达尔文对抗天主教会的文章的人物设定(我记不清了,大概就是如此吧)。</li><li>“骑士决斗”:致敬鲍勃·迪伦的名曲《沿着瞭望塔》的结尾段。</li><li>血红色与黑白灰:复用《御伽之国的鬼岛》第4.5章《三色的向死而生》的意象。</li><li>“空虚是性感”、“她其实早就死了”:致敬西溪水文学社《文明与对话》的作品《夏日审判》和我想不起名字的另一篇。</li><li>“怅然若失”:致敬平克·弗洛伊德乐队的名曲《Comfortably Numb》。</li><li>我讨厌沙子:致敬《星球大战前传三:西斯的复仇》中男主安纳金与女主帕德梅的著名对白。</li><li>靖国神社倒塌:纯属作者私货。</li><li>火焰与森林:致敬《永远讲不完的故事》中夜之森林与色彩沙漠的对立。</li></ol></li><li>《行步于夜晚的白鹭城》:<ol><li>以扫、犹大和以色列(雅各)都是犹太人的祖先,以扫和以色列是兄弟,犹大是以色列的儿子。</li><li>巴尔巴厘安人:Barbarians,懂得都懂。</li><li>61号公路:得名于鲍勃·迪伦的伟大专辑《重游61号公路》。</li><li>“执着于东拼西凑”:取自JUSF周存的歌曲《由》。</li><li>原始状态:即自然状态,在我看来,它是异化前的现代人的理想状态。</li><li>噤声的手势:回收《金阁寺的一块天花板》中的动作。同时与结尾的“莫噤声”呼应。</li><li>《东海道五十三次》:歌川广重的浮世绘作品,描绘了东海道的五十三个驿站各自不同的景色,一定程度上影响了文森特·梵高的油画创作。</li><li>狄奥尼索斯之酒:酒神是古希腊人欲望的具象化,酒神教人们种葡萄树、酿葡萄酒,然而却没有告诫人们狂饮的后果,并沉浸在酒后的狂欢与宣泄之中。这是人类对本性的追求,可以说酒神正是人类自身对天然本能向往的产物。</li><li>常陆、鹿岛神宫、莲台野,金阁寺,白鹭城,三条大桥:日本地名,都在东海道上。</li></ol></li><li>《义和拳》:得名于同名已解散团体,在历史上发挥了重要作用。文章主要描述的是我对于10月5日国足客场0-7惨负日本的看法。</li><li>《彩》:得名于文章中的关键意象,即“彩礼——彩票——体彩”的轴心,归根结底,都是为个彩头,但是文章中对于色彩的描写是极度稀少的。<ol><li>王彩艳:得名于铃木彩艳。虽然没有在文章中大量描写,不过她的造型参考了很多二次元女性角色。</li><li>肖邦的《谐谑曲》:即《降b小调第二谐谑曲》。</li><li>比目鱼:致敬日本虚拟主播佐久间眠和东雪莲的造型。</li><li>父亲和哥赌的那场比赛其实是2022年世界杯小组赛E组日本2比1逆转德国。那场比赛的许多名场面令我对其印象极度深刻。</li><li>“连红”等:赌球术语。</li><li>“尖叫”:致敬格兰特·莫里森的《动物侠》第四期结尾。</li></ol></li><li>《脑中的鹿角》:脑中谐音“老中”。鹿角象征盘根错节,这个意象的使用相当偶然,似乎是因为那天我在看J联赛中一支叫鹿岛鹿角的球队的比赛。和《鹿乃子乃子虎视眈眈》没有关系,我觉得那部番也就一般。<ol><li>赫特医生:Doctor Hurt,初次登场于《蝙蝠侠》第156期,他为蝙蝠侠执行了太空隔离实验,使他产生了幻觉。他有一段台词我认为相当的好:“One of man’s most primitive fears is loneliness! When a man is isolated too long, the mind plays strange tricks.”</li><li>“指鹿为马”:致敬赵高指鹿为马,同时揶揄发布不少奇谈怪论的郭继承教授。</li><li>白马湖:杭州地名,附近常常举办漫展。</li><li>阿布思·邓布利多、阿库娅:前者是《哈利·波特》系列的一位经典角色,长期作为霍格沃茨魔法学校的校长和主角哈利的导师出现;后者出自日本轻小说《为美好的世界献上祝福》。</li><li>自设、性转、COSER:Cos圈术语。这里唐突地使用是因为之前看到过一条有趣的言论:“加个自设+性转这俩词,以后假发都不用带就可以玩Cosplay啦”。</li><li>杨永信:饱受争议的精神科医生和“全国戒网瘾专家”。其使用电击等手段强制治疗网瘾患者的行为,受到中国内外媒体和网民的广泛讨论与批评。值得一提的是,他是院长而不是院士。</li><li>《二十一世纪精神病人》:前卫摇滚乐队克里姆森国王的名曲。</li><li>弗兰肯斯坦:玛丽·雪莱小说《弗兰肯斯坦》中的一个科学家,他“发明”了一种新的生命。</li><li>“例外的正常”:致敬格兰特·莫里森在散文《午夜小丑》中对于小丑的描绘。</li><li>“弹钢琴”:致敬JUSF周存的歌曲《六日之失》。</li></ol></li><li>《致命玩笑》:作品名致敬阿兰·摩尔的《蝙蝠侠:致命玩笑》。<ol><li>阿卜杜勒·马利克:阿拉伯名,可意译为Servant of the King。</li><li>“曾有两个人窘于荒野之中……”,致敬《蝙蝠侠:致命玩笑》的第一句旁白。</li><li>文章引用的歌曲是鲍勃·迪伦的《沿着瞭望塔》。</li></ol></li><li>《失落的桃花源》:取自约翰·弥尔顿的《失乐园》,桃花源则同时取自陶渊明的《桃花源记》和《桃花源诗》,以及暴雷的恒大桃花源系楼盘。<ol><li>主角是《脑中的鹿角》里的那个用鹿角自杀的男孩。文章开始时离《脑中的鹿角》已经过去很多年了,主角本来已经半条腿踏入了中产阶级,却在恒大暴雷和母亲离世之后处于一个不尴不尬的位置,孤身一人,无牵无挂的他开始在城市间流浪,最终在流浪中又回到了自己的“旧宅”。其实这是一个相当伤感的故事。我试图引入我对于21世纪初的特殊感情来让这篇文章变得更加“中式梦核”。</li><li>雅努斯雕像:雅努斯是罗马的两面门神,代表着机会、机遇等。</li><li>门前的桃树:门前桃桑,为大凶。</li><li>“吉耶?凶耶?”取自《越绝书·卷十四·越绝德序外传记第十八》,原文为:“蠡因心知意,策问其事,卜省其辞,吉耶凶耶?”。</li><li>“007”:中式梦核的一部分(大雾),即“一周0点上班,0点下班,工作七天”——相当于0休息,一直工作。</li></ol></li><li>《水上烟花》:文题致敬深紫乐队歌曲《Smoke On the Water》。烟花更多的隐喻烟尘女子,而水能够显现出一种镜像感,暗示“我”只不过是她的倒影。暗喻“我”与她是相似甚至全等的存在。<strong>文章有删减</strong>。<ol><li>原父理论:拉康认为原父是“妓女”,作为一种抽象的实体,它有着最低的社会地位,最弱的道德。这样潜意识才会让人们远离成为原父的可能。简单来说,拉康认为资本主义社会的原父来源于一种创伤,即“每个人都在某一刻卖身了”,而对于这种创伤性事实的否认让潜意识开始锁定一个原父(例如妓女,乞丐之类的),然后开始通过与之对比来自我安慰。但是“妓女”这种经常被当做原父的客体其实是常常能够意识到自己的创伤,并可能去治愈的。但一般人不大可能。也就是说反而原父的主体性能够增强,一般人的主体性会减弱;久而久之,那些逃避创伤的人会完全地客体化。</li><li>佐玖菅眠:化用“佐久间眠”,即东雪莲。</li><li>“黑曜石里的蓝蝴蝶”:致敬西溪水文学社的《文明的对话》的第一篇《琴曲》。</li><li>《粒子力学的数学原理》:粒子力学是民科发明的一种伪科学,而书名本身取自于艾萨克·牛顿爵士天才的著作《自然哲学的数学原理》。</li><li>“电子竞妓”:化用“电子竞技”。</li><li>伊甸园:自然状态的象征,伪伊甸园代表的则是“童稚状态”。</li><li>死线:Deadline,又称DDL,即最后期限。</li></ol></li></ol>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
</tags>
</entry>
<entry>
<title>水上烟花</title>
<link href="/01/SmokeOnTheWater.html"/>
<url>/01/SmokeOnTheWater.html</url>
<content type="html"><![CDATA[<p>入夜尚未深,上弦月便已高悬在京都的夜空,乌云也很识趣地散开。少年少女们结伴穿过街头巷尾,走过三条大桥之后再各回各家。我还是一个学生的时候,经常在三条大桥看烟花,毕业了之后,我的记忆里这烟花便没有升空过了。我也犹疑过,或许在那几年后,这幸福的象征就被取消了,可能某一个一直为之筹款的富翁离世了,抑或是那个放烟花的人也已经过了欣赏烟花的年纪。当然更有可能的是,我不关心了。</p><p>确切地说,我不再关心了。起码那时我是很在乎的,我会在随身携带的本子里记下烟花升起的时间和最佳观赏点,然后在每一天放学后,在三条大桥写着作业,等着烟花出现,然后看它如何用其源自工业文明的光彩,让繁星学会谦卑;看它延展开曼妙的线条,在星空中做几何画;看它用存在超越造物者的想象,让少年少女们感到温暖,感到升腾,感到爱的热望;看它如何像一只被嵌在黑曜石里的蓝蝴蝶,在星月的注视下飞向远端,飞到我们看不到的地方。这就是我贫乏的想象力所能联想到的极限,没有人能理解我当初究竟在看什么。</p><p>那时候母亲为了我的学业陪我住在京都,我晚些回家,免不了她的责骂。那时我会找个借口,大多是与同学有约之类,反正搪塞过去就过去了。母亲知道我在外面有自己的社交,也不再说什么;但我其实没有,那些夜里只有我和烟花,还有永远写不完的作业。似乎还有她,在母亲不知道的夜里,我透过屏幕一直注视着她,那时候熬夜与压力无关,在无梦的清晨醒来的我只是感到年轻。</p><span id="more"></span><p>我忽然又对烟花生了兴趣,于是我又走回桥上,一旁几个年轻人挤在栏杆上,正谈着他们的天;我凑过去听。</p><p>“都什么年代了,怎么还有弱智写这种东西?”</p><p>“出版社现在真的闲到这个地步了吗?”</p><p>“幽默。”我看他们笑的这么开心,也跟着笑了起来;此时他们终于发现了我的存在,不过他们也不太关心,大抵是发现了我对这本书的意见与他们相同。</p><p>我看了一眼他们的电子屏上正显示着什么——他们正挖苦着的,是我的新书《粒子力学的数学原理》;看一眼评分,竟然只有0.8,也难怪他们这样嘲笑我;我记得我在学生时代,也是喜欢这么讥笑评分较低的书的,尤其是在他人面前,这样可以体现自己审美的优越。不论如何,起码它还是比一些无法评分、无法评论的东西好上那么一些的。我只能这样自己安慰自己。</p><p>我写科普书已经好几年了,销量上的相对成功掩盖不了口碑上的绝对失败。事实上我已经愈发不满足写这种民科刻板印象式的“科普书”了,我想写一些“真东西”。但出版社不愿意出版“真东西”,读者们喜欢看一个自命不凡的科学狂人闹笑话。纸媒和科普读物的市场已经很小了,营销号和短视频已经快要让我们失去最后的生存空间了,我不敢考虑未来几年我应该去干什么,我的文笔不足以支撑我当一个作家,而我又没有能力搞研究;于是我只好写一本又一本的“笑话”,我甚至不敢直视这些书的标题,正如我认识的很多人在领薪前不敢直视卡里的余额一样。转念一想,我的生活似乎过的比他们自在。但我越想越觉得不对,如果我时刻在体验作家生活的那种松弛感,我怎么会感觉不到呢?</p><p>我走下桥,走到车站。我坐在等候区,无所适从,看着人们机械地在屏幕上划动手指。我也掏出了手机,往下划着,刷到了一个虚拟主播的直播间。在我还年轻的时候,我非常喜欢看虚拟主播。我最喜欢的主播叫佐玖菅眠,她自称是下岗的梦神,在每个人的梦中都出现过,并在我们的睡梦中播下了种子,让我们的潜意识指引我们来到她的直播间。除了这个以外,她似乎还有许多别的说法,大同小异。她确实算得上是比较称职的那种主播,她从不消极怠播,也不用一些其他主播会用的“手段”来涨粉。我是什么时候开始忘却了她的呢?大概是大学毕业之后找工作那几年,不过我现在也还没有找到工作就是了。她毕业了吗?大概吧,似乎虚拟主播被公认是个不可能长久的职业。</p><p>我再一次往下划,却看见一则关于“电子竞妓”的广告,实在令人忍俊不禁。“电子竞妓”是东京这块近期才出现的一个新词,无非是一个好听点的说法,就是原先深耕红灯区的妓女的二次元版,或者说是线上二次元妓女的线下版,无论哪种都好不到哪里去。这种形式的合法化不过是因为我们这一代人已经全然丧失了欲望,传统的妓女和牛郎们已经连谋食也做不到了,不得不转型为“二次元的”、“国民的”、“文化的”……归根结底,还是妓女和牛郎们,只是戴上假发穿上COS服,做着同样的工作。</p><p>就在我嗤笑着这荒唐的时候,我听到了那个熟悉的名字,“佐玖菅眠”。不错,这个名字我过多久都不会忘。我睁大双眼,看见一个和她一模一样的年轻Coser正站在舞台的中央,她说着她标志性的台词,让我仿佛回到了学生时代。没想到她也去当“妓女”了,我瞬间收敛起了我的笑容,然后开始查找那个”妓院“的位置,我想去见她,不需要原因,只是好奇。</p><p>自天花板垂下的,是那一整排如同鬼火一般的红白灯笼,其薇光映衬着一旁的浮世绘,约莫有五十多张,大抵是歌川广重的《东海道五十三景》。老鸨正引着我走向佐玖菅眠的笼中。我交了钱,不算很贵,不过我想不太通为什么我在中途不能提前出去,我不知为何总感觉这里很熟悉,感觉在某刻自己像是卖了身,可能是在被迫将真正的想法写成笑话的时候,也有可能是在街上被人取笑的时候。实话说,这实在是有些不体面,若不是我在头脑一热时付了钱、画了押,我当时就会以最快的速度离开。在这里,在这样的场合,我还没有想过要怎么面对她。不对,或许我面对的还不是她。</p><p>”你还没有回答我,她是佐玖菅眠的中之人吗?“我随意地向老鸨发问。</p><p>”她‘就是’佐玖菅眠。“老鸨咽了一口口水,瞪了我一眼。</p><p>“所以她只是一个Coser?”我继续质问着。</p><p>“你以为你真的分辨得出来?她是,她不是,又怎么样呢?我现在告诉你她是,你难道又有权利反驳我说她不是吗?”老鸨几乎带着几分怒气,把我撵进了笼中。然后我看见了她的眼睛,那对紫罗兰色的眼睛,那对曾在舞台上闪闪发光的眼睛,此刻也正放着光芒,她与她一模一样,声线,容貌,甚至年龄,直到如今,我仍然不知道她是怎么做到的。但惊喜很快地变为了茫然,茫然在数十分钟后的寂静后,化作了我那时还尚未熟知的存在主义恐惧。</p><p>“奇怪,真的到了这里却不知道要做什么。”我的冷汗逐渐从背上涔出来。</p><p>“奇怪吗?按照我的经验来说,你们都是不知所措的。”</p><p>“经……经验吗?”我语无伦次,“什么经验呢?”</p><p>她沉默了,随即叹息着说:“你连自己想要的是什么都不知道,为什么会想要来呢?”</p><p>“如果我知道自己想要什么,还怎么会来呢?”她没有回答,我关上了灯。</p><p>我睡不着,我害怕失去意识的约束之后,有某一种东西会在我的表皮被剥离后失控。但我又害怕我无法卸下这层约束,我害怕面对我难以发挥我的本性的事实。失眠原来是这样一种感觉,感觉自己以前感受到的难眠感皆是轻到不能再轻的。我的手本能地打着节拍,随着心跳加速。我的内心涌起一股沉重的感觉,但我却没有想任何东西,直到我留意到主动权只是静静地从我的掌中流走。我直起身来,期待她会说些什么,但她什么都没有说,只是稍微蠕动了一下那纤白的身躯,示意我她还醒着。我感觉我将自己卖给了老鸨,我和她都在笼子里,她是妓女,但她镇定自若;我坐立难安,但我是谁?我是一个粒子力学家,一个科普书作家。突然我的脑海中跳出一个词,妓女,不,我不能是妓女,我怎么会是妓女呢?我瞬间感到非常地荒唐,甚至笑出了声。她转过身来看着我,并没有谴责我打搅了她的意思,而是一种我曾见到过的人工合成的宠溺。母亲,这是我第一个联想到的词汇,不,更像是姐姐。她在对我进行一种二次元角色式的安抚,或许她以为我受惊了,我并没有,我并没有……</p><p>“你还没睡吗?”我避开她那紫罗兰色的目光,努力地找出一句话来与她说;我曾在深夜里无数次被她凝视,但那充其量是透过屏幕的折射,那时我没有回避任何的欲望,以为未来也将如此。</p><p>“我在睡啊,我随时都在睡。别忘了我的人设是梦神哦。”她半开玩笑半认真地回答道。</p><p>“那你睡着,怎么还能和我聊天。”我想要表达我的不安,我感到有什么事不对劲,她想要通过某种方式论证她的“人设”存在于当下的现实之中。</p><p>“陪你说梦话呀,或许我只存在于你的某一场春梦里,不是吗?反正你的某一场春梦里定然有我。”有那么一小段时间,我彻底地沉沦了,我放弃了寻找她语言中的逻辑漏洞,我想要存在于这个童稚状态尚存的伊甸园,这里我不会被嘲讽,没有我不敢面对的性,没有不纯的东西,只有我和她,像亚当和夏娃。我闭上双眼,我梦见自己变成了一束烟花,一种模糊的失重感将我的身体和思维撕裂成千百万段,我化作无数紫色的火星,在空中游曳,飘忽不定,我的思维正在消化无数只“眼睛”合成的图像,我看见了十年前的自己,我还在犹豫要同他说什么,有几粒火星已经落入了湖面。无数人的欢庆声与烟花熄灭的嘶嘶声交叠重合在一起,我此时才发现这里面没有我的声音,我永远只是踽凉之人罢了。我只是欣赏美,然后在意识到自己配不上它之后,很识趣地离开。我的意识正逐渐溶化在水里;在此时我想着她,想到“佐玖菅眠”曾多么逼真的3D模型和她甜到发腻的声音,我才想起我是为了追求幸福而来的笼中,哪怕这种幸福低俗下流,可能已经过时。不,这不是幸福,我所想要的幸福不会建立在卖身之上,追求幸福的人应该拥有自己,不应该在笼中。</p><p>我的右脚在半空中猛蹬了一下,我从梦中醒来。我得离开,我真的得走了。我拉开浅蓝色的帘子,疯狂地拍打着笼子的金属栏杆;直到老鸨满脸不耐烦地走过来,慢条斯理地告诉我这会还是就寝时间,我不能走,否则吵到其他嫖客就不好了。我当机立断,转了一万日元给他,他似乎相当满意,立刻输入密码,解开了笼上的锁。</p><p>“醒的挺早啊,你要走了?”她也醒了,我看着她的那双眼睛,不知为何想起乔治·哈里森的那句“看着睡梦中的你,爱无所适从。”</p><p>“是的,我仔细想过了,”我语无伦次地说,“不过我倒是想要与你说一句,似乎幸福无法通过卖身取得,我要离开了。抱歉,没能让你取悦我,我也没能取悦你。”</p><p>她停顿了一下,然后缓缓地说:“可是,‘出去’之后,难道你就不卖身了吗?”</p><p>我仿佛一只受惊的雄兔,连裤子都还没穿好就连滚带爬跑出了笼子。那时正是早高峰,我站在上早班的人们面前整理着衣裤,他们正刷着手机像丧尸一样缓步向前;她不知是出于礼节还是另有企图,反正向我招了招手。突然,一个小孩指着她发出尖笑,人们几乎同时放下手机看向她,很快,各种各样的笑声交融到了一起,谢天谢地,我同往常一样被无视了。我学着他们的样子笑着,融入了人流中,向着一条又一条从不属于我的死线奔跑。</p><p>氿月</p><p>2024/10/17</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>失落的桃花源</title>
<link href="/01/ParadiseLost.html"/>
<url>/01/ParadiseLost.html</url>
<content type="html"><![CDATA[<p>“先生去哪儿?”我清晰地记得那天我再见桃花源时的一切细节,包括出租车司机的北方口音。</p><p>“桃花源。”是的,那个时候他们也都还没有失业,乘客与健谈的司机还是有话好讲的。</p><p>“啊——好久没有人去那儿了,先生是本地人?”他拖长了语调,显得十分惊讶地问道。</p><p>“我在那里曾有一套房产。”我不知该如何指辞,或许一个“曾”字已然含括了我对之所有的感情。</p><span id="more"></span><p>“哦哦哦,那不奇怪了。”他似乎也慌起来,仿佛我们在谈论什么不祥之物;汽车的速度时快时慢,但这条公路上明明没有别的车辆,远远地我望见了塔楼和如墓碑一般林立的公寓楼。再靠近些,我就能看到无数黯淡的窗与积满腐叶的阳台。不对,就在我视线的远端,有什么东西在闪烁着,这里有人吗?哪怕有一个呢?哪怕有一个人还在此地生活呢?不,那是一盏路灯,其上结满了蜘蛛网,在午后不合时宜地亮着。到了,我到了,时候也到了。我拿出一张大钞,让司机不要找钱,赶快离开,但司机反问我我该如何离开,我一时不知该如何回应,我想摆脱他,有时我想摆脱任何人,摆脱所有一切……</p><p>“谢谢师傅的好意,不过这不是师傅您要考虑的。”他便离开,我独自一人行于灰尘扬溢的道上;那又怎样呢?我想道,我回到了这里,又是来干什么的?我不知道,或许只是因为没有什么事更值得自己去做了而已。我只庆辛母亲没能看见我活成这样的一个人,我已经够让她失望了,她没有必要再承受我的悲伤,但她一直在承受,甚至承受了我与她告别时流下的最后一滴泪。</p><p>我爱我的母亲,确切地说,有时我甚至觉得我比我的父亲还要爱她;我不确定这算不算一种俄狄浦斯情结,反正内心深处,有这么一种我名为爱的东西,能够让我原谅她当年对我的所作所为。她将我逼到自杀,为了将我的抑郁症治好在骗子身上花光了父亲给我留下的三十万;但在所有人都以为我死了的时候,是她将鹿角从我的颅中拔了出来,但她能救我,我却不能救她。</p><p>藤蔓般萦绕在断壁之上的钢筋,被不满的住户打穿的墙上的洞,起伏不平的柏油路,像古文明的遗迹,桃花源藏身于郊区的一隅。当下是秋天,桃花已落寞,而这些只为被观赏而生的树也几乎没有可能结出果实。我知道置办房产不是一件我这样的庸人容易办成的事,我有一位朋友在温州买了一套江景房,那已经是八年前的事了,现在他依旧为了这套房四处奔走;我和他的境遇比起来也好不到哪里去,也许我过得好一些,那也只是因为我学会了释怀,我不再去对固定的住所,和有钱阶级的优越感有任何非分的向往,我也不再去试着与女性交往,我释怀了。而且我也很久没有想母亲了,我重新学会了将时间分配在不那么重要的事情上——我似乎一点也不后悔,毕竟不去面对是我的选择。但我最终还是回来了,我回到了那停留在九十年代一成不变的故园。</p><p>事实上,我在回到这个陌生故乡的第一个晚上,在一家青年旅舍里做了个梦,我就梦见了母亲,确切地说,母亲的坟墓。在这一方小小的山地上,我花了四十万元,这大概率将是我一生第二大的消费;她只想要入土为安,所以我成全了她,我用透支的信用卡,网贷和数年的“007”工作成全了她。我不知道是什么原因,可能是因为在我的记忆深处,这座城市始终有她的影子,我挖开了我为之奋斗数年的人生的里程碑——她的坟墓,我想见见她,我没有想通为什么我会以这么一种极端的方式求见唯求安息的母亲,可能是因为在梦里我没有太多的思维,也有可能是因为我的大脑过于畸形,在现实中也一样,我只能在生活的碎片拧成的铁索上蠕动。</p><p>但我没有想到的是,坟墓里没有任何东西,唯有泥土。不可能,根本不可能,我是看着她沉向地下的,我这样念着,一铲一铲铲出所有的土。突然我的脑中闪过一个令我自己也吓了一跳的念头,或许我和她本来就是不对等的,有时候我或许可以考虑了结我自己,但她没有这份权利;因为在那些日子里,我有时会忘了去关心她,有时我甚至想要去尝试不关心她,这样我就真的可以对我自己下手了。但是她永远不会忘了去关心我,哪怕是以不那么符合我期待的方式。母亲,母亲,求你了,再让我见见你吧,我在心中默念。我忍不住了,我跳了下去,在泥土里翻找着,却什么也没有找到,坟墓里只有我自己和我背负的一切。</p><p>我倒下了,太累了,或许是我的梦还不够深,以至于在梦中我还能感受到自己的疲惫。梦想、理想、音乐、文字……太多东西随着我的倒下散乱在地上,交融着,腐烂着,发出甜美的香气。我不想离开了,我想把太阳的光遮住,把月亮的光遮住,我想在最切实的黑暗里被埋葬。我的愿望很快就得到了满足,我能感受到有什么东西在给我盖上被子,很温暖,很潮湿,让我想起了八月的杭州。我试着停止呼吸,有什么东西在和我的身体共生,我没感觉有什么不好的,一切都很舒适。直到我的鼻腔中爬出一只蛆……我从梦中惊醒,却看见枕头上全都是鼻腔中流出的血,非常多,非常多的血。我不知道该如何处理,小时候他们说仰起头就行了,后来似乎又有别的说法,于是我什么都没有干,直到不再流血,我猜这应该不会让情况更坏。</p><p>电线杆光秃秃的,其间也没有电线连接,似乎桃花源的住户们那时很有意见,认为电线杆破坏了社区的美感,现在电线已经被埋在了地下,电线杆还未被撤走,恒大却出事了,他们也早已消失在不知处了。人们找他们讨要“一个解释”,我却不敢有这个程度的奢望,于我而言,如果这种程度的事情也“要解释”的话,那我一生估计都要在抗议和游行中度过,我很识趣的离开了,我甚至都没有想过纠缠合同里的细枝末节,抑或是和恒大的喉舌勾心斗角,我太累了,既然我不配得到一个可以称之为家的地方,那就没有好了。我从某一刻起意识到必须要离开这个地方,寻找一个能让我不再停留于九十年代的小城,而活在二十一世纪的身份。商户们离开的比我还早,或许是因为他们比我们更会捕风捉影,在我离开的那天,喷泉流出墨绿色的水花,像一块浑浊的青玉;但到我归来的时分,喷泉里连水也没有了,唯有破碎的雕像和石块,像是被八国联军洗劫过的圆明园,可能少一点战火。</p><p>说来也奇怪,我总有一种模糊的感觉,这些棕灰色的公寓楼像一片碑林,桃树像献给逝者的鲜花,而我们像在墓冢挣扎着求生的蝼蚁。我这一生仿佛一直在品味自己的失落,这正常吗?请原谅我在这方面的无知,愿意与我熟识的人不多,且大多也都是和我一样容易感伤的人。我想着,走到家楼下,用几乎依旧崭新的钥匙打开门。房中还有我当时遗落的东西,没有人来整理,没有人进来过,厚厚的灰尘上没有脚印。除了早已过期的盐酸舍曲林和一些更没用的东西以外,这里什么也没有。</p><p>母亲的轮椅还在房中,我掸了掸上面的积灰,坐了上去。我坐过轮椅。那是在初中的时候,我与同学们踢球时,对方的门将突然急了,一脚将我的小腿踢骨折了。我记得我恨了他好几年,但是我已经不记得他的名字了。他经常在我不知道的时候出现在我身后,摆着一副庄重的表情,几乎是慈悲地看着我,我不理解,我只是害怕。我没有什么人际交往,他其实一开始也相当不喜欢我,他只是一直觉得他欠我些什么:在赔偿医药费之后,在无声的霸凌和私下的攻击减少之后,他还欠我些什么。我也不知道他欠我什么,那时的我只觉得他莫名其妙,而且相当怕他。</p><p>在他消失在我人生中之后,每当我坐立难安之时,我总是能够感觉到,一个影子在我身后,用同样怜爱慈悲的眼神看着我。就像那一刻,我在警觉中转过身去,却发现偌大的房间里什么也没有,只有我一个人。这房子不闹鬼,我在这里住了很长一段时间,我是知道的。那那个影子是什么呢?我闭上双眼,看见维多利亚式的塔楼在阳光下熠熠生辉,小孩们在塑料的游乐场游玩,小贩们兜售着各种奇异的零食,湛蓝色和铜绿色的琉璃窗,人们谈论着即将到来的新时代,喷涌于雅努斯雕像之上的白色泉水,还有立于门前看似极为吉利的桃树。那段日子仿佛一切都是好的,上涨的股票,上涨的经济指数,摩登的楼盘,一切都向着光芒而生,仿佛一切都在和最新潮的大城市看齐。但真正经历过当下的我却不敢睁开眼睛面对一切,未来究竟会是什么样呢?吉耶?凶耶?给个定数。</p><p>桃花源以白夜般的寂静回应。</p><p>氿月<br>2024/10/1<br>(收录于《明治十七》)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>致命玩笑</title>
<link href="/01/TheKillingJoke.html"/>
<url>/01/TheKillingJoke.html</url>
<content type="html"><![CDATA[<p>(谨以此篇,致敬阿兰·摩尔的《蝙蝠侠:致命玩笑》和鲍勃·迪伦的《沿着瞭望塔》。)</p><p>“目前一切正按照计划进行,龙净已经到达公寓内部,我也已经准备好狙击了。”狙击手如此说道。</p><p>“好,只要你看到他走到窗前,就立刻击毙。”对讲机传来了指令。</p><p>“其实我有些事想告诉你,阿卜杜勒……”龙净背对着阿卜杜勒,缓缓地走向窗台。</p><p>“快说吧,无论你要说什么,现在是最后一次机会了。”阿卜杜勒的声音突然变得冷淡,但令龙净更加不安的是保险打开的声音。高大的西亚人用枪口抵住了他的后脑勺,毒枭发现了他们的计谋,但他似乎并不急着杀死这个叛徒。</p><span id="more"></span><p>“我现在不急了。”龙净坦然地说,“你已经知道了。”</p><p>“你跟我跑金三角十年了,这十年里,我给你讲完了我所有的笑话,不是吗?”毒枭冷冷地笑了笑。</p><p>“是。”龙净的回应宛如风声,不过阿卜杜勒也并不需要他的回应。</p><p>“弟兄们都死完了,就剩你我了,现在我给你讲讲我最后一个笑话。”毒枭的语气中带着一丝愤怒和不甘,“也就只剩你还能听懂了。“</p><p>透过瞄准镜,狙击手清晰地看到龙净的身影,在纯白的月光下,他向窗的另一侧行进;他的身后即是毒枭,那毒枭的手被月光映得显出煞白,它正紧紧地握着一把左轮手枪,并逼着他往房间的另一侧走。那手臂逐渐地进入他的视野,致命部位还没有出现在视野里,还太早,不能松懈,就差一点了……</p><p>“他走进视野范围了吗?”领导的声音打破了寂静,他下意识地确认了一声,“立刻击毙!”</p><p>狙击手无意识地扣动了扳机,但阿卜杜勒突然用力将龙净拉回,他的枪也几乎同时射出了子弹,两发子弹穿过了龙净的腹部,他重重地倒在地上,鲜血流在污秽的地板上,而那血泊上正倒映着洁净的月光。当他意识到自己做了什么时,高大的西亚人已经消失在了视野的远端。</p><p>“龙净!龙净!哥!哥!”狙击手将耳机摔到地上,以最快的速度跑下楼去,又迅速跑上另一座公寓的顶层,他听见诡异的声音,尖锐的声音,金属摩擦时产生的声音。他一脚踹开了大门,寒风萧瑟,他不由得裹紧了外套。</p><p>“呵,呵呵呵,哈哈哈哈。为什么啊?为什么……”但他刚刚听见的不是凄惨的叫声,也不是死前的平静。他的兄长在笑,龙净在笑。</p><p>“那个笑话,那个笑话……”龙净乌黑的瞳孔几乎要散到眼白里,从腹部伤口涌出的血流终于逐渐开始平息,笑声愈发嘶哑,最终嘴唇变白,笑容也凝固在了脸上。龙武流着泪,为他的兄长合上了双眼,将笑容也理成了一副庄重的遗容。他感到有什么人在看着,于是转过了头去,那建筑也随他的视线歪曲旋转,像在不稳定介质中寻求通路的光一样。逐渐地,色彩和意象都融成了一块,在暗灰色的世界里,模糊地飘出一段文字,他不确定是在他眼前显现的,还是在他心中出现的:</p><blockquote><p>曾有两个人窘于荒野之中……</p></blockquote><p>龙武在车上醒来,不错,确实曾有两个人被囚于荒野之中,不过那是三年前了。他看向手机,自己要迟到了,他换上警服,然后一脚将油门踩到底。他半睡半醒,分不清亮起的究竟是红灯还是绿灯,不过是哪个也无所谓,毕竟自己开的是警车。勉强在狭小的缝隙里停好车后,他走进局里。</p><p>所有人都向他问好,这很自然,毕竟自己现在与三年前是大不一样了,三年前自己还是那个王八的棋子,现在自己已经坐在他的办公室里了。他现在可能正在暗无天日的牢房里像个老鼠一样爬着,他活该,如果不是他与阿卜杜勒的私下交易,金国与东之国边境的毒贩就不会那么猖獗,他就不会被阿卜杜勒抓住把柄,也就没有必要让自己暗杀阿卜杜勒,龙净就不会死……</p><p>他不知道为什么过了这么久自己仍然会想起这件事,欲求身居高位的人(如果自己能够这么说的话)还是不要有太多的情感为好,否则容易误了大事。可能是因为那个谜团:他不知道究竟是自己还是阿卜杜勒杀死了自己的兄长。</p><p>他走过审讯室,他不知道为什么自己要回去,他已经很久没有面对过被捕的犯人了,他失去了折磨和摧残他们的勇气,或许是因为自己“老了”,这也许就是资历老的警察会被安排坐办公室的原因,他们失去了年轻时的锐气,就没有用了。他的思维太简单了,他什么也想不通。</p><p>当龙武看向那血迹已黄的铁窗之时,他还是能依稀地看见龙净的身影,那影子似乎正坐在椅子上,双手正被铐住;或许他只要用力,就能够挣脱,但那没用,自己随时都可以击毙他,他是毒贩。但龙武并不急着这么做,毕竟两人已经十年未见了。十年前他们俩都还是孤儿,在街上讨饭为生,终于,龙净无法忍受这样的生活,便抛弃了自己跑去东之国谋生。自己后来交上了好运,被一个好人家收养,后来又当上了警察,龙武有时候希望他的兄长在东之国过着好日子,心情不好的时候便希望他也混得很烂,毕竟故事的另一半龙武并不知道,直到那天。</p><p>那天,龙净面无表情地对自己说,在他越过边境的那天晚上,他被数个高大的毒贩抓住。很侥幸的是,他们正好缺人手,他才有机会为他们行苦役而活下来。他们让他改名字,反正也没有人会记得他的名字,他便沿用了。他很庆幸,他起码活下来了,活到了今天;但他并没有表达后悔的意思,只是表示想不到再见竟是在审讯室里。</p><p>自己的任务很简单,那就是让龙净告诉自己“安全屋”的位置,阿卜杜勒的其他手下基本上都已经被击毙,只有他还活着。因此,局里的技术人员已经模仿他的口吻,用他的设备将阿卜杜勒约到“安全屋”,一同将货物分散运到安全地点。但龙净说他什么都不懂,他什么都不明白,他并不开口,于是自己开始骗他。</p><p>那天自己说了很多谎,都说了些什么来着?说自己想要和他重新成为兄弟,在这件事情结束之后开始新的生活,他会得到自由,获得正式的公民身份,他的名字将会真正地成为他的名字,他会享有人权,拥有依靠和家人。此时,他突然冷哼了一声,他笑了,但是是苦笑,没有死前那么爽朗,自己也永远无法知道他究竟在想什么了。总之他突然答应了,他突然放下了背叛的负担,他似乎注意到了什么东西在悄然地变化。他随口吐出了那个地址,然后失魂落魄瘫在了椅子上。透过泛黄的玻璃,他看见那椅子现在已经断了腿,被原先固定用的钢链悬在空中。他终于回过神来,三年恍如隔世。</p><p>他回到办公室,手机上有几条消息未读。他看见那张熟悉的脸,点开语音,正是那张自己曾在瞄准镜中看到的脸,他感到害怕,他不害怕阿卜杜勒,他害怕什么呢?</p><p>“龙哥,我们找到他了。那个走私犯的名字是马利克,他在雪德寺附近的一处仓库库房被监控拍到了,这是他的脸。”他点开语音,神情恍惚:“看来是天意让我再见到你,不是么?”</p><p>“我亲自去处理他,不要通知其他任何人。小马,你干得很好。”他拿出了抽屉里的枪,确认子弹充足后,便走到了警车前,警车里的油应该够他开到雪德寺,至于别的,自己都不想管了,自己什么都不再关心了。在当下,一切都不过是一脚油门的事;车已开出,对未来的思虑都来的太迟了,失去了意义。到海滨大街时天色已黯,他换上了便衣,独自一人巡逻,他看着监控摄像头向后数,不会很远,马上就到了,他愈发紧张起来,直到来到门前他的心才平静下来。锈蚀的锁被轻易地拨开,库房里空无一人,只有用过的注射器与一整柜的毒品。</p><p>夜里的仓库一片漆黑,唯有月光相映,一个男人走进门,脱下皮夹克,将尚有余温的手枪丢到地上,然后走到柜前,在柜子里翻找着注射器,他并没有留意到那是用过的注射器。不过就算他知道,也不会在意。他只想给自己尽快来上一发,根据线人的消息,当地的警察已经对他的这个身份有所怀疑,他明早之前就应该离开这个城市。突然,他隐隐听见脚步声,他立刻拔掉针头,伸出手去捡一旁的枪,但他抬起头时,却发现脑后便是枪头,就像当年一样,只不过自己现在是被枪指着的那一方。</p><p>“别想着捡枪。”龙武走进了他的视野,有那么一瞬间,他以为龙净复活了,那个自己再熟悉不过的东方男人从坟里爬了出来,走到了他面前。不,这两兄弟完全不一样。他闭上了双眼,等待子弹穿过他的头颅,但他并没有像自己所想的那样被击杀。</p><p>“给我讲讲那个笑话吧,阿卜杜勒。三年前龙净死前,你给他讲的那个笑话。”他的语气十分冰冷,像是在审判。</p><p>“什么?你怎么会问这个?”阿卜杜勒怔住了,然后突然发笑,他没有想到龙武竟然会问这个,他的背上涔出冷汗,“你真的想听吗?”</p><p>“少废话,快说。”龙武蹲了下来,将阿卜杜勒的枪夺走。阿卜杜勒看见龙武极小的瞳孔和血丝密布的眼睛,他早该猜到的,不过这也不重要了,于是他开始唱。</p><blockquote><p>“There must be some way out of here,”<br>said the joker to the thief,<br>“There’s too much confusion,<br>I can’t get no relief.<br>Businessmen, they drink my wine,<br>plowmen dig my earth,<br>None of them along the line<br>know what any of it is worth.”</p></blockquote><p>“什么?不可能?你在撒谎,这不是那个笑话……这不好笑,这根本就不好笑,你究竟想要表达什么?这个笑话究竟想要表达什么?”龙武一脸茫然,止不住地摇头,龙净死前的笑脸浮现在他面前,那般释怀的笑容此刻也逐渐浮现在阿卜杜勒的脸上。</p><p>“这就是……本质区别,你还没有发现吗?这一切都不过是个大玩笑。呵……呵呵,我记得年轻的时候,我常常步行很远去海边的餐厅里,坐在点唱机边上听这首歌,那时候我还不知道鲍勃·迪伦,不知道他是一个美国佬,我年轻的时候什么都不知道。头一次听这首歌的时候,我莫名地感觉自己很滑稽,然后我就想笑,笑着笑着,什么都忘了,忘了家人,忘了朋友,忘了想——”</p><p>“——的念头。”雷鸣般的枪声打断了阿卜杜勒的独白,阿卜杜勒看着从伤口中流出的那一大滩血,但不知是因为药物的作用,还是因为自己的结局过于可笑,他看着龙净的眼睛,止不住地笑。</p><p>“原来,你一直都知道。哈哈哈……哈哈……哈哈哈哈……”龙武听着他的笑声,心中生出一丝害怕,他快步跑出漆黑的库房,阿卜杜勒笑出了眼泪,那眼泪掉进了血泊里,激起一丝涟漪。</p><p>而那血泊上倒映着洁净的月光。</p><p>氿月<br>2024/9/24</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>脑中的鹿角</title>
<link href="/01/BranchesInMyBrain.html"/>
<url>/01/BranchesInMyBrain.html</url>
<content type="html"><![CDATA[<p>(乱写的,轻喷)</p><p>我接受了赫特医生的治疗之后,觉得心智得到了开启,于是我拿起日记本,将今日的奇妙见闻给记录下来。然后我发现我把门锁上了,为了防止母亲在回来时由于打不开门大骂“操你妈”,我只好放下笔将门拉开。我拿起笔一股脑地将思绪写在了封面上,如其他的国际生一样,我的表层思维夹杂着汉语、英语、日语和西班牙语。然后我翻开封面撕烂几页纸,在一块较大的碎片上写道:</p><span id="more"></span><p>今天早上,我去白马湖钓马,却钓上来一只鹿,那只鹿哈姆哈姆地叫,我又害怕又喜欢。</p><p>我拿起钓竿再钓,什么也没有钓到。我牵着鹿打算离开,一旁玩着昆特牌的几个守卫让我交鹿税。我说没有鹿税只有马税,他们异口同声地说鹿就是马。我把他们揍了一顿,撞见了郭继承教授,郭继承作为一个名门正派的人,看不惯我使用野蛮的方式对待他人。于是他使用某种古怪的法术召唤了警察,他们将我绳之以法。我愤愤地问如果鹿是马的话,那鹿克思岂不是马克思。然后一旁窜出来一个马克思自设性转COSER,她的眼神十分地睿智,据我估测,睿智程度在阿布思·邓布利多和阿库娅之间。她说,“Precisely.“,话音刚落,她就被跟在她背后的孔夫子一枪爆头了。</p><p>但我还只是个未成年人啊,当我看见那粉红色的脑浆融在血水中的样子时,我注意到我得了抑郁症。我向他们求情,说我既然是个抑郁症患者,能不能法外开恩,让我把鹿带走,但他们把鹿牵走了,我也被母亲牵走了。她说要是我有抑郁症,就该找个老中医好好看一下。</p><p>我们走到临沂四院,母亲把我牵进去,说找杨永信院士,全息投影出的一个老中医说杨永信不在,但他们有万能的老中医,可以治百病。母亲非常欢喜,在机械音声的指引下,毫无顾忌地将我的三十多万存款交给了医院。我拿着挂号单,数着手指的根数,越数越快,越数越多。我用余光看见几十号形形色色的人走进去,但没有人出来。我终于明白为什么我数的手指愈发得多了,我抖得太快,抖出了重影。</p><p>“请114.514号,包籽进入404诊室。”那奇特的机械音让我进去,那我便进去。但里面一片漆黑,好像什么都没有。</p><p>“你好,有人在里面吗?”我发现身后的门已经关上,我周围仿佛空无一物,仿佛一场太空隔离实验。我是否在此刻成为了宇航员呢?我终于实现了儿时的梦想,在太空中做实验,若是我有手机的话,我一定要拍下来发朋友圈,才不管别人说我抽不抽象,可惜我的手机被没收了,我这个年纪的人,感伤时做的事情,大抵就是回忆自己上一次拥有梦想的日子,有多么地遥远。</p><p>忽然,从某个角落传来机械运作时,金属摩擦的声音,一个巨大的灯泡将周围照亮。但房间的边界依旧是黑暗的,我这么说,主要是因为我依旧感觉不到这个房间的墙壁的存在。一个穿着白色大褂的人坐在一张办公桌上,修长的手指拨弄着一个旋钮,调整着音乐的音量。我听出来那是克里姆森国王的《二十一世纪精神病人》,如同许多前卫摇滚乐曲一样,歌在前奏开始之后许久,主唱才开始演唱。</p><p>过来吧,114.514号,那个看起来很像医生的人如是说。他的笑容有些诡异,看起来仿佛一位笨拙的雕塑家用柳叶刀在一具尸体的脸上刻出无数疤痕一样。这些褶皱即使被强光照射,仍能匿住影子。我突然开始道德反思,如果这就是地狱的话,那我肯定是犯了什么错才到这儿来的。于是我一边看他的脸一边想,会不会是因为我的梦想都是偷来的,上帝保护梦想家们的版权,所以才把我丢到这儿来?我想着诸如此类的乱七八糟的东西,直到那个医生开口。</p><p>他说他叫赫特,我可以叫他赫特医生,我是他今天最后一位病人,不过他已经治了五百一十三位病人了,都是像我这样的抑郁症,方法自然是针炙,拔罐是治不好这种病症的。于是他开始寻针,我想提醒他他已经放在桌上了,但他自顾自地翻着,军刀,太刀甚至戒尺都找出来了,但就是找不到针。于是他先从柜子里拿出电疗用的电击器,将插头插上,然后得意地说,过会我们从五安培开始。</p><p>他让我躺在床上,或者说手术台更为恰当,他自己则随着音乐起舞,用匕首削着胡子;面皮被割破了,但血不淌出来,原来那不过是一幅老中医的面具;他有些怠惰了,于是将面具的下巴部分撕碎,假装自己已经剃好了胡子。</p><p>他在火焰上烤炭着生锈的钢针,把它们插到我的脸上,一定流了很多血,不然我是不会感到舌尖上传来的那甜腻的感觉的。</p><p>他将正负电极接到我大脑两侧的太阳穴,我从未感觉这么痛过,我忍不住大喊了一声,“啊——”,没有回声,他也没有回应我的呐喊,在这刑场上,我仿佛孑然一身。</p><p>他似乎对我有些不满意,他说我只需要接受就行了,就只会感到有一点点恶心。这比起含心茹苦,任劳伤怨养育我的父母所受的苦根本不算什么。他们交了几十万元,只为从孩子的身上驱走一种他们不理解的病症,他们理解的只有给够了钱,医生就会用柳叶刀割开脑子,将坏种取出来。或者说他们只是想要别人看不见而已,毕竟只要别人看不出来,便相当于没有。他说他在重新雕刻我的灵魂,我应该感恩。在经过了几个小时或几分钟后,电击终于暂时地停止了。音乐也停下了。</p><p>“好的,你认为你现在还有抑郁症吗?”他的眼睛透出青白色的光,注视着我,仿佛在催眠。</p><p>“没有,没有。没有!”我注意到他的手又要倾向那开关。我回想起巨量的电流倾泻着流过我的大脑,使我的意识时断时续,我甚至感觉我短暂地死亡了几次,又被复活了几次,像弗兰肯斯坦。鹿、钓竿、枪、修长的手、柳叶刀、404号房间、针、宇航员,我是宇航员吗?还是说我是实验品?我面对着他的笑容,踉跄着倒退着走出号间,我笑了,我从来没有笑得这么开心过,我猜测是因为某种快乐像羽毛一样入侵了我的意识。按照他所说的,我没有疯,我只是变得例外的正常了,不是一般的正常,正常人所达不到的正常……</p><p>我将碎片折好,放入琴键之间。我突然不想弹钢琴了,因为我发现我无论怎么摁,那个琴键也摁不下去了。我只感到郁闷和慌张,我感觉有一种鬼在这附近摇晃着;于是我走进了我母亲的房间,找出了那件自从我父亲去世后就再也没人动过的婚纱,我换上婚纱,将钢琴合上,回到房间里,拉上青红色的窗帘,用一把鹿角贯穿了我的脑子,这次我见到脑浆的时候,没有先前那么害怕了,都得感谢赫特医生的栽培。</p><p>(和《鹿乃子乃子虎视眈眈》没有关系,我觉得那部番也就还行。)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
</tags>
</entry>
<entry>
<title>彩</title>
<link href="/01/ForbiddenColor.html"/>
<url>/01/ForbiddenColor.html</url>
<content type="html"><![CDATA[<p>王彩艳拖着尚发着低烧的身体回到家中,耳边还回响着领导“小王”、“小王”的叫声。她静静地看着那一面裂痕斑驳的白墙,水壶中溢出的白烟凝在窗上,仿佛在这五十年来的小家中下了一场雨。她的脑子此时似乎也不大灵光,在尝试数次用手撕开“清开灵”和“板蓝根”的包装之后,她还是从橱柜里取出了剪刀。</p><span id="more"></span><p>将颗粒摇匀之后,她一饮而尽,有些烫,但她只想尽早喝完躺下。她解开领花的结,将西装外套和包臀裙叠起来放进衣柜,清一色的黑白,其中夹杂着一些灰蓝,藏青与淡棕。她倒在床上,刷着一些短视频,关于蒸蒸日上的经济,靖国神社的倒塌,两千元人民币相比三千美元的购买力优势…她的手指一直在向上划,直到她看见一个名为“白马湖漫展枪击案”的视频,但在视频加载完之前,它就被下架了。她只感到无趣,便将手机放下,合上双眼,沉沉地睡去。<br>她被电话铃声惊醒了,是肖邦的《谐谑曲》,灯光透过她眼角的泪花,显出一片虹。她拿起手机,是一个陌生的号码,看地区,倒有可能是昨天在柜台和自己谈了很久却没有下单的客户。她清了清嗓子,直起身来,接通了电话:“喂,您好,这边XX银行王彩艳,请问是要办理什么业务吗?”但当她听到那熟悉的声音时,她怔住了。<br>“彩艳啊,是妈,妈最近换了个号码,你最近过得怎样啊?找到男朋友了吗?”母亲的声音从扬声器中传来。<br>“有什么事吗?”她那热情甜腻的声音瞬间变得冷淡,甚至有一点害怕,她的眼睛向下瞟,看向那红色的挂断键。<br>“哦哦,你忙是吧,那妈就长话短说:你哥找了个女朋友谈得特别好,很快就要结婚了。但是…”<br>“但是什么但是?”彩艳逼问着母亲,掩饰着自己的慌张失措;母亲停顿了一下,似乎她也不大好启齿。<br>“你哥掏不出彩礼钱,你知道的嘛,她们家里是江西那边的。就差这一下了,你哥要是掏不出这钱,人家就会觉得你哥是个穷小子,配不上她们家的女娃。”不知是因为什么,母亲的语气愈发从容了起来,仿佛要钱是一件很光彩的事情一样。<br>“多少?”彩艳咽了口口水,她感到渴,脊背上已然汗珠密布,不知道是因为药效,还是自己过度紧张。<br>“五十万。”母亲几乎没有犹豫,仿佛这个数字对于他们不算什么大数目,但彩艳却倒吸了一口凉气。<br>“五十万?妈!我们没这个又要打肿脸充胖子!就算我把车卖了也付不起呀。”她的语气仿佛在哭诉,虽然她知道这只不过是一种情绪的发泄。<br>“我们家穷还不是怪你没出息,你上大学花了多少钱,赚的还没有你哥一个中专出来的赚得多!”那个名为父亲的声音加入进来。<br>“你哥现在倒是家里最风光的了,他可是一年挣不知道多少万,认识数不清的大老板——”他说完了又想说。<br>“我哥这么有钱,怎么不自己付彩礼呢?那么多大老板们的手里,多少总有点闲钱借给他们的老朋友吧。”她将“父亲”打断了,扬声器里久久没有声音传来,这次家庭通话大抵已经要不那么愉快地结束了。<br>“他去投资了。”那个男人压低了自己的声音,隐藏着微微的笑意。<br>“投资?投资什么?”她想起当年在大学里被他的狐朋狗友追着要保护费的日子,想起他在家中堂而皇之地吹嘘自己的人脉优势的日子,或许正是从那时,她意识到了她和他们不是一路人。<br>“这你就不用关心了,我们生财自有道,不便传于外人。”电话被挂断了。果然,自己一直都没想错过,他们就是这样的人……<br>确认了自己的体温还不算高,且并没有得新冠后,第二天,她照常去银行上班;她收到了一条消息:“请收到这个消息的员工立刻到三楼办公室来一趟。”三楼只有一个办公室,而她今天其实不太想见行长。<br>“请进。”行长把他们请进来;青白色的灯,灰白色的墙,一尘不染的黑色地板,黑白色的大理石雕像仿佛在暗示,他们都只不过是融于光中的影子;而整个房中唯一的色彩,即是行长手中的三张彩色纸条。<br>“因为我十一月底要去卡塔尔度假,所以这个月的月度最佳员工就趁我还在的时候发掉好了。但是我实在没法从你们三个里挑出一个,所以我们抽签;为了避嫌,就请小王来抽。”她走上前,行长的手像电影里魔术师的帽子;她慢慢地拿起粉色的纸条,注意到行长的眼神似乎有一些变化,但她并没有理会,展开一看,上面是自己的名字。<br>她十分开心,但不知为何还是没有笑,她能感到自己的身后,有什么东西正很诡异地靠近她,在粉色的纸条上投下影子。她转过头去,却看见是行长站了起来,在她的耳边轻言:“张屹。”她能感受到他比她还紧张,不知道为什么。<br>“张屹!”她无意识地喊出了声,行长喘了两声气,抿了抿嘴唇,尝试隐去自己的笑容。张屹也没有过多的喜悦,而是愣在了原地,不知该干什么。另一个同事则是满脸困惑,默默看向乌木大门,想要离开。<br>“张屹,刘艾刚,你们先下去通知大伙等会在二号会议室颁奖;彩艳,嗯?你先别走,我有些话要与你说。“二人快步离开,行长坐回了椅子上。彩艳感觉像是一个一直被端详着的花瓶,不敢说话的花瓶。<br>“这回多谢你帮忙了。咳,奖金我会给你的,但这个奖真的只能由张屹拿。”他的话语略显软懦。<br>“为什么?”她下意识地回了一句。<br>“他是我朋友的侄子,多拿些这种奖项之类的,以后评职称好评一些。”他的语气中蕴着一点矛盾,但那职业的假笑浇灭了所有人情味。<br>“……”她不知道该说什么,或许自己根本不配在这种场合说话。行长也注意到了她的不自在,便也想让她走。<br>“那这五千块钱转你了啊,彩艳。有什么‘获奖感言’吗?”她仰起头看向头顶的炽灯,眼前依稀虹彩陆离。<br>“我不知道,这好像是我应得的东西吧,但拿到手时,总感觉有种,中了彩票的感觉,但又没有那么开心……”<br>“你还是开心点好,快回去接着上班吧。”她回过神来的时候,已经快要下班了。她在工位上刷着手机,不知夕阳欲颓;直到母亲发来一条微信,说今晚有大喜事,务必要回家吃饭。他们学聪明了,没有打电话来渎扰自己,正好这次回去也可以和他们说清楚,和他们划清界限。她驱车驶向城市的东陲,将日光抛在身后。<br>她又行至熟悉的家门,门前贴满了各式各样的小广告,有的还是00年代的,已经烂在门里了。她推开门,她看见那个男人和母亲,她努力地匿住自己的不适。<br>“哼,你终于还是滚过来了。”名为父亲的那个男人抽着烟,躺在躺椅上冷笑道。他不是爸,爸在自己很小的时候就死了,或者逃了,反正人间蒸发了,没有人能找得到他,连尸体都寻不到。可能指望爸比那个男人好也不大切实际,但自己也只能这么指望了。<br>彩艳一边想着,一边四处踱步,却怎么也躲不开那个男人身上的劣质香烟味。她寻不到话头,便问:“不是说有甚么喜事吗?喜事呢?我都来了这么久了,也没见着什么喜事啊。”<br>“你个小丫头别急,等你哥带上他那小女朋友来家里吃过晚饭,就自然有喜事了。”话音刚落,门铃就响了。那个男人立马直起身来,一路小跑着去给哥和他的女朋友开门。二人进来之后,男人光是笑脸相迎,然后把哥拉到一边,说:“她怎么和APP上长得不一样?你看看她那对眼睛,像个比目鱼,你怎么下得去手的?”<br>“我都问了快几百个了,也就只有她愿意来家里,将就将就得了,你以为你是谁?”哥似乎有些不留情,那个男人面红耳赤,走回了房间。女孩似手也不大开心,刷着手机,摆着一副臭脸,彩艳便走到哥的旁边,问:“那个喜事…到底是什么啊?”<br>哥的表情倒是很轻松:“体彩你晓得不?前阵子我认识的那个黄老板,他就是做这行的。他说他有内部消息,说今晚德国必大胜日本,让我买德国三比零日本。我看了一下那个赔率,赚麻了,赶紧网贷了五万买了德国三比零日本。高低赚个七八万,再接着买,等到世界杯结束,我岂不是要成百万富翁?哈哈哈!”<br>“可是……”<br>“可是什么可是?黄大仙可是十三连红的高手,他的消息怎么可能有误?你就眼巴巴看着你哥我赚大钱就是了!”她已经不知道该说什么了。<br>在一场无声的晚餐后,一家人整齐地坐在沙发上看电视里的球赛,很快萨内就进了一球。那个男人和哥开了不知道第多少瓶啤酒,他们已经几近要晕过去了,时不时嘟囔一句:“怎么还不进球?快给老子进球!”<br>终于,在等待许久后,比赛迎来了第二枚进球,震耳欲聋的欢呼声将两个沉溺于发财梦中的男人唤醒,他们惺忪的双眼看不清电视上的比分,只能分辨出屏幕上那蓝色的光。“日本队进球了!堂安律头球破门!日本队扳平了比分!”播音员高亢的声音使所有人感到畏惧。<br>“什么?鬼子进了?鬼子扳平了?鬼子他妈真他妈进了?”哥成了一头野兽,歇斯底里地扑在女友身上,女友看着他瞪得浑圆的眼睛,吓得连尖叫的力气也失去了。而那个男人正手执一根铁棍,重重地打在门上,仿佛在打战鼓,门里传来嘶哑的母亲的哭喊声。她大抵正死死地顶住那门,向着高天之上的神佛求助。<br>作为整座宅中唯一一位还没有被侵犯的女性,彩艳飞快地跑出了门,将大门从外面锁上,邻居们都在欢呼,浅野拓磨又进了一脚漂亮的反击,人们欢呼着日本队战胜了德国!<br>但她在漆黑的楼道中只能感觉有什么人在看着,对她的窘境一边笑一边鼓掌,一边欢呼。她摔了一跤,连滚带爬地跑上车,她只想出,想要话命。车灯照亮了水洼上的油脂,在黑夜中放出彩红色的光。她无意识地向着某个方向开着,直到油脂干硬化作腐臭的黑泥,直到耳边不再传来尖叫,尖叫,尖叫……</p><p>(收录于《明治十七》)<br>氿月<br>2024/9/5</p><p>(瞎写的,别骂。)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 杂文 </tag>
</tags>
</entry>
<entry>
<title>义和拳</title>
<link href="/01/IronFists.html"/>
<url>/01/IronFists.html</url>
<content type="html"><![CDATA[<p>日本人是“<strong>有小礼而无大义</strong>”的,这是很可以确认的。那与之相对的,我们中国人就是有小礼又有大义的(或者说,<strong>有大礼又有大义</strong>更合适?)</p><span id="more"></span><p>国足零比七惨败日本队后,我见到一种说法,那就是国足应当踢人来减小潜在的比分差距,使对方不敢进球。这种说法初一听带点滑稽,但是看见支持者声泪俱下的姿态后,我发现他们可能是认真的。甚至当我在短视频平台上刷到官媒转发这些观点的时候,我瞬间就开始认为他们是对的。<br>但作为一个真的看过比赛的人,仔细一想,国足或许并非有能力踢人,刘洋两次放铲久保建英,两次都不中,还给自己整伤了。另外,板仓滉被肘击,杨泽祥铲倒南野拓实……这真的没有“踢人”吗?看上去是踢了,所以我不知道他们在哭什么。<br>说到底,我也开始怀疑我们到底占不占理了(应该是境外势力入侵了我的意识),于是我只能在史书里翻检,因为在我的印象里,这似乎并不合乎什么礼。幸亏我是错的,中国队的“踢人”,在史书里有料可查,国足寻回了数百年前大清人民的智慧,那便是:<strong>义和拳</strong>。<br>“义和拳”在这里,不能够作为一个词理解,我们应当将其理解为一种遥遥领先的战术——其遥遥领先性体现于作为一个清朝时期就已经出现了的奇妙战略,它在现代依旧适用。在义和拳战术之前,我们自然对对手施加以礼,我们是有礼的,就算是面对狡诈阴险的日本人,我们也要送礼,我们光是上半场在门前就送了日本队两个大礼;甚至不止在场上,在场下我们也要送礼。但是日本人似乎过于贪婪了,我们都已经送了两个大礼,但他们还是想多进几个球,此时,便应该使用义和拳战术了。<br>首先便是强调公平正 <strong>“义”</strong> ,宣称对手买通了裁判,或者有什么主场优势,抑或是球员犯规比我们多。若是对上日本,那除此之外就要提福岛排放核污水,侵华战争和靖国神社。但是这样似乎也没有什么用,比赛似乎也没有变得更好看起来。然后我们便只好割地求 <strong>“和”</strong> ,我们的解说们和博主们就瞬间失去了高傲的态势,开始倒地求饶:“别进了!别进了!”“一场比赛进三四个球差不多了。”然后又开始灭自己威风,夸起了对手:“他们的球员都在五大联赛踢球,和我们的球员不是一个水平的。”理论很完备,但从实际操作上来说,这似乎也并没有结束对手的进攻趋势。<br>最后我们便要打 <strong>“拳”</strong> ,确切来说,这是我们骨子里的温良的一种体现,包括但不限于嘘对方球迷,对方国歌,在场上多犯规,打出血性,甚至打出出血量;踢废对方球员,甚至直接击毙。还有更加巧妙的方式,那就是换上格斗武术队,丢两球以上就在场上开始打人。这要是还耻辱大败,那就使用东风导弹。果然日本人害怕了,他们踢进七个球之后,终于不敢进更多了。比赛的比分是七比零,国足输了,他们没有血性所以输了;但球迷赢了,球迷们可以在网上吹嘘义和拳战术的伟大了,他们可以做漫长的白日梦,可能直到下一场比赛开始,他们才会醒来。九月十日在大连梭鱼湾足球场发生的事也和我猜的大差不差就是了……</p><p>氿月<br>2024/9/16</p><p>(瞎写的,别骂。)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 杂文 </tag>
</tags>
</entry>
<entry>
<title>行步于夜晚的白鹭城</title>
<link href="/01/NightAtKamisato.html"/>
<url>/01/NightAtKamisato.html</url>
<content type="html"><![CDATA[<p>亲爱的犹大:</p><p>我最最敬爱的叔父,我很高兴收到你的信,我最近过的很好。在61号公路与你告别之后,我去了土耳其,几周前我到了京都,又乘坐东海道到了姬路。尽管白鹭城与几个世纪前的她相比起来,略显苍老了些,但是我仍然能认出她的模样。毕竟,尚存与这世上的,再没有什么能比那如同仙鹭一般立于丘峰之上的古堡更能令我身心愉悦了。相较于我前些日子造访过的君士坦丁堡,这里游人很少;只可惜我到的时候,樱花已凋敝,我走近树下,嗅到甜蜜而酸腐的气息,抬起头望,青叶隐天蔽日。</p><span id="more"></span><p>在京都时,我与熟人打听了一下。我们曾看到的金阁寺之景已在一九五〇年作了旧,我们曾见证的存在于过去的整体分裂成了碎片,他们执着于东拼西凑,用尽了借口和计谋,却没法把一切归回原始状态。我造访金阁寺时,在一条小径上,看见了一个衣着体面的青年在埋葬一个流浪汉,我问他这个流浪汉是谁,他说他也不知道。流浪汉的脸上逐渐浮现出一种释怀的笑,他还没死,我想提醒青年,但青年却做出了一个噤声的手势。于是我没有出声,看着他庄重地埋葬了一具活着的尸体。他从包中掏出一瓶水,他开启瓶盖,我诧异地闻到了狄奥尼索斯之酒的芳香。与其他饮用那甘泉的人一样,他舒服地麻木了。他也成了一具活着的尸体,只不过没有人去掩埋他罢了。无间之钟的音响从金碧辉煌的断瓦残垣间传来,我知道我得走了,这里并没有我要寻找的东西;空旷的人群与那音响相和;我感到坚定,我要离开金阁寺,我要离开日本,去下一个目的地。</p><p>在我离开日本之后,我看见了一条X上的讯息,一个维特鲁威人发了一个视频,是一个10岁左右的小孩,被一个巴尔巴厘安士兵打的血肉模糊,下巴骨被整个拆下;即使他还能存活,他的后半生已经无法以常人的方式进食,这种伤害是永恒的,他生不如死。那个维特鲁威人声泪俱下地说,大总统只是被击中了耳朵,但在萨迦,一个小时就有四五十个人在空袭中遇难;但人们关心大总统,而不关心那些死去的人们。但很多人保持冷漠,我实在想不到为什么。</p><p>现在道德这东西好像不时髦了,像我这样的老东西可能完全理解不了什么是“道德相对主义”、“道德虚无主义”之类的词汇,从一些人提起它们时的腔调来看,我怀疑他们是在找借口。我记得约莫两千年前我们头一回去伯利恒的时候,也听耶稣讲过一些类似的阐释道德的话(或者完全相反,我那个时候还听不懂加利利那块的方言,讽刺的是,他死后我才学会),但是耶稣是个更加有魅力的人,我能听他唠上好久,尽管有时候我一句话也听不懂。我怀疑大总统的很多粉丝们也是像我这样的,他们在台下,大总统在台上,大总统说一些令人费解的话,然后他们在下面欢呼雀跃。那几本《福音》八成就是这么写出来的,当时的人们不懂,但是听着很积极和振奋,他们把这些令人们亢奋的话语记录下来,祈祷以后大伙读到这些的时候也能得到相同的感受。</p><p>但是耶稣走了之后过了一千多年,他们读那些令人振奋的话语时并不感到亢奋,而是感到的是一种与欲望完全相反的东西,这种东西让他们用看不见的绳索把自己绑住,像我们那次去拜访那个吓人的萨德侯爵时,他所描述的那种东西一样——他认为在不远的将来,也就是现在,人们将禁止自己的欲望,同时禁止别人产生欲望;在这样的冷冰冰的世界里,最温暖的地方将会是地牢。为什么人们要给自己套上一层层枷锁才能感到温暖呢?</p><p>我相信叔父您也在数千年的“行走”中注意到了,这个时代的人们将古早的人们当作精神的寄托,以他们的信徒的名义向他们忏悔,我认为这是好的,是没有什么坏处的。但是有时我们会看到“好人”和“坏人”干着相同的事情,他们在犯下最伤天害理的过错之后,只需要向自己信奉的那一尊神像忏悔,就可以放下心里的道德牵挂了。第二天,他们就可以从不安中走出来,去干又一件骇人听闻的事。</p><p>离开的前天晚上,我行步在白鹭城,星辰隐去了身形,远处有人在用手电筒打暗号,我裸着双足,在草地上走着;我触摸着墙壁,道别着前进,却发现一道数百年前就已存在于鹭翼之上的伤疤。过了这么久还没愈合吗?或许永远都愈合不了了。我释怀了,便试着同你一样向前走。</p><p>有时我也在想,我们追求美好的品德,究竟是为了什么。我想并不是因为我们坚信善必将胜过恶,可能几千年前我还信邪不压正,现在可得另说了。我们追求“善”,只是因为“善”是好的,而且大概没有什么能比它更好,这就足够了。即使是在这样的时代,我依然选择在接下来的日子里追求“善”,直到我漫长生命的尽头。</p><p>爱你的以扫</p><p>2024年7月4日</p><p>亲爱的以扫:</p><p>我至亲至爱的侄儿,我收到你的信已经有十几日了,但我前几日在你父亲以色列的坟墓里工作,我在查看是否需要修缮他的墓穴。他生前曾与我说,他希望在他死后,人们可以带走他罪恶的遗产,只留下他美好的,与他一同埋葬在六尺之下;我非常高兴地发现事实恰恰截然相反,秘宝和文物不翼而飞,但债券和尸体永远被压在了石棺中。我想他应该也无法因此来责怪我,毕竟我没有动过他的一分一文。</p><p>你说得对,现在的世道确实变了,一切的语言都被构造成了武器和监牢。有些人过去为了发泄而发声,而现在为了发声而发泄;因为在这样一个时代,一切有意义的语言都会被审查,但他们迫切地想要别人听到,因为再没有人听到自己的声音和思想,他们就要窒息在渺茫的空虚中了(我觉得与你在信中写的“空旷的人群”有些类似)。但若是别人听到的只是一个人无意义地喃喃,那他的发声还有意义吗?没有,但是他仍然可以沉浸在自己享受了发言权利的喜悦,以及“被听见”时所产生的自我安慰中。他们的语言已经沦为了一种象征,而这种象征很难再被称之为语言。</p><p>我或许与你提起过,你或许已经忘了;在漫长的行途中,我最欣赏的旅伴是克里斯蒂安·罗森科鲁兹,他在短暂的一生中同我们一样在大地上行走,将东方的智慧带回西方,尽管他并不一定是对的,但是这种行为很值得钦佩。但这种方式在现在已经不适用了,现在的人们环游世界,却无法从其他文明的身上获得问题的解决方案,正是因为他们面临着同样的问题。</p><p>有人说狄奥尼索斯之酒,就是献祭时流下的鲜血酿成的;大祭司将木杖敲入白岩,裂缝之间就会流出红酒;暴君举起军刀,大地之上就会血流成河。很不幸的是,人们仍然在重复他们几千年前的生活方式,他们将活人献祭给“神”,但那个神不再是主,而那个被献祭的也不再是亚伯拉罕的儿子。在和平中的人们沉浸于幻觉中,这致幻剂却恰恰是由鲜血酿成的。但最显目的赤诚者的鲜血,到最后也只是血迹,消磨了,又容易被人遗忘。</p><p>我在鹿岛神宫的时候,曾经碰到过一位故人。那天的天空是金橙色的,云莫名地透出青白的光。他要走了,我劝他在离开之前回家乡一次,他反问我我有多久没有回到过迦南了。我那时才意识到我已经忘却迦南了,他又指向远方的楼宇,说他的家不知多少年前就被碾碎了,那一座座破旧阴湿的小屋现在可能连残存的木屑也找不到了。在他还有余力的时候,他总是抽出时间从异乡回到常陆,在混凝土铸成的高墙的缝隙间寻找着某种缺失的东西。他很确信自己的家就在这些缝隙之间,城市用空虚来填满自己,空隙反而成了唯一有意义的东西。他现在不这么做了,因为缝隙已经被填满了,他只能幻想,或许还有些东西存在于六尺深下。我与他告别之后,我乘坐着东海道到了京都。</p><p>在东海道上,我品鉴了歌川广重的《东海道五十三次》,用塑料模仿的景色永远无法比拟它的美,虽然我知道其中的许多细节都只不过是广重想象出来的,但我宁愿相信他的想象,也不愿意相信现代的所谓高清复原。或许这是我的一种固执,我相信最能理解的就是你了。遗憾的是归时已入夏日,春之雨和雪晴的景色我都没看到,有些可惜。我发现日本的景色就是短暂的,或许正是美好的短暂,才催生了歌川这样能用深邃的双眼捕捉下珍贵一瞬的艺术家。在最后一程,我合上画册,睡了一觉,梦里的世界很美好,绿意盎然的断崖在远方静静矗立,蓝天白云被青绿淡黄色的枝叶掩住,千百种花在天地交界画出奇特的彩色曲线。远方的碧绿水潭由风打破沉静,涟漪一起,波纹不断。</p><p>我从睡梦中醒来,但不知为何。我睁开双眼,没有人呼唤我,且离到站还有很长一段距离。窗帘也是拉上的,拉开来,却发现赤橙色的炎阳,从蔚蓝色的大海之下升起,它映照着每一个人。莲台野,金阁寺,白鹭城,三条大桥,都从其被逐渐摧残消磨的历史和神话中走出来,沐浴在金光之下,我以往怎么就从来没有发现呢?或许走出困境的秘密,就在隐匿于这无尽发散的光与热之中。但我怎么也说不出口,不如就让这秘密弥散与沉默之中吧。</p><p>莫噤声,侄儿,天亮了。</p><p>爱你的犹大</p><p>2024/9/23</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>金阁寺的一块天花板</title>
<link href="/01/MirrorsOnTheCeiling.html"/>
<url>/01/MirrorsOnTheCeiling.html</url>
<content type="html"><![CDATA[<p>那天上午,我在金阁寺散步时,看见了一个蓬头垢面的乞丐,躺在一个双肩包上,那个包里面满满的,好像要鼓出来。我试图装作没看见他,快步地走过,但我听见一个声音,好像来自于他,但他没有开口。那声音说,“年轻人,能帮我做一件事吗?”</p><p>我看向四周,这条小道上没有别的人。我想问他,但话到了嘴边又被咽了回去。我转向他,用食指指向自己的脸。他哑然失笑,以一种几乎注意不到的角度点了点头。</p><span id="more"></span><p>“那我要帮你些什么呢?”我同样地感到很可笑,终于忍不住问道。</p><p>“去鸠山的玉泉,帮我打一瓶泉水来。”他静静地说,“倘若你带着那瓶水回来,我就给你二万日元的奖励。天下可寻不到第二桩这样的美差了。”在他从包里拿出二万日元的现钱前,我将信将疑,事实上,我看见他的包里满满地全是现金,略有些心悸,他不会是银行抢劫犯吧,让我干这莫名其妙的事情,不会是要洗黑钱吧?不过当我看向他平静的面庞时,一切疑虑都烟消云散,一个要设计害人的人的表情不会这么平静,起码我是这么想的。</p><p>“玉泉在哪儿?”我如是问,他的目光放空,散向远方。</p><p>“沿着行步道,你一直走,不要停下。直到看见一条三岔路,左边那条充满泥泞与未完全化作泥泞的草木和落叶,就走那条。你会听到蝉声呜呜,但不要忽视风声,唯有那被忽略的当作背景的风声,才是指明通向你理想道路的信标。总而言之,走过那些落叶时感受因它们的凋落而得以保留或因而消逝的生命,然后透过木叶的间隙看那雄伟城市的高楼广厦一点一点地向后下坠。在城市的影迹完全消散之后,向林子的西边走,直到你看见一条小溪,顺着它的水流向下行。你看见它时,会抹去汗迹,暂且于原地停驻,带着微笑,走向凸起的白岩间生出的另一条溪流,那就是玉泉。”他仿佛身临其境,时而欢欣时而伤感地说,“抱歉,中间有点跑题了。”</p><p>我沉默不作声,他恍然大悟似地掏出几千日元给我,我接了过去,问他:“你怎么知道我不会拿了钱就跑?”</p><p>他从容地说:“你会回来的,如果你看见了玉泉,你会为了得知新生疑惑的答案再一次来见我。”</p><p>“如果我连玉泉也不去呢?”我说着,不自觉地向左上方臂,我知道我会去的,我只是习惯性地问。老实说,我刚说出口,就已经有些后悔了。有的时候话语已经说出口了,人们才会想要弥补、收回。</p><p>“你记得我说过的那句话吗?或许你就像他们中的许多人一样,将一切解构直到只剩下有用信息——例如‘路线’为止——但那些被你忽略的词藻,也时刻在以你所没有想象过的方式影响着你……”他语毕,挥了挥手。<br>他递给我一个看起来很普通的矿泉水瓶,示意我可以走了。我便沿着小径离开,脚步扬起尘土;走出山门,回入尘嚣,遁入林中……越过门槛,跨上石阶,峰回路转,我终于看见那个三岔口,我向左转,走进泥泞小径。<br>没有鸟鸣,蝉声像合成器生造出的,蕴着一种令人急躁的情绪,像霓虹灯或短视频中常出现的那种公式化音乐,连名字也被剥夺了,被人们称为“XX神曲”。我沿着溪流向下走,已经忘却了自己走了多远,我实在走不动了,找到了一棵大树坐下来。我闭目养神,却看见一片模糊的橙红。</p><p>我睁开双眼,向四周看,似乎有什么东西唤醒了我,大概是风吧。我站起来,却发现白岩砌成的玉泉,就在自己的不远处。我走上前去,拧开瓶盖,装满了一整瓶,我可以回去交差了。但我倒也没有这么早走的意思,天色未晚,他也没有给我一个时限。我一边在山间随意地走着,一边端伴着在瓶中折射着光的泉水,并没有什么特殊之处,也因此我愈发好奇自己手中之物究竟是什么。</p><p>我闻到一股我一开始忽略,却在恍惚中又重新发现的香气。它透过风传到我的鼻尖,如罂粟一般将我的四肢麻醉,我转过身去,发现它来自于玉泉。拧开瓶盖,香气愈发浓烈,我仿佛意识到了什么,但我已经喝下了第一口,一切都太迟了。鸟鸣开始从各个角落传来,落叶从地上缓慢地爬回树上;没过多久,狼与水獭的尸体从树上长出来,土地化作了透明的大块塑料,我能看见蛆和蚂蚁在其间穿过。</p><p>我抬起头,看见空中飞翔着一群长着木棉翅膀的人,他们像大雁一样向南飞行,影子投射于明治时代,大正年代和战国时代的贫民窟上,从其中走出成群结队的忍者,妓女,俳谐师与鬼,他们都向着远方的一座建筑行去。</p><p>这个“金阁寺”与自己印象中的位置不同,色彩与结构也不尽相似,但我的直觉告诉自己,那就是金阁寺。而自己身后的这块巨大的白玉,便是鸠山。</p><p>我想问他们些什么,但那些将自己打扮得与日本人一模一样的人却完全无法理解日语,且从表情来看,比我还要疑惑一些。我在内心里反复问自己真实对自己究竟意味着什么,究竟是与现实本身足够像,还是一种细节的充足和丰富。我倒是认为是前者,因为有些时候,你能意识到有些感觉仅凭借感官是感受不到的,过量的信息只会使我犹疑,我能看见不在我视野范围内的色彩,我在做梦,在幻觉中,但这并不妨碍我的清醒。</p><p>远方的飞艇上,资本家们享受着美酒,看着背负着十字架的圣人,听着他身后的信众们的悲鸣。他们走向鲜血淋漓的沙滩,两个马背上的骑士手执“沙漠之鹰”手枪,看着彼此的眼睛,食指在扳机上滞着,我看见金阁寺的中堂之上,那具没有脸的金色神像用手势示意我向上看。我看见一块楠木制的天花板,没有接缝,也没有钉铆,却像一块棺材板,将光明挡在寺院之外,但声音却能够传进来,爆炸声,破碎声,呐喊声,血肉飞溅的声音…但那些都只是前奏,因为骑士们还未开始决斗。</p><p>子弹在枪声之后抵这铠甲之上,骑士们自知这不过是徒劳,不过是象征。我的身体逐渐上升,与楠木板化为一体,我品味着DNA被修改,细胞膜之外长出一层细胞壁的感觉。子弹在铠甲上留下痕迹,裂痕,空洞,正与在天花板上出现的那些一样,两个骑士拔出长剑与矛枪,马同他们一样身穿白色的钢甲,四把兵器僵持在一起,坐骑追逐着彼此之尾围绕着某个中心旋转。战斗的悬念似乎只剩下谁先漏出破绽。</p><p>金阁寺在破碎,漏洞越来越多,号角响起,地震与火山喷发将已经被完全同化的我的意识再度唤醒。风声逐渐变调,几近崩坏,仿佛一位指挥家成心让自己的交响乐队越奏越跑调,激烈的震动刺激着我那已不存在的耳膜,或者说它存在,我能感受到它。空洞扩大融合,最终占据一切,我的视觉已完全模糊,仿佛有什么东西捣烂了我的眼睛,我只能看见血红色与黑白灰。在天花板彻底在炮火中消弭之后,我的身体随着硝烟飘上天空,我的灵魂坠入断壁残垣之中。</p><p>我睁开双眼,幻境戛然而止。我躺在我自己的床上,被子盖的很严实,我向右方看去,却发现那个矿泉水瓶正摆在桌上,里面的液体只剩下三分之二。</p><p>我爬起来,意图将它倒掉,但我犹豫了:既然他想要它,那我便将它带给他吧。</p><p>我穿好衣服,简单洗漱,冲出三十平米的家,以最快的速度跑到车站,再过几秒就赶不上趟了。我走进山门,顾不得与熟识的僧人闲聊了,我走进那条小径,看见他仍旧躺在那个角落。</p><p>他说:“你来了。”他的语气十分平淡,似乎有些刻意地显出漫不经心。</p><p>他把钱付给我拿走了瓶子,有些失落地说:“所以你喝了,对吗?”他的双眼对上我的双眼,他坐起来。</p><p>“是的。”我尝试不去看他,我不知该怎么说谎,所以只能将真情实况向他透露。</p><p>“那你感觉如何?”听到这个问题,我怔住了,我不知该怎么回答,也不确定他能否理解。</p><p>“有些分裂,充满了现代和神代的象征和符号,是分裂而发散的…总是能感受到好几件事情同时发生,但每当我想要细究某一部分的时候,整个幻境就变得像一个音画不同步的视频一样。”我摊开双手,比划着尝试解释。</p><p>“音画不同步?”他的语气中带着一些惊愕,我所说的话,似乎完全不在他的意料之内。</p><p>“是的,有的时候仿佛音轨被冻结,而画面却在持续运转。而在第一个幻觉的最后,我的身体被金阁寺的天花板同化统一,归为一体时——”我沉浸在回忆里,那如同沙海一般令人窒息的幻觉中。</p><p>“等一下,第一个幻觉,你还做了第二个?”流浪汉惊讶地问道。我默默地点了点头。</p><p>“是的,我不记得具体的细节了,但总之在我快要醒来时,我突然想起了自己儿时曾瞥见的一个幻影,回过头时,它却已经消失了,我突然感一种怅然若失的感觉,就像那时一样,所以我喝了第二口。”</p><p>我感觉我被卷入一个巨大的旋涡中,下方的指针在逆时针旋转,纸片飞向日历,破碎的黑胶唱片重新聚合到一起。我听到鸣笛声,仿佛有辆列车即将到达,我的灵魂被卷向笛声传来的地方。</p><p>我在车站的长椅上醒来,她坐在我的右侧,我睁开眼时,夕阳的余晖经过我泪水的折射化作了重影。她要走了,很可笑的是我没有理由挽留她,或者再见她一面,到现在我还在犹豫要不要说。</p><p>“我…我…我的脑海中涌出无数言语,我的思维飞快地搜索着,像仙鹭掠过血流成河的沙海。</p><p>“嗯?”她转过起来,太阳正从西方冉冉升起,但我没有在意这反常的预兆。</p><p>“我讨厌沙子,它很粗糙、干涩。它流动的样子令人不安,它不是一个整体,是散开的破碎的无机质。”我已经不知道自己再说什么了。</p><p>“我没听懂,你…你想说什么,约翰?”她十分疑惑,一只水鸟飞过她的身畔,它先前被烟雾染为黑色。</p><p>“我不知道,忘了刚刚那句话吧。”我还是把我的话语咽进了喉中,听见右方逐渐传来鸣笛的声音。</p><p>“话说,洋子会喜欢什么类型的男生呢?”在她上车前,我最后问了一句,她略有些茫然,不知所措。</p><p>“会干出各种不可思议的事情的那种人吧,在金阁寺演奏交响乐之类的,光是想也觉得过于光怪陆离的诡异,不对,这么说似乎有点不太好…我在说什么呀,哈哈。”她说着说着,苦笑起来。</p><p>“好的,我明白了。” </p><p>“你不如忘了我刚才那番话,要是你真有那方面的想法的话,我倒是建议你付诸行动。”我帮她将箱子抬上列车,她向我挥手,我转过身去。</p><p>列车的轮子逆着旋转,仿佛在暗示我些什么,我再一次并没有理会这暗号,而是看着空中北去的白色水鸟,想着一袭白裙的洋子,想着她以英文名称呼我的习惯,想着元旦那次与她一起去金阁寺赏景的经历,还是不久前的事。得益于刚才的对话,我现在闭上双眼就看到一片沙海,真是叫人恶心。</p><p>这都是好几年前的事情了,如今我依旧是孤身行在涩谷的街头,这华灯璀璨的世界里充盈着歌妓与醉汉,他们越醉,越觉得自己清醒,时不时地还要口占几句“名言警句”出来,什么“空虚是性感”,“她其实早就死了”之类毫无来由、莫名其妙的话,以至于东京电视台还给他们办了个综艺节目,还派出记者去与他们对话,来收集这些胡话。实话说,这也不怪他们,在靖国神社倒塌之后,已经很久没有什么大新闻了。</p><p>忽然,我听见披头士乐队的《Strawberry Fields Forever》,那声音从一家叫做法厄同的小酒馆里传出来,于是我暂且留步,只为了将第三节听完。</p><blockquote><p>Always, no, sometimes, think it’s me<br>But you know, I know when it’s a dream<br>I think I know, I mean—er—yes, but it’s all wrong<br>That is, I think I disagree</p></blockquote><p>我眼里不禁涌出了泪水,上一次听到这首歌还是什么时候来着?我不记得了,回忆只会让生活更加艰难,有时我想,会不会闭上双眼,一切都会好起来。我下意识地否认这种可能,但我想起在某一个遥远的午后,我似乎已经做出了这个选择。小雨逐渐变大,和着雨声,疯癫的酒鬼们开始和着雨声胡言乱语,我只好走进电话亭避雨。</p><p>我看向电话,犹豫着,拨通了洋子的电话。我问她在哪儿,她说她回东京来办事情,雨下的很大。她又问我在哪儿,我说我也在东京,她笑了,说听雨声也听得出来。我问她要不要出来聚一聚,她却没有立刻应答,我只能听得见背景里的雨声。良久,她沉静地说,要不就金阁寺见吧。我应允了,然后她放下电话,我沉浸于电话挂断时的长音中。</p><p>我走出电话亭,我看见一个流浪汉举起左手,右手擎着一个银质的烛台,他看见我,微微一笑,用左手比了一个噤声的手势,烛火在雨水的阻挠下持续燃烧着,跳动着,从其中跳出沙海的影子,似乎提醒了我些什么。被火焰吞噬之前,存在于沙海所在之地的是一座森林;这又怎样呢?我尾随那个流浪汉走到我居住的公寓,他将蜡烛放在了我家的门口,约莫仅剩三分之二的烛身还未被火焰侵蚀殆尽,雨突然停下了,烛火也熄灭了,他隐入了影中。</p><p>他让我噤声,但我必须开口。因为此刻她正站在我面前,我的背后是僧众们组成的交响乐团,我只要抬起头,就可以看见金阁寺的那块天花板。我意识到有什么不对,我睁开双眼,却看见紫金色的木条相错构成的“镜天井”。我看向她的眼睛,开始了演奏。</p><p>我们演奏的曲目是披头士乐队的《A Day in the Life》,观众们似乎对这首曲子不是很熟悉。那天天气很好,但我因为前一天晚上过多的睡眠而感到疲惫。眼泪映出鸠山的草木,白石间流出的泉水和泥泞小径旁的溪流,我听见风声里夹杂着流浪汉的声音,他告诉我,到时候了。我看着她,愈发紧张,于是我闭上双眼,却看见火焰燃烧于沙海之上,烧出一片净琉璃,琉璃之下,掩埋于沙间的骨骸显现。僧众们的乐声逐渐跑调,我尝试将一切拉回到调子上,但我无能为力,我想起我曾经尝试过将每一个做过的梦都装在氢气球里,用绳子绑起来。指挥棒从我的手上滑落,我睁开双眼拾取,火焰却从我的幻视中腾起,将金色的楠木染上乌黑,人们一哄而散,但火焰的蔓延太快,寺院古老的木质结构并没有坚持多久,许多人被埋葬在了被倾覆的寺院中。</p><p>“洋子,洋子!”我没有找到她,她在哪儿?</p><p>“救我!约翰!约翰!”我听见她的声音,它来自一片废墟,我将倒在其上的柱子移开,但那里面什么也没有,我又听见她的声音,来自风的方向,于是我又转过头去,却发现身后什么都没有,只有她的声音悠远地、永久地回荡,我跪下,用双手捂住脸,不知所措。</p><p>黑色的烟尘逐渐出现,紧接着是一场由外到内的爆炸,那炸弹在完成爆炸之后,又回到了美军的飞机上。我躺在地上,承受了爆炸之后,再也无法起来,我只能静静地看着木片们逐渐回到原来的位置,构成一块完整的天花板。终于完整了,骑士们的长矛穿过了彼此的盔甲,他们杀死了彼此,鲜血从伤口中喷涌而出,我逐渐感受到一种失重,我的灵魂长出了一对木棉的翅膀,正在飞离我即将完全地化作无机质的身体,于是它就很识趣地躺在原地,流着血微笑,目送着我的灵魂越过天花板……</p><p>“讲完了?”在我久久地沉默后,他问。</p><p>“讲完了。”我点了点头。</p><p>“嘛,先让我来一口。”他为了清醒地听我说完我在幻境中的故事,忍住了没有去喝玉泉之水,现在他终于如愿以偿地拧开瓶盖,“你说说看,真实的体验和虚拟的体验是否都算是一种经验,如果是的话,那么生活在幻觉中和生活在真实中就没有什么区别。”</p><p>“那你更推荐我活在哪种生活中呢?我应该回去吗?还是说跟你一起在这里过这样的生活?”我问他,但他喝下玉泉之后一直在喃喃自语,我能听懂他语言里的几个词汇,串在一起却毫无意义。</p><p>在我离开金阁寺的一刻钟之后,他喃喃地说:</p><p>“在这里又怎样呢?回去又怎样呢?”</p><p>氿月</p><p>2024/7/15</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>我最喜欢的 15 首歌曲</title>
<link href="/01/MyFavSongs.html"/>
<url>/01/MyFavSongs.html</url>
<content type="html"><![CDATA[<h2 id="1-Like-a-Rolling-Stone-by-Bob-Dylan"><a href="#1-Like-a-Rolling-Stone-by-Bob-Dylan" class="headerlink" title="1. Like a Rolling Stone by Bob Dylan"></a>1. Like a Rolling Stone by Bob Dylan</h2><p>我最爱的英文歌曲,无需用语言过多矫饰我对它的推崇。</p><blockquote><p>When you ain’t got nothing, you got nothing to loose.<br>当你一无所有,你就无所失去。</p></blockquote><p>警世恒言。</p><span id="more"></span><h2 id="2-Stairway-to-Heaven-by-Led-Zeppelin"><a href="#2-Stairway-to-Heaven-by-Led-Zeppelin" class="headerlink" title="2. Stairway to Heaven by Led Zeppelin"></a>2. Stairway to Heaven by Led Zeppelin</h2><p>这首曲子深深地震撼了我,以至于我听完之后写了一篇小说(即<a href="https://chuishen.xyz/01/AnswerInTheWind.html">《施洗者的预言》</a>)。曲子带着一股淡淡的忧伤,似乎是在为女士悲哀的一生哀叹。此外,吉米页的电吉他SOLO也是历史最佳。</p><blockquote><p>In a tree by the brook, there’s a songbird who sings.<br>溪边树上,夜莺正吟起曲。<br>Sometimes all of our thoughts are misgiving.<br>有时人们总是囧于思虑。<br>……<br>Dear lady, can you hear the wind blow?<br>亲爱的女士,你能否听到那骤起的风声?<br>And did you know? Your stairway lies on the whispering wind.<br>你知道吗?你的天梯,就在那宛若耳语的风中。</p></blockquote><h2 id="3-Norwegian-Wood-by-The-Beatles"><a href="#3-Norwegian-Wood-by-The-Beatles" class="headerlink" title="3. Norwegian Wood by The Beatles"></a>3. Norwegian Wood by The Beatles</h2><p>我在高一的时候度过了相对比较悲伤的时光,当时我重读了村上春树的《挪威的森林》,读了之后更悲伤了(笑)。里面的两位女主角我怎么也忘不掉,我后来的很多小说中的女角色都是对她们俩的复刻。我突然想起我竟然还没听过那两首《挪威的森林》,于是我先听了伍佰的,然后听了披头士的。</p><blockquote><p>And when I awoke, I was alone.<br>This bird had flown.<br>So I lit a fire.<br>Isn’t it good, Norwegian wood?</p></blockquote><h2 id="4-东方怪奇谈-by-上海爱丽丝幻乐团"><a href="#4-东方怪奇谈-by-上海爱丽丝幻乐团" class="headerlink" title="4. 东方怪奇谈 by 上海爱丽丝幻乐团"></a>4. 东方怪奇谈 by 上海爱丽丝幻乐团</h2><p>这首歌是我对于三味线音色的初体验,不断重复的同一段旋律令我联想起ZUN的一段乐评:</p><p>“坦白说,13年感觉就像一瞬间的事。不能碌碌无为地虚度年华。转瞬间精力和体力都被夺去了,剩下的只是如铅一样沉重的梦。那是连三途川也不能渡过的重金属一样的灵魂。好像谁曾说过死亡会平等地访问每个人?我感觉至少人会因为他的生活方式而成为别的生命。”</p><blockquote><p>我奔跑着,直到无法喘过气息。最胆怯的我,对这个乐园充满恐惧。虽然这都在我的预料当中,但无论跑到何地,我依然找不到归途。</p><p>我所想念的人都已消失,支撑我生存下去的理由也已丧失,所以我带着沮丧把绳子绕过粗枝,并引颈上吊。</p><p>……为什么我还有意识?是绳子太脆弱了吗?……</p><p>(专辑附带文本)</p></blockquote><h2 id="5-夢幻回廊-by-ZUN"><a href="#5-夢幻回廊-by-ZUN" class="headerlink" title="5. 夢幻回廊 by ZUN"></a>5. 夢幻回廊 by ZUN</h2><p>我在听这首歌的时候,我在想什么呢?想我之前犯下的错误吗?我是否是在忏悔呢?这首曲子没有任何描述,没有任何附带文本,只有“梦幻回廊”四个字符,承载了文字的全部叙事职能。流动的钢琴音符,工整的背景鼓点,让人害怕,仿佛置身于幽闭的空间之中,沉沉睡去……</p><h2 id="6-The-Good-the-Bad-and-the-Ugly-by-California-Guitar-Trio"><a href="#6-The-Good-the-Bad-and-the-Ugly-by-California-Guitar-Trio" class="headerlink" title="6. The Good, the Bad, and the Ugly by California Guitar Trio"></a>6. The Good, the Bad, and the Ugly by California Guitar Trio</h2><p>《正直者之死》的灵感来源,听这首歌时,可以试着闭上双眼,感受子弹从耳边呼啸而过,你置身马上,祈祷自己不会在下一秒成为流弹之下的亡魂。这个版本的吉他音色比起原版的口哨音色对我来说更加耐听。Ennio Morricone 真不愧是电影配乐大师。</p><h2 id="7-Comfortably-Numb-by-Pink-Floyd"><a href="#7-Comfortably-Numb-by-Pink-Floyd" class="headerlink" title="7. Comfortably Numb by Pink Floyd"></a>7. Comfortably Numb by Pink Floyd</h2><p>曲中包罗宇宙万象的电吉他SOLO,令人不禁思索,自己是否真的“舒服地寄了”。这也是我的前摇入门曲。</p><blockquote><p>When I was a child I caught a fleeting glimpse,<br>out of the corner of my eye.<br>I turned to look but it was gone.<br>I cannot put my finger on it now.<br>The child is grown. The dream is gone.<br>I have become comfortably numb.</p></blockquote><h2 id="8-I-Can’t-Get-No-Satisfaction-by-The-Rolling-Stones"><a href="#8-I-Can’t-Get-No-Satisfaction-by-The-Rolling-Stones" class="headerlink" title="8. (I Can’t Get No) Satisfaction by The Rolling Stones"></a>8. (I Can’t Get No) Satisfaction by The Rolling Stones</h2><p>这是滚石的第一首美国冠军单曲,听这首歌感觉就是纯粹的爽,跟隔壁深紫的《公路之星》一样。</p><h2 id="9-The-Sound-of-Silence-by-Simon-amp-Garfunkel"><a href="#9-The-Sound-of-Silence-by-Simon-amp-Garfunkel" class="headerlink" title="9. The Sound of Silence by Simon & Garfunkel"></a>9. The Sound of Silence by Simon & Garfunkel</h2><p>伟大,无需多言。</p><blockquote><p>People talking without speaking<br>People hearing without listening<br>People writing songs that voices never share<br>And no one dared<br>Disturb the sound of silence<br>……<br>And the sign flashed out its warning<br>In the words that it was forming<br>And the sign said “the words of the prophets<br>Are written on the subway walls and tenement halls”<br>And whispered in the sounds of silence</p></blockquote><h2 id="10-Dream-On-by-Aerosmith"><a href="#10-Dream-On-by-Aerosmith" class="headerlink" title="10. Dream On by Aerosmith"></a>10. Dream On by Aerosmith</h2><p>第一次听到这首曲子其实是在卡拉苏的《电棍:Dream On》,二创版本其实对我影响更大,但是我没有办法在网易云音乐听到卡拉苏的作品,所以听了原版,后来也越听越喜欢了,慢慢成为了我的生活必需品。</p><blockquote><p>Sing with me, if it’s just for today.<br>Maybe tomorrow the good Lord will take U away.</p></blockquote><h2 id="11-Hotel-California-by-Eagles"><a href="#11-Hotel-California-by-Eagles" class="headerlink" title="11. Hotel California by Eagles"></a>11. Hotel California by Eagles</h2><p>长达两分钟的前奏,不知道还以为是前摇,但听着真的爽。而歌词的内涵也相当丰富。</p><blockquote><p>Last thing I remember<br>I was running for the door<br>I had to find the passage back to the place I was before<br>Relax, said the nightman<br>We are programmed to receive<br>You can check out any time you like<br>But you can never leave</p></blockquote><h2 id="12-A-Day-in-the-Life-by-The-Beatles"><a href="#12-A-Day-in-the-Life-by-The-Beatles" class="headerlink" title="12. A Day in the Life by The Beatles"></a>12. A Day in the Life by The Beatles</h2><p>省流:</p><ol><li>“Nobody was really sure if he was from the House of Lords~”</li><li>“I’d love to turn you on~”</li><li>“乱鸣的交响乐.wav”<br>别的我说包罗万象可能是在夸张,但是这首的交响乐是真包罗万象,听完之后感觉大脑被开启。</li></ol><h2 id="13-All-Along-The-Watchtower-by-Bob-Dylan"><a href="#13-All-Along-The-Watchtower-by-Bob-Dylan" class="headerlink" title="13. All Along The Watchtower by Bob Dylan"></a>13. All Along The Watchtower by Bob Dylan</h2><p>我还是更加偏爱鲍勃·迪伦版本的,尽管吉米·亨德里克斯的翻唱在很多人看来更加“好听”,但是迪伦版本的悲壮是无法模仿的,吉米疑似过于热血了。</p><blockquote><p>Outside in the distance a wildcat did growl.<br>Two riders were approaching, the wind began to howl.</p></blockquote><h2 id="14-雪月樱花之国-by-上海爱丽丝幻乐团"><a href="#14-雪月樱花之国-by-上海爱丽丝幻乐团" class="headerlink" title="14. 雪月樱花之国 by 上海爱丽丝幻乐团"></a>14. 雪月樱花之国 by 上海爱丽丝幻乐团</h2><p>七分雪色,三分月色,我正候着樱花烂漫的时节,像黄帝一般在梦中造访雪月樱花之国……如诗如画的曲子,我的几句话是道不尽它的美的,它就像德彪西的《月光》一样,以一种印象存在于我的脑海之中,或者说,像吉米·亨德里克斯的紫烟……作为一个地点,它又是一个我回不去的故乡,像约翰·列侬的草莓园。总之,《雪月樱花之国》是一首我不可能忘掉的曲子。</p><h2 id="15-Flamingo-by-米津玄师"><a href="#15-Flamingo-by-米津玄师" class="headerlink" title="15. Flamingo by 米津玄师"></a>15. Flamingo by 米津玄师</h2><p>对,不是《Lemon》,也不是《沙之星球》、《打上花火》或者《灰色与青》,是这首《Flamingo》。即使我很长时间没有听它了,它仍然是我听的最多的歌曲。</p><blockquote><p>笑えない このチンケな泥仕合<br>笑不出来啊 互揭丑事真是恶俗</p></blockquote><h2 id="Honorable-Mentions"><a href="#Honorable-Mentions" class="headerlink" title="Honorable Mentions"></a>Honorable Mentions</h2><ul><li><em>百鬼夜行 / 灰色与青</em> by 米津玄师</li><li><em>November Rain / Sweet Child of Mine</em> by Guns N’ Roses</li><li><em>一丝不挂 / 富士山下</em> by 陈奕迅</li><li><em>The Wonder of You</em> by Elvis Presley</li><li><em>东之国的不眠夜 / Demystify Feast</em> by 上海爱丽丝幻乐团</li><li><em>Close to the Edge</em> by Yes</li><li><em>Shine on You Crazy Diamonds</em> by Pink Floyd</li><li><em>Bohemian Rhapsody / Made In Heaven</em> by Queen</li><li><em>谁伴我闯荡 / 灰色轨迹</em> by Beyond</li><li><em>Smells Like Teen Spirit (少年心气)</em> by Nirvana</li></ul>]]></content>
<tags>
<tag> 关于我自己 </tag>
<tag> 音乐 </tag>
</tags>
</entry>
<entry>
<title>西海岸,东海道</title>
<link href="/01/FromCaliforniaToKashima.html"/>
<url>/01/FromCaliforniaToKashima.html</url>
<content type="html"><![CDATA[<h3 id="From-California-To-Kashima"><a href="#From-California-To-Kashima" class="headerlink" title="From California, To Kashima"></a>From California, To Kashima</h3><p>“您好,请问能占用您宝贵的时间,问您一些问题吗?”一个清脆的女声用英语说道,克里斯蒂安从朦胧中醒来,他忘了自己是何时睡着的,他下意识地看了一眼表,是六时三十分。</p><p>“嗯?”克里斯蒂安抬起头,望向眼不知何时坐到了自己旁边的少女。</p><span id="more"></span><p>“可以。”</p><p>女孩拿出本子和笔,克里斯蒂安勉强看懂了标题大意:《外国人对日本与日本文化的保护的看法》。柔美的金红色光束,从列车的车窗射进来,或许此时常陆国的后人们正同他一样从睡梦中醒来,看着太阳从太平洋的波涛中升起。</p><p>“您来到日本是为了?”</p><p>“度假,旅游。”女孩快速地记下来。</p><p>“对于日本,你印象最深的东西是什么?”</p><p>“……纳豆。”他笑了笑。</p><p>“最喜欢的景点是?”</p><p>“青木原神海。”他几乎没有怎么犹豫。</p><p>“您最喜欢的日本文艺作品是?”</p><p>“说不上来具体的,大概是村上春树的某一部小说吧。”</p><p>这女孩的英语有挺多语法错误的,自己勉强能听懂,希望没有答非所问吧,他想。</p><p>“您认为日本文化在保护方面还有哪些方面可以改进?”他怔了一下,然后很快地摇了摇头。</p><p>“没有,没有什么可以改进的了。首先,我也不是日本人,我没有资格来评判你们干得怎样,其次,你们的文化保护已经做到极致了,你们让很多即将消失的传统和习俗重新融入了生活之中,我想不到还能怎么做的更好了。”男孩看向女孩,她将笔和本子装进书包,甩了甩手,松了一口气。</p><p>“这就结束啦!话说你在哪一站下车?”</p><p>“茨城。”</p><p>“唉?那还真巧,我也在茨城站下。你叫什么名字?”</p><p>“克里斯蒂安,你呢?”</p><p>“雾枝莲子。叫我莲子就行。”“好的,莲子。”</p><p>“你去茨城的话,肯定要去看鹿岛神宫喽。那是必然。”</p><p>“这么说的话,我在那儿工作,可以给你的门票打个折。”</p><p>“工作?”</p><p>“我是那儿的巫女哦。”</p><p>“哦,是吗?那可太好了。”</p><p>“喂,话说你刚刚回答我的那些问题的时候,你是认真的吗?”少女眉角微挑,不紧不慢地发问。</p><p>“嗯哼,这你应该听得出来吧。”克里斯蒂安两手一摊,点点头,看向巫女那略显失望的表情。</p><p>“是吗?最后那个问题也一样吗?”</p><p>“自然。”</p><p>“那我可不敢苟同。”少女的声音愈发坚定。</p><p>“哦?你不妨把话说得更明白些。”</p><hr><p>距离他上次乘坐这班列车已经过去了三年。克里斯蒂安走向当年自己与雾枝初遇的那个角落,第五车厢的末端,他触向已旧的金属座位,似乎想起了些话语。</p><p>“在加利福尼亚州,我的家乡,一切‘文化’都被装进了罐头制成了预制菜,你我可以在每一个沃尔玛超市买到,只不过那只是一个噱头。我们兴奋地把它们当作《圣经》捧回家,但最后总是失望地发现它尝起来像速溶咖啡。”</p><p>“但即使是这样的东西,也并非全无价值,正如在‘文化保护区’里的文化,也满足了某些人的欲求一样,我们都是在这样的时代成长起来的,我们都一样,我们都能学会在这样的时代里如何生活。”女孩的身形,时时仍隐现于他眼前。</p><p>茨城县到了,最近大抵是旅游淡季,出站口几乎没有多少外国游客。他轻捷地走出去。想着约会的事。</p><p>鸟居在雨季仿佛受了潮,显出楠木色,一径花沿着入口,伸入神社的深处。微风拂过一丝青蓝色的海浪,带着一丝清澈席卷了神社。她究竟在哪呢?男子不安地张望,向花径深处行去。他看见如一块闪耀的碧玉的禅池,数座黄与黑的日式建筑,或许其中有一座是神灵栖息的地方。他双手合十开始祈祷,却不知道该对着哪个方向,于是他看向碧蓝色的天空,恰巧白色的云遮住太阳。</p><p>他看向前方,分明地看见红裙的一角露在松树之后。他跑过去,雾枝转过身来,向他微笑。</p><p>“你迟到啦,迟了一个小时。”少女的声音中倒没有一丝抱怨,日轮逐渐显现,金色的光穿过松针,影子映在二人的身上,树皮上的文字也因此显得更加深刻。</p><p>“抱歉,起得晚了些,神社在暑假这么冷清吗?”他才发现自己的时区调错了,该是东京,而不是上海。</p><p>“冷清吗?我反倒觉得清静些还好些。”少女拉着克里斯蒂安绕着树缓步行。</p><p>“这句俳句是什么意思?”鸟鸣与蝉声相和,城市中人们的笑语与悲歌融入了背景的白噪声</p><p>“你不是会日语吗?”</p><p>“我知道每个词的意思,但我并不是你们的人,不能够真正地理解。”</p><p>女孩轻快地说:“原句来自松尾芭蕉的《奥州小道》,忘了哪一篇了,大意是‘仰望御神松,发芽生长自神代,金秋谒神宫。’”</p><p>“原来如此,与我理解的差不多。话说这棵树在这有多久了?”</p><p>“一千四百年。而我五天之后就要回到芝加哥大学,写‘无聊’的经济论文。”</p><p>“五天吗?够长了,够我与你在东瀛列岛上相聚一场,也够我与你在太平洋的另一岸重聚。接下来去哪呢?莲台野?七夕坂?诹访湖?去哪都可以,有这时间,去哪儿都够。”男孩念叨着,望向仿佛水墨画一般苍蓝色的天空。女孩站在他的背后,静静地看着他。</p><hr><p>“这几年,我一直都乘这班车往近于东京都与茨城之间,我看见一模一样的风景。一望无垠的原野和起伏蜿蜒的丘山,这与过往的日本景色一定很像,但肯定不是同一种。”女孩轻声说道。“我们和很多生活在‘文化保护区’中的人一样,被安排着过模仿古人的生活,就仿佛生活在一个巨大的模型中一般。但是在安排下,有时又要干与之相悖的事情。”</p><p>“比如?”男孩十分诧异,不安地问道。</p><p>“比如穿着兔女郎装跳舞来招引香客,简直要和风俗店里的女子一样了,别误会,我可不歧视这些职业,只不过我觉得我的职业不是这样的。跳舞,COSPLAY和拍短视频,对神社的文化传承可是一点用也没有,追逐皮囊之美而来的,没有几个可以了解内在之深刻,在我看来他们不如不来。当然长辈有不同的看法,有时传统高过一切,有时香火钱又比传统重要。烦死了……文化保护就仿佛一个这样的幌子,它在我眼中,是一个有时高于一切,有时连金钱和流量这种俗物都不如的文字游戏产物。”女孩滔滔不绝地讲道,“话说你是哪里人?”</p><p>“我来自加利福尼亚的圣何赛。你懂的,美国嘛,原住民都快死绝了,哪还有剩下什么‘文化’来保护。我从小就渴望去欧亚大陆看看有文化传承的文明是什么样子的,但我却发现你们的大多数人的生活方式,与我们并没有什么不同,惟有贫富差异触目惊心。我们都没有什么差别,都是不知道该往何处去的人,都是寻不到自己是从哪里来的人。”克里斯蒂安忧郁地说。</p><p>“是啊,现在好多日本人连汉字都认不明白了,就连常陆品牌的名字也改用假名了。”列车即将到站,女孩撕下本子上的一页纸。</p><p>“这是我的电子邮箱地址,若是有兴趣作我的笔友的话就收下吧。”莲子看了眼表,迅速地跑出了车厢。</p><p>男孩将纸收好,跑了出去。他在尝试跟上她,但追上之后呢?他想不出要对她说些什么但总之他就想追上她,但离开车站之后,她就消失在了人群之中。而他也被游客们推挤着向前进,没有停下或喘息的机会。</p><p>他在哪?在日本,在鹿岛神宫,在人群的中间,快门的咔嚓声,小孩的欢笑声和种种声音混杂在一起,橘红色的宫门,碧绿色的御池,白桦色的鸟居和人造的原始森林等诸多的影像在他眼前如池中的金鱼一般游动,仅留下色彩作为印象,身着鲜艳和服的女孩们与鹿以几乎一样的速度经过,几乎要叫人分不清。终于,在御神木前,他终于能够转过身,如他所愿地停下来。他慌张地看向眼前曾将他吞噬裹挟的人群,在内心深处呼喊着莲子的名字。</p><p>氿月</p><p>2024/6/3</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>访谈(二):天体物理与蔷薇十字</title>
<link href="/01/InvisibleInkTwo.html"/>
<url>/01/InvisibleInkTwo.html</url>
<content type="html"><![CDATA[<p>简要来说,这个系列是我与本校同学们的访谈。这次访谈是在天体物理社建立之后,我与天体物理社社长 Jesse 的访谈。有轻微删改,发布前已征求对方同意。<span id="more"></span></p><p><strong>Jesse,天体物理社的建立真是一个让人振奋的消息,你们社团的宗旨是什么呢?</strong></p><p>额,我觉得要说宗旨的话,可能是为了让更多同学爱上天体物理。并且我希望这能使各个年级的同学都能以相互交流的形式在相关领域取得进步,利于我们未来的申请和素质的提升。我还希望能创新一种新的社团形式,一改往日只有社长讲课,让所有同学都能参与进来。</p><p><strong>关于天体物理,你认为你最感兴趣的子领域是什么?</strong></p><p>说起天体物理,我觉得还是说宏观高速物理更为确切,相信随着科学的进步,我们终有一天能脚踏星辰,遨游银河,这令我兴奋。在我看来,一个文明是否发展取决于速度是否提升,而研究宏观高速物理能提升我们的所谓的速度,进而提升生产效率,让人们有更美好的生活。要说子领域,其实没有特定的子领域,我更愿意用速度两个字去概括我真正感兴趣的东西。</p><p><strong>你之前在课上提到过《三体》,刘慈欣的文学创作是否对你影响较大?</strong></p><p>我觉得对我是有挺大的影响的。我对物理的很多兴趣都来源于刘慈欣的小说,通常都是我先看书找到里面的知识点,然后去追加了解,从而拓宽我的知识面。而且他的小说让我了解到了物理的美,进而加深了对这门学科的兴趣。</p><p><strong>你之前征求过天体物理社的“正式名称”,但貌似它现在还是称作“天体物理社”。</strong></p><p>这个我后来想了想,基于我个人追求极简主义,所谓正式名称可能会有所冗余,还是纯粹一点好,这跟物理学本身一样。</p><p><strong>针对你最近(2024.4)的部分争议,你个人有什么看法吗?</strong></p><p>主不在乎。</p><p><strong>你认为你自己在物理学学习上展现出的最大的优势是什么?</strong></p><p>我认为是兴趣,我没有像【数据删除】一样的高智商,也并没有什么特殊的天赋。我一步一步走下来都是靠兴趣在支撑,它永远是我最坚实的后盾,能让我攻克我所遇到的一切难题。</p><p><strong>作为一个学术社团,你们社团将会以什么形式创作和发布社内的学术成果?</strong></p><p>我们可能会把每个人授课的内容录下来,或者写摘要撰成文章,形成一个总汇发到社交平台上,使我们杭外剑高的天体物理社走进更多人的视野。至于一年后的社团展示(Club Fair),我暂时还没有想好到底以什么样的形式去展现。</p><p><strong>谈谈你社中的金牌讲师吧。</strong></p><p>其实没有所谓真正的金牌讲师,所有人都可以是金牌讲师,因为相信,所以实现,任何一个人都是主角,都能站在演讲台的正中央——只要有兴趣并充满热情。</p><p><strong>我要拿郭继承教授的话诘问你了,在你眼中,宇宙万法的源头,它是什么?</strong></p><p>在我看来呢,是奇点。</p><p><strong>你是一个重度音游玩家,可以随便谈一些你在这一方面的偏好吗?</strong></p><p>这只是闲暇之余的一种解压方式吧,在享受音乐的同时又能感受节奏的律动,仿佛自己和音乐融为了一体,对于我这种并不是很正常,乐器的小白来说是一种不错的体验。</p><p><strong>好的,非常感谢你接受这一次访谈。</strong></p><p>2024.4.20</p>]]></content>
<tags>
<tag> 无形学会 </tag>
<tag> 访谈 </tag>
</tags>
</entry>
<entry>
<title>访谈(一):怀旧情结与梦核美学</title>
<link href="/01/InvisibleInkOne.html"/>
<url>/01/InvisibleInkOne.html</url>
<content type="html"><![CDATA[<p>简要来说,这个系列是我与本校同学们的访谈。这次访谈是我在听了本校书籍影像社的公开课《梦核美学》后,为了对于这种美学有着更深入的了解,与社团成员 Branny 进行的一次线上交流。有轻微删改,发布前已征求对方同意。<span id="more"></span></p><p><strong>好的,首先,你认为这种艺术(“核”)的形式是照片的处理还是画作?还有,你最近在制作梦核主题的作品吗?</strong></p><p>其实形式上来说是照片处理居多,但是如果把小时候的涂鸦处理一下我觉得也会很梦核。是的,我的作品集就是基于这个主题的。</p><p><strong>那么,你觉得,中式梦核和一般我们提到的梦核的区别是什么呢?还有就是我们之前在社团讲课的时候看到的视频里,有过“中式核”的说法,这两者是同一种东西吗?</strong></p><p>中式梦核我感觉更像是旧核、梦核和回忆核的结合,梦核的话更笼统一些。我理解的话应该“中式梦核”和“中式核”是一种东西,UP 主应该只是略说了一下。但这也只不过是我的理解,我不知道 UP 主表示的是不是同一个意思。</p><p><strong>归根结底,“核”这个概念是什么?</strong></p><p>核其实是一个很宽泛的概念,现在有很多很多种核,像池核、食物核、伤核等等,我可以等下给你找点图看一下。</p><p><strong>既然以图片处理为主,这种艺术形式是不是更加趋向于二次创作而不是一次创作?</strong></p><p>对,我个人认为图片和音乐更能表达这种概念,文字的话我尝试写过,觉得不是很好表达。不过我觉得你写作还不错,可以试试。</p><p><strong>所以这些作品可以被称为 Illustration (插画) 吗?</strong></p><p>你认为 Illustration 相当于文字的配图吗?【如果是的话那就比较难说】。我其实觉得它更属于独立的阐述,因为本身一大部分梦核图片的作品本身就嵌入了文字。</p><p><strong>听上去像是一种定义更宽泛,形式更多样,主题更限定的创意写作?</strong></p><p>嗯,我觉得是这样的。那种比较简短的小诗也和梦核的感觉挺搭的。</p><p><strong>那么你最近有什么大作可以分享一下吗?</strong></p><p>呃,我最近的作品都是平面设计,基本是练一些软件的技法,像设计海报、宣传手册之类的做的比较多。跟梦核相关的还在进行。对了,明年十月份我有线下展览,就是跟梦核有关,主题暂定叫“一次性朋友”。可以期待一下,哈哈。</p><p><strong>就这次交谈来说,我感觉这个艺术形式挺有意思,或许我很快会写一些这种风格的东西。</strong></p><p>好啊,我很乐意欣赏。我的想法可能比较片面,感谢你对我的认可。</p><p><strong>也感谢你对我的。</strong></p><p>2024.4.19</p>]]></content>
<tags>
<tag> 无形学会 </tag>
<tag> 访谈 </tag>
</tags>
</entry>
<entry>
<title>天鸡文学社</title>
<link href="/01/JoiningLiterarySociety.html"/>
<url>/01/JoiningLiterarySociety.html</url>
<content type="html"><![CDATA[<span id="more"></span><p>在2024年3月23日,我与阔别已久的<a href="https://chuishen.xyz/01/FreeAsHell.html">王天明</a>在微信上聊天,他提到了余高的文学社,我便很感兴趣,于是他便给我看了看文学社的网站。我要说,当时我看见的时候,是相当触动的,我终于见到了<a href="https://www.tjwxs.top/">我很多年以来真正意义上想要的文学社团</a>。于是我向天明兄要了网站管理员的联系方式,我便与他交谈起来,那天晚上很愉快。他给与我网站的管理员权限,我便在其上发表了两篇近日写的文章,一篇是<a href="https://www.tjwxs.top/2024/03/24/%e9%98%bf%e5%8d%a1%e8%bf%aa%e4%ba%9a%e7%9a%84%e7%89%a7%e7%be%8a%e4%ba%ba/">《阿卡迪亚的牧羊人》</a>,另一篇是<a href="https://www.tjwxs.top/2024/03/24/%e6%96%bd%e6%b4%97%e8%80%85%e7%9a%84%e9%a2%84%e8%a8%80/">《施洗者的预言》</a>。</p><p><em>“来看这万千旧梦,在歌声中得到重生”</em>。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 关于我自己 </tag>
</tags>
</entry>
<entry>
<title>人生思考者 Life Thinker</title>
<link href="/01/LifeThinker.html"/>
<url>/01/LifeThinker.html</url>
<content type="html"><![CDATA[<p>闲着没事画了一个个性签名。</p><p><img src="https://chuishen.xyz/LifeThinker3.0.png" alt="Life Thinker 3.0"></p>]]></content>
<tags>
<tag> 关于我自己 </tag>
<tag> 无聊 </tag>
</tags>
</entry>
<entry>
<title>阿卡迪亚的牧羊人</title>
<link href="/01/ArcadianShepherd.html"/>
<url>/01/ArcadianShepherd.html</url>
<content type="html"><![CDATA[<p>“列车到站了,先生,欢迎来到阿卡迪亚。”乘务员走进包厢,向詹森·汉弗莱鞠了一躬。</p><p>汉弗莱转向乘务员,她注意到他的眼角微微湿润,便掏出了一块手帕递给他。</p><p>“发生了什么事吗,先生?”</p><p>“没什么,我有时庸人自扰,徒增伤感而已。”</p><span id="more"></span><p>“这于我们都是常有的事。先生,那我便不打扰了。”</p><p>“等等,你的手帕还在……”</p><p>“那不必还我了,先生。”</p><p>汉弗莱搬下箱子,走出列车,稍稍看了眼手帕,纯白色的布上纹着时兴的一种粉色花体字,有“大道”之类的字样,大抵是姑娘的住址。若是在五年前,这姑娘的成功率还大些,对于现在的自己,这套招术已经不管用了。不过他仍将手帕收进了衣兜中,奔向探出头来的少女友好地招了招手,然后缓缓地走向出站口。</p><p>今天是十一月七日,伦敦在下雨,东京都在下雨,阿卡迪亚也在下雨,对于出身科罗拉多的汉弗莱来说,被十一月的冷雨击打的经验并不多,他可能也并不因此有什么感受。他行走在这个快要空掉的小镇,这个在街上看不见行人的小镇,远远地,他看见远方犹有几家店,灯颤着亮着。他便什么也不想径直走过去。圆木,电线杆,黑色的怪鸟,青红色混杂的草地,长着灰黑色枯死藤蔓的风车,脱漆变形结有小水珠的门把手,透过触感,他意识到那是铜制的,然后他打开门。</p><p>他本想将湿透的黑色礼帽挂在门口的衣帽架上,但当他发现其上全是积灰时,最终还是未摘下。湿到发软的帽子甚至显得有些可笑,像门口的把手一样变形。屋里倒却是开着灯,这里有人吗?他立刻开口问道,一个老人立刻走了出来。穿得有些松松垮垮,端着个油光发亮的餐盘,衣服上是蓝色与白色的条纹,蓝色的眼睛印着枯黄的灯光,端详着远道而来,风尘仆仆的客人。</p><p>“咖啡还是黑麦威士忌?”老人将餐盘摆到一张较近的桌子上。</p><p>“咖啡吧。”他不太想喝酒,特别是在这种时候。“对了,你知道那个‘牧羊人’吗?”</p><p>几瞬间,那蓝色的双眼仿佛短暂地变得年轻了起来,嘴唇翻来覆去好像要说什么,但老人还是冷却了自己的激情:“你是为了这事而来的?怪不得你会在这个时候到这里。”</p><p>“这个时候?难道今天发生了什么事?”汉弗莱看向老人,低头闻了闻咖啡的味道,他能闻出它价格不菲。但这与这家店简陋破旧的风格完全不搭,浮在表面的泡沫在灯光的忽闪下也射出光。</p><p>“一年前的十一月七日,阿卡迪亚的牧羊人卧轨自杀了,人们发现他的尸体时是中午,那天孩子们都回来了,从上海,从米兰,从巴黎…他们都为他哭了,哪怕他是自杀的,甚至身上连件衣服都没有——老样子。死的那天还下着雨。他们都穿着像影子一样的黑色西装,像你一样。自那以后他们就回来得少了,信也少了,就算有也是劝我们和他们一起县城里过日子,他们的孩子都很想我之类。先生大概是个记者吧,不然这样的故事也不会有人好奇,要专门来一趟搞明白。不过这趟旅程恐怕住定是个赔本买卖,现在大家不爱看这种东西了,先生大抵是赚不了多少稿费的。”汉弗莱的表情却僵住了,他不知道该如何为此表达悲伤,或许他来到此地就是为了学会。</p><p>死了?所以那天他所想表达的原来是死亡的宣言吗?汉弗莱盯着眼前的玻璃杯,忽然发现帽檐上的水珠落入杯中时,一点点波纹散开;而当波纹回到圆心之时,唯余完全的平静,原先的痕迹,是无论如何也寻不见了。这个谜团可能自己一生也解不开了,但或许一切在列车上都已经明了,只是自己还没有揭开那早已显现的谜底而已,于是他看着金色的飞沫,想象它们是一个个车厢,雕刻出一个个包间,自己坐在其中的一个里面。自己在干什么来着?对了,在读报纸,是《泰晤士报》,然后那个年轻人差不多走走了进来,问我:“先生,十分抱歉,座位被抢完了。我可以与您一起坐吗?”</p><p>“自然…可以。”汉弗莱放下了报纸,打量了一眼眼前的年轻人。他的皮肤很白,又高又瘦。黑发蓝眼,戴着副眼镜,穿着一身蹩脚的米色西装,袖子与裤腿明显地短了。他还背着个包,拎着个箱子,像是个学生。他不知有带雨伞没有,因为下着大雨,他的衣服却不算太湿,但又似乎没有带,毕竟没有拿着,也无处置放。他似乎有口音,但无从判断,毕竟只说了一句话。</p><p>二人看着彼此,汉弗莱不知为何有些想与这个年轻人说话,但又寻不着话茬,于是他缓缓开口:“今天天气……”他才意识到自己的愚蠢,若是开口便是“今日天气不佳”,比沉默更加令人尴尬。</p><p>“不佳吗?我们阿卡迪亚是这样的。”年轻人平淡地接上了话。他松了口气,于是继续说。</p><p>“所以这么说来,你是本地人咯?”汉弗莱的表情也逐渐陷入轻松,望向窗外,却看见已然枯黄湿透的草地上,有一个赤身裸体的男子,正在向列车走来,他的脚步忽快忽慢,也可能是雨水阻碍了他的判断。汉弗莱又转头看向白面的青年,他想与那个青年说很多,关于礼节、行头,城里的习惯。他担心这个青年很有可能会在这些方面栽跟头,像自己当年首次去伦敦一样。</p><p>“当然了。”“那窗外那位也是吗?”汉弗莱指向了左边,那青年显得一点也不惊讶。</p><p>“他吗?他可是个名人,在阿卡迪亚没有人比他更有名了。但他不是当地人。”</p><p>“他叫什么?”</p><p>“牧羊人,阿卡迪亚的牧羊人。”</p><p>“那是他的名字吗?”汉弗莱有点疑惑。</p><p>“那不重要,那人的名字不重要,因为人们不那么称呼他。人们都叫他‘牧羊人’。”</p><p>“阿卡迪亚依我看可不像什么牧场,我也并不看见他的身边有绵羊或山羊。”汉弗莱更迷惑了。</p><p>“他的名字是老人们取的,因为他们说,只有书上的牧羊人才同他一样‘放荡’。”年轻人将手支在大腿上。</p><p>“他放荡吗?”牧羊人的身影越来越近了,越来越靠近窗边,他好像是向他们走来,但年轻人并不转过头去看他一眼。</p><p>“一点也不。他是最洁身自好的,镇上的老人们都自愧不如他。”年轻人仍旧镇定自若。</p><p>“那说他放荡就因为他裸体?”汉弗莱不禁觉得有些匪夷所思,“那你是没来过巴黎,在巴黎·……”</p><p>“人人都像他那样?”</p><p>“那倒也不是,不过在那里,这种行为会被称作‘为艺术献身’。”汉弗莱轻飘飘地说。</p><p>“他倒不是为了艺术而献身。”</p><p>“那是为了什么呢?”</p><p>“裸体抗议,他亲口说的。”牧羊人伏到了窗子上。</p><p>裸体抗议?在这里?在这平静如水的村落阿卡迪亚?他是在想什么呢?汉弗莱望向窗外,他首先看见牧羊人弯曲湿润的金色长发,他白净轻红的面孔,他紧张地张开嘴大声喊叫,要对二人说什么,神情好像被雅典娜的海蛇缠身的拉奥孔。他年纪大抵只有三十,大概率要更小一点。汉弗莱多么想听清他费了九牛二虎之力从远方走来要说些什么,但是列车发动了,引擎的轰鸣掩盖了一切人类的声音。</p><p>牧羊人奔跑着,追赶着火车,直到一脚踩空,落入了雨与草之间。汉弗莱远远看着他,直到他消失于视线。</p><p>年轻人开口了:“他本是伦敦人,名叫乔尼·巴克斯特。父亲是一位工厂主,他过着一个少爷的生活。直到他有一日从伊顿回家,看见两个人将一个人的焦炭一般的尸体搬出工厂。然后他看到了很多被他自己一直忘却的东西,彩色的充盈重金属的天空离子的天空,似乎终日不停释放毒气的烟囱,从工厂被抬出去的工人们,于是,他去找他父亲,寄希望于他的父亲有能力改变这一切。当然,作为英格兰最大的工厂主之一,他的父亲有能力,只不过他不愿意。”</p><p>“然后他的父亲在他16岁的时候死于肺癌,死前二人还在家里为了环保观念的不同打冷战。他被迫从伊顿辍学管理工厂,但他改造工厂的想法被董事们迅速否决,然后他们请来了他叔父,取代他管理工厂,但他不想回学校,他想做些什么,于是他决定去游行。”年轻人接着说下去。</p><p>“游行?”前面的故事已经令汉弗莱震惊了,但决定去游行,倒是更难以想象,“什么游行?”</p><p>“什么游行他都去,为女性,为工人,为环境,为社会公益,每次工人罢工,他就全身赤裸,站在人潮的前头。他很快活,但他的叔叔认为他的行为是工厂盈利的阻碍。于是他们将阿卡迪亚的一块荒地买下,命名为阿卡迪亚疯人院,宣称他得了精神病,要送到法国的‘专业机构’治疗,同时在他得到‘医生’的证明前,不能回到英格兰继承工厂。但那里没有人,只有一片荒地,开始时他身无分文,食不果腹,他像羊一样,赤身裸体,在雨中生活,只能够吃草。”</p><p>“我的家乡,乔尼的放逐地,阿卡迪亚是个什么样的地方呢?那是一个没有青年的地方,没有污染的地方,人们对工业的唯一认知是带走年轻人,不再回来的列车。但年轻人们又不得不走,毕竟阿卡迪亚,即使在老人们的眼中,也是个没有未来的地方。老人们与小孩们愿意放下成见与他说话,他们这么做并不是因为听得懂或想听,他们只是想从他身上看见他们身处远方的孩子们和父亲们,仅此而已。”</p><p>“我说我要离开镇子了,要去巴黎读大学,他却没有给我和他人一样的指点,他给了我一块石头,上面刻着拉下文, ‘Et in Arcadia, is.’ 说等我搞明白这是什么意思时,我会回到这个小镇,再一次见到他的。之后我将石头放在父亲那里,毕竟带着石头出行究竟不便。”汉弗莱听到这句话时,心头一震。</p><p>“关于他的境况,其实我感觉我在学校里听过一个笑话很贴切,虽然很冷,太空中有些地方也有物质之所在,因此太空有的地方也能传声,但为什么‘太空不能传声’呢?因为星球之外,没有人在听。”年轻人直起背来,摊开双手,“他的处境也一样,老人们听不懂他的主张,我们长大了也离开他,最后他的语言,没有人会听。”</p><p>“话说这句拉丁文,先生你听得懂吗?”</p><p>“不懂。”牧羊人为什么要写这个?汉弗莱不解。但无论如何,他不想告诉这个年轻人,他不想让年轻人对此有过多的思虑。</p><p>“那再见吧,先生,我片刻便下车了。”</p><p>“下车?你才刚到摩纳哥。”</p><p>“我有亲戚在摩纳哥,我10号才到校,能在他们家里玩一天再在九号到巴黎去。“年轻人搬下箱子,走出包厢,汉弗莱想说些什么,但依旧缄默了。</p><p>最后一个泡沫也破裂了,汉弗莱回到现实,突然看向眼前的橱柜上,摆着一块石头,在灯光下隐隐约约现出金色的字样,像是课本上的黑体字样,在提示他什么。Et In Arcadia, is.</p><p>他注意到那老人的眼睛与那年轻人的眼睛一模一样,而在酒馆的深处,好像确实可以看见那件自己无比熟悉的米色的西服外套。但“他”是谁?那牧羊人究竟为什么要写这个呢?年轻人为什么非得要等离开牧羊人和小镇,才开始讲述牧羊人的故事?而年轻人又是从哪里得知牧羊人的生平的呢?他将咖啡一饮而尽,苦涩和香醇将他的身体唤醒,将他的灵魂从久梦中带回现实。</p><p>他戴上帽子,结了账,走出房门,还是进了雨里,十一月的冷雨里,他看着这座小镇的景色,从那映出清光的水流与那给勾上线条的雨水,他听不到老人与孩子的声音,听不见任何人的声音,被大雨覆盖住了,只有他自己,在变形湿透的帽檐下行走,带着悲伤。走向车站,他只听见二人在交谈。月光在云层的遮蔽下还可以看到,就像真相曾经对自己的诱惑。他曾千百次,在失眠的夜里听到德彪西的《月光》的旋律一般的莫测的回响,他以为只要这个谜还在,自己就永远不会安稳,自己将永远被它触动,为之而踏上旅途。他意识到了,有时他只能放下一些无解的事物,去继续生活下去,永远困窘于遥远的思索并无益处。</p><p>“他们说,这一站很快会被取缔。”他走到车站了,坐在候车处的木椅上,他听见一个女声在说话,汉弗莱感觉自己仿佛听到过这个声音。</p><p>“真的假的?”一个男声回应。</p><p>“于我们又有什么关系呢,不过换个地方上班而已。”女声说。</p><p>“倒也是。”男声又说。</p><p>他已经对搞清谜团不抱任何希望了,在下午七时的班车驶去后,他已经不在这个小镇了,想到此,他又把自己沉寂在悲伤之中,但十一月的冷雨,却不像他所想的那样,从窗中再吹进来。但就在他离开阿卡迪亚的雨后,离开灯光,离开人群之后,他仿佛看见了“他”的身影。</p><p>即使在阿卡迪亚,也有他的身影。Et in Arcadia, is.</p><p>2024.3.14</p><p>氿月</p><p>(收录于《明治十七》)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 明治十七 </tag>
</tags>
</entry>
<entry>
<title>脚本哲学(2) WaterMello, 一款壬性化的《合成大西瓜》启动器</title>
<link href="/01/PhiloScriptPart2.html"/>
<url>/01/PhiloScriptPart2.html</url>
<content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>我们学校有一款由某位已经离校的学长开发的,基于《合成大西瓜》代码的,名为“合成校长”的游戏,风靡一时。许多人想要制作一个自定义版本。于是我就决定把这个当作一个脚本来写。</p><span id="more"></span><h2 id="解析"><a href="#解析" class="headerlink" title="解析"></a>解析</h2><ol><li>介于主要用户(即同学们)不一定有使用命令行的经验,所以<strong>设计一个GUI是有必要的</strong>。</li><li>此外,要能够直接启动游戏,意味着将<strong>生成后的游戏可运行在本地服务器上</strong>。</li><li>另外,<strong>要求用户提供裁剪到合适尺寸的圆形PNG文件,是不合实际的</strong>(我对此深有感触),所以要自动剪裁图片到合适尺寸和格式。</li><li>另外需要多线程处理,防止程序未响应卡死。</li></ol><h2 id="代码"><a href="#代码" class="headerlink" title="代码"></a>代码</h2><p>以下为 main.py 的内容,我们默认原版游戏的源代码放置在 ./original 文件夹 (建议前往 WaterMello 的 repo 下载)。</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> contextlib</span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> random</span><br><span class="line"><span class="keyword">import</span> shutil</span><br><span class="line"><span class="keyword">import</span> socket</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> webbrowser</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QApplication, QMainWindow, QFileDialog, QMessageBox</span><br><span class="line"><span class="keyword">from</span> ui_mainwindow <span class="keyword">import</span> Ui_MainWindow</span><br><span class="line"><span class="keyword">import</span> cv2</span><br><span class="line"><span class="keyword">from</span> PIL <span class="keyword">import</span> Image</span><br><span class="line"><span class="keyword">from</span> http.server <span class="keyword">import</span> SimpleHTTPRequestHandler</span><br><span class="line"><span class="keyword">from</span> http.server <span class="keyword">import</span> CGIHTTPRequestHandler</span><br><span class="line"><span class="keyword">from</span> functools <span class="keyword">import</span> partial</span><br><span class="line"><span class="keyword">from</span> http.server <span class="keyword">import</span> ThreadingHTTPServer</span><br><span class="line"><span class="keyword">import</span> threading</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">start_thread</span>(<span class="params">name, kwargs={}</span>):</span><br><span class="line"> thread = threading.Thread(target=name, kwargs=kwargs)</span><br><span class="line"> thread.setDaemon(<span class="literal">True</span>)</span><br><span class="line"> thread.start()</span><br><span class="line"></span><br><span class="line"><span class="string">"规则:\n1. 图片从小到大排列。\n2. 生成按钮会在ready文件夹生成一个可以玩的版本的源文件;\n而部署按钮会将这个版本发送到站点上,让你可以在线上玩。"</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">DualStackServer</span>(<span class="title class_ inherited__">ThreadingHTTPServer</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">server_bind</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="comment"># suppress exception when protocol is IPv4</span></span><br><span class="line"> <span class="keyword">with</span> contextlib.suppress(Exception):</span><br><span class="line"> self.socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, <span class="number">0</span>)</span><br><span class="line"> <span class="keyword">return</span> <span class="built_in">super</span>().server_bind()</span><br><span class="line"></span><br><span class="line">ext = [<span class="string">'.exr'</span>, <span class="string">'.webp'</span>, <span class="string">'.rgb'</span>, <span class="string">'.gif'</span>, <span class="string">'.pbm'</span>, <span class="string">'.pgm'</span>, <span class="string">'.ppm'</span>, <span class="string">'.tiff'</span>, <span class="string">'.rast'</span>, <span class="string">'.xbm'</span>, <span class="string">'.jpeg'</span>, <span class="string">'.bmp'</span>, <span class="string">'.png'</span>, <span class="string">'.webp'</span>, <span class="string">'.exr'</span>, <span class="string">'.jpg'</span>]</span><br><span class="line">comparison = [<span class="number">52</span>, <span class="number">80</span>, <span class="number">108</span>, <span class="number">119</span>, <span class="number">153</span>, <span class="number">183</span>, <span class="number">193</span>, <span class="number">258</span>, <span class="number">308</span>, <span class="number">309</span>, <span class="number">408</span>]</span><br><span class="line">places = [</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/ad/ad16ccdc-975e-4393-ae7b-8ac79c3795f2.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/0c/0cbb3dbb-2a85-42a5-be21-9839611e5af7.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/d0/d0c676e4-0956-4a03-90af-fee028cfabe4.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/74/74237057-2880-4e1f-8a78-6d8ef00a1f5f.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/13/132ded82-3e39-4e2e-bc34-fc934870f84c.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/03/03c33f55-5932-4ff7-896b-814ba3a8edb8.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/66/665a0ec9-6c43-4858-974c-025514f2a0e7.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/84/84bc9d40-83d0-480c-b46a-3ef59e603e14.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/5f/5fa0264d-acbf-4a7b-8923-c106ec3b9215.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/56/564ba620-6a55-4cbe-a5a6-6fa3edd80151.png"</span>,</span><br><span class="line"> <span class="string">"./ready/res/raw-assets/50/5035266c-8df3-4236-8d82-a375e97a0d9c.png"</span></span><br><span class="line"> ] <span class="comment">#感谢来自于 liyupi 的源代码: https://github.com/liyupi/daxigua</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">circle</span>(<span class="params">img_path, cir_path</span>):</span><br><span class="line"> ima = Image.<span class="built_in">open</span>(img_path).convert(<span class="string">"RGBA"</span>)</span><br><span class="line"> size = ima.size</span><br><span class="line"> r2 = <span class="built_in">min</span>(size[<span class="number">0</span>], size[<span class="number">1</span>])</span><br><span class="line"> <span class="keyword">if</span> size[<span class="number">0</span>] != size[<span class="number">1</span>]:</span><br><span class="line"> ima = ima.resize((r2, r2))</span><br><span class="line"> r3 = <span class="built_in">int</span>(r2/<span class="number">2</span>)</span><br><span class="line"> imb = Image.new(<span class="string">'RGBA'</span>, (r3*<span class="number">2</span>, r3*<span class="number">2</span>),(<span class="number">255</span>,<span class="number">255</span>,<span class="number">255</span>,<span class="number">0</span>))</span><br><span class="line"> pima = ima.load()</span><br><span class="line"> pimb = imb.load()</span><br><span class="line"> r = <span class="built_in">float</span>(r2/<span class="number">2</span>)</span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> <span class="built_in">range</span>(r2):</span><br><span class="line"> <span class="keyword">for</span> j <span class="keyword">in</span> <span class="built_in">range</span>(r2):</span><br><span class="line"> lx = <span class="built_in">abs</span>(i-r)</span><br><span class="line"> ly = <span class="built_in">abs</span>(j-r)</span><br><span class="line"> l = (<span class="built_in">pow</span>(lx,<span class="number">2</span>) + <span class="built_in">pow</span>(ly,<span class="number">2</span>))** <span class="number">0.5</span></span><br><span class="line"> <span class="keyword">if</span> l < r3:</span><br><span class="line"> pimb[i-(r-r3),j-(r-r3)] = pima[i,j]</span><br><span class="line"> imb.save(cir_path)</span><br><span class="line"> <span class="keyword">return</span> cir_path</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">MainWindow</span>(<span class="title class_ inherited__">QMainWindow</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="built_in">super</span>(MainWindow, self).__init__()</span><br><span class="line"> self.ui = Ui_MainWindow()</span><br><span class="line"> self.ui.setupUi(self)</span><br><span class="line"> self.file = [<span class="string">""</span>] * <span class="number">11</span></span><br><span class="line"> self.ui.Opener.clicked.connect(self.opening)</span><br><span class="line"> self.ui.Deployer.clicked.connect(self.deploy)</span><br><span class="line"> self.ui.Generator.clicked.connect(self.generate)</span><br><span class="line"> self.ui.Activator.clicked.connect(self.activate)</span><br><span class="line"> self.ui.About.clicked.connect(self.showAbout)</span><br><span class="line"> self.ui.Remover.clicked.connect(self.remove)</span><br><span class="line"> self.ui.Ruler.clicked.connect(self.rule)</span><br><span class="line"> self.ui.Starter.clicked.connect(self.start)</span><br><span class="line"> self.ui.Deployer.setEnabled(<span class="literal">False</span>)</span><br><span class="line"> <span class="keyword">if</span> os.path.exists(<span class="string">"./tmp/"</span>):</span><br><span class="line"> self.ui.Starter.setEnabled(<span class="literal">False</span>)</span><br><span class="line"> <span class="keyword">if</span> os.path.exists(<span class="string">"./ready/"</span>) == <span class="literal">False</span>:</span><br><span class="line"> self.ui.Remover.setEnabled(<span class="literal">False</span>)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">activate</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">run</span>(<span class="params">server_class=DualStackServer,</span></span><br><span class="line"><span class="params"> handler_class=SimpleHTTPRequestHandler,</span></span><br><span class="line"><span class="params"> port=<span class="number">8000</span>,</span></span><br><span class="line"><span class="params"> bind=<span class="string">'127.0.0.1'</span>,</span></span><br><span class="line"><span class="params"> cgi=<span class="literal">False</span>,</span></span><br><span class="line"><span class="params"> directory=os.getcwd(<span class="params"></span>)</span></span><br><span class="line"><span class="params"> </span>):</span><br><span class="line"> <span class="string">"""Run an HTTP server on port 8000 (or the port argument).</span></span><br><span class="line"><span class="string"></span></span><br><span class="line"><span class="string"> Args:</span></span><br><span class="line"><span class="string"> server_class (_type_, optional): Class of server. Defaults to DualStackServer.</span></span><br><span class="line"><span class="string"> handler_class (_type_, optional): Class of handler. Defaults to SimpleHTTPRequestHandler.</span></span><br><span class="line"><span class="string"> port (int, optional): Specify alternate port. Defaults to 8000.</span></span><br><span class="line"><span class="string"> bind (str, optional): Specify alternate bind address. Defaults to '127.0.0.1'.</span></span><br><span class="line"><span class="string"> cgi (bool, optional): Run as CGI Server. Defaults to False.</span></span><br><span class="line"><span class="string"> directory (_type_, optional): Specify alternative directory. Defaults to os.getcwd().</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> <span class="keyword">if</span> cgi:</span><br><span class="line"> handler_class = partial(CGIHTTPRequestHandler, directory=directory)</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> handler_class = partial(SimpleHTTPRequestHandler, directory=directory)</span><br><span class="line"> <span class="keyword">with</span> server_class((bind, port), handler_class) <span class="keyword">as</span> httpd:</span><br><span class="line"> webbrowser.<span class="built_in">open</span>(<span class="string">"http://127.0.0.1:8000"</span>)</span><br><span class="line"> httpd.serve_forever()</span><br><span class="line"> start_thread(run, kwargs={<span class="string">"directory"</span>: <span class="string">"./ready"</span>})</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">rule</span>(<span class="params">self</span>):</span><br><span class="line"> QMessageBox.information(self, <span class="string">"食用方法, 务必看完"</span>, <span class="string">"""</span></span><br><span class="line"><span class="string">初次启动需要“初始化”,之后不需要,然后“打开”一个装有11张图片的文件夹(其他什么都不要有)。</span></span><br><span class="line"><span class="string">点击“生成”,然后等待跳出“已完成”提示窗口。</span></span><br><span class="line"><span class="string">点击“启动”可启动游戏,部署功能还未写完,请勿使用。</span></span><br><span class="line"><span class="string">生成完毕的游戏代码在"ready"文件夹中,请保管好。</span></span><br><span class="line"><span class="string">如果要再次生成游戏,请点击“清除缓存”,这会导致上一次生成的游戏文件丢失,请保证自己已保管好。</span></span><br><span class="line"><span class="string"> """</span>)</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">start</span>(<span class="params">self</span>):</span><br><span class="line"> os.mkdir(<span class="string">"./tmp"</span>)</span><br><span class="line"> QMessageBox.information(self, <span class="string">"初始化完成"</span>, <span class="string">"初始化完成。"</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">remove</span>(<span class="params">self</span>):</span><br><span class="line"> shutil.rmtree(<span class="string">"./ready"</span>)</span><br><span class="line"> QMessageBox.information(self, <span class="string">"已清除缓存"</span>, <span class="string">"已清除缓存。"</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">generate</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">go</span>():</span><br><span class="line"> shutil.copytree(<span class="string">r'./original'</span>, <span class="string">r'./ready'</span>)</span><br><span class="line"> <span class="keyword">for</span> x <span class="keyword">in</span> <span class="built_in">range</span>(<span class="number">11</span>):</span><br><span class="line"> circle(self.file[x], <span class="string">"./tmp/"</span>+<span class="built_in">str</span>(x)+<span class="string">".png"</span>)</span><br><span class="line"> img = cv2.imread(<span class="string">"./tmp/"</span>+<span class="built_in">str</span>(x)+<span class="string">".png"</span>, cv2.IMREAD_UNCHANGED)</span><br><span class="line"> img = cv2.resize(img, (comparison[x], comparison[x]))</span><br><span class="line"> cv2.imwrite(places[x], img)</span><br><span class="line"> start_thread(go)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">showAbout</span>(<span class="params">self</span>):</span><br><span class="line"> QMessageBox.information(self, <span class="string">"关于"</span>,<span class="string">"""</span></span><br><span class="line"><span class="string">WaterMello v0.1 Beta</span></span><br><span class="line"><span class="string">开发: 玄云海 OblivionOcean</span></span><br><span class="line"><span class="string">Special Thanks: liyupi, Fgaoxing.</span></span><br><span class="line"><span class="string">Enjoy the game, thy life as well.</span></span><br><span class="line"><span class="string"> """</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">opening</span>(<span class="params">self</span>):</span><br><span class="line"> correction = <span class="literal">True</span></span><br><span class="line"> filepath = QFileDialog.getExistingDirectory(self, <span class="string">"打开装有11张图片的文件夹。"</span>, <span class="string">"."</span>)</span><br><span class="line"> files = os.listdir(filepath)</span><br><span class="line"> <span class="keyword">for</span> f <span class="keyword">in</span> files:</span><br><span class="line"> _, a = os.path.splitext(f)</span><br><span class="line"> <span class="keyword">if</span> a <span class="keyword">not</span> <span class="keyword">in</span> ext:</span><br><span class="line"> correction = <span class="literal">False</span></span><br><span class="line"> <span class="keyword">if</span> <span class="built_in">len</span>(files) == <span class="number">11</span> <span class="keyword">and</span> correction:</span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> files:</span><br><span class="line"> self.file[files.index(i)] = os.path.join(filepath, i)</span><br><span class="line"> <span class="built_in">print</span>(self.file)</span><br><span class="line"> QMessageBox.information(self, <span class="string">"成功!"</span>,<span class="string">"已导入图片。"</span>)</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> QMessageBox.information(self, <span class="string">"出错!"</span>,<span class="string">"图片数量过多/过少,图片后缀名错误。"</span>)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">deploy</span>(<span class="params">self</span>):</span><br><span class="line"> QMessageBox.information(self, <span class="string">"我饿啦!"</span>,<span class="string">"把这个功能吃了,下个版本还你们。"</span>)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</span><br><span class="line"> app = QApplication(sys.argv)</span><br><span class="line"> window = MainWindow()</span><br><span class="line"> window.show()</span><br><span class="line"> sys.exit(app.<span class="built_in">exec</span>())</span><br></pre></td></tr></table></figure><p>以下为 ui_mainwindow.py 的内容。</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> PySide6.QtCore <span class="keyword">import</span> (QCoreApplication, QDate, QDateTime, QLocale,</span><br><span class="line"> QMetaObject, QObject, QPoint, QRect,</span><br><span class="line"> QSize, QTime, QUrl, Qt)</span><br><span class="line"><span class="keyword">from</span> PySide6.QtGui <span class="keyword">import</span> (QBrush, QColor, QConicalGradient, QCursor,</span><br><span class="line"> QFont, QFontDatabase, QGradient, QIcon,</span><br><span class="line"> QImage, QKeySequence, QLinearGradient, QPainter,</span><br><span class="line"> QPalette, QPixmap, QRadialGradient, QTransform)</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> (QApplication, QMainWindow, QPushButton, QSizePolicy,</span><br><span class="line"> QStatusBar, QWidget)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">Ui_MainWindow</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">setupUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> <span class="keyword">if</span> <span class="keyword">not</span> MainWindow.objectName():</span><br><span class="line"> MainWindow.setObjectName(<span class="string">u"MainWindow"</span>)</span><br><span class="line"> MainWindow.resize(<span class="number">315</span>, <span class="number">113</span>)</span><br><span class="line"> icon = QIcon()</span><br><span class="line"> icon.addFile(<span class="string">u"icon.ico"</span>, QSize(), QIcon.Normal, QIcon.Off)</span><br><span class="line"> MainWindow.setWindowIcon(icon)</span><br><span class="line"> self.centralwidget = QWidget(MainWindow)</span><br><span class="line"> self.centralwidget.setObjectName(<span class="string">u"centralwidget"</span>)</span><br><span class="line"> self.Opener = QPushButton(self.centralwidget)</span><br><span class="line"> self.Opener.setObjectName(<span class="string">u"Opener"</span>)</span><br><span class="line"> self.Opener.setGeometry(QRect(<span class="number">10</span>, <span class="number">50</span>, <span class="number">81</span>, <span class="number">41</span>))</span><br><span class="line"> self.Generator = QPushButton(self.centralwidget)</span><br><span class="line"> self.Generator.setObjectName(<span class="string">u"Generator"</span>)</span><br><span class="line"> self.Generator.setGeometry(QRect(<span class="number">90</span>, <span class="number">50</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> self.Deployer = QPushButton(self.centralwidget)</span><br><span class="line"> self.Deployer.setObjectName(<span class="string">u"Deployer"</span>)</span><br><span class="line"> self.Deployer.setGeometry(QRect(<span class="number">160</span>, <span class="number">50</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> self.Activator = QPushButton(self.centralwidget)</span><br><span class="line"> self.Activator.setObjectName(<span class="string">u"Activator"</span>)</span><br><span class="line"> self.Activator.setGeometry(QRect(<span class="number">230</span>, <span class="number">50</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> self.Starter = QPushButton(self.centralwidget)</span><br><span class="line"> self.Starter.setObjectName(<span class="string">u"Starter"</span>)</span><br><span class="line"> self.Starter.setGeometry(QRect(<span class="number">10</span>, <span class="number">10</span>, <span class="number">81</span>, <span class="number">41</span>))</span><br><span class="line"> self.Remover = QPushButton(self.centralwidget)</span><br><span class="line"> self.Remover.setObjectName(<span class="string">u"Remover"</span>)</span><br><span class="line"> self.Remover.setGeometry(QRect(<span class="number">230</span>, <span class="number">10</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> self.Ruler = QPushButton(self.centralwidget)</span><br><span class="line"> self.Ruler.setObjectName(<span class="string">u"Ruler"</span>)</span><br><span class="line"> self.Ruler.setGeometry(QRect(<span class="number">90</span>, <span class="number">10</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> self.About = QPushButton(self.centralwidget)</span><br><span class="line"> self.About.setObjectName(<span class="string">u"About"</span>)</span><br><span class="line"> self.About.setGeometry(QRect(<span class="number">160</span>, <span class="number">10</span>, <span class="number">71</span>, <span class="number">41</span>))</span><br><span class="line"> MainWindow.setCentralWidget(self.centralwidget)</span><br><span class="line"> self.statusbar = QStatusBar(MainWindow)</span><br><span class="line"> self.statusbar.setObjectName(<span class="string">u"statusbar"</span>)</span><br><span class="line"> MainWindow.setStatusBar(self.statusbar)</span><br><span class="line"></span><br><span class="line"> self.retranslateUi(MainWindow)</span><br><span class="line"></span><br><span class="line"> QMetaObject.connectSlotsByName(MainWindow)</span><br><span class="line"> <span class="comment"># setupUi</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">retranslateUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> MainWindow.setWindowTitle(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"WaterMello"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Opener.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6253\u5f00\u6587\u4ef6\u5939"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Generator.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u751f\u6210"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Deployer.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u90e8\u7f72"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Activator.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u542f\u52a8"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Starter.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u521d\u59cb\u5316"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Remover.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6e05\u9664\u7f13\u5b58"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.Ruler.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u67e5\u770b\u89c4\u5219"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.About.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u5173\u4e8e"</span>, <span class="literal">None</span>))</span><br><span class="line"> <span class="comment"># retranslateUi</span></span><br></pre></td></tr></table></figure><h2 id="用例及仓库"><a href="#用例及仓库" class="headerlink" title="用例及仓库"></a>用例及仓库</h2><p>用法见软件内部“食用方法”。</p><p>仓库地址:<a href="https://github.com/OblivionOcean/WaterMello">GitHub</a></p><h2 id="后记"><a href="#后记" class="headerlink" title="后记"></a>后记</h2><p>WaterMello 本身并没有受到关注,但是在班内,大伙非常喜欢我用它生成的“<a href="https://yoxi.oblivionocean.top/">合成哟西</a>”小游戏(架设在玄云海域名上),甚至已经有了班内竞赛,而我是最高分纪录保持者。</p><p>作为“自己的游戏”的最高分记录保持者,这值得骄傲吗?(笑)</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
<tag> Minecraft </tag>
</tags>
</entry>
<entry>
<title>脚本哲学(1) Minecraft 服务器区块与备份脚本</title>
<link href="/01/PhiloScriptPart1.html"/>
<url>/01/PhiloScriptPart1.html</url>
<content type="html"><![CDATA[<h2 id="开始之前"><a href="#开始之前" class="headerlink" title="开始之前"></a>开始之前</h2><p>我好久没写技术类的推文了,原因很简单,我有些跟不上大伙的节奏,我技术力过于低下。但仔细想想,发一些技术文章还是可以精进自己的技术的,于是便打算重新开始,于是就有了这么一个新系列,叫做“脚本哲学”。</p><p>另外,在最新的决定中,我将这个博客分为了三个网站,一个是本站,主要发技术文章;一个是 <a href="https://legacy.chuishen.xyz/">Legacy</a>,是旧物的堆积地;以及 <a href="https://memoria.top/">Memoria</a> ,是我与远冬的文学博客。《御伽之国的鬼岛》《白银树之恋》等文章已被迁至 Legacy。《日记八集》中的部分篇目,已被永久删除。</p><span id="more"></span><h2 id="要求与解析"><a href="#要求与解析" class="headerlink" title="要求与解析"></a>要求与解析</h2><p>这次是接了一位好朋友的单,他的要求很简单,每隔6小时,将 world 文件夹的每一个变动的文件都复制到 backup 文件夹的压缩包中以达成备份。</p><p>那么首先是造个backup文件夹(如果已存在还要处理错误),用 watchdog 看着,然后再在每一次侦测到 Snapshot 改变的时候复制到 backup 文件夹的 zip 文件里。非常轻松。</p><p>代码部分如下:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> time</span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> watchdog</span><br><span class="line"><span class="keyword">from</span> watchdog.observers <span class="keyword">import</span> Observer</span><br><span class="line"><span class="keyword">from</span> watchdog.events <span class="keyword">import</span> FileSystemEventHandler</span><br><span class="line"><span class="keyword">from</span> watchdog.utils.dirsnapshot <span class="keyword">import</span> DirectorySnapshot, DirectorySnapshotDiff</span><br><span class="line"><span class="keyword">import</span> zipfile</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> threading</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">HD</span>(watchdog.events.FileSystemEventHandler):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self, aim_path</span>):</span><br><span class="line"> <span class="built_in">super</span>().__init__()</span><br><span class="line"> self.timer = <span class="literal">None</span></span><br><span class="line"> self.aim_path = aim_path</span><br><span class="line"> self.snapshot = DirectorySnapshot(self.aim_path)</span><br><span class="line"> self.second = <span class="number">120</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">checkSnapshot</span>(<span class="params">self</span>):</span><br><span class="line"> snapshot = DirectorySnapshot(self.aim_path)</span><br><span class="line"> diff = DirectorySnapshotDiff(self.snapshot, snapshot)</span><br><span class="line"> self.snapshot = snapshot</span><br><span class="line"> self.timer = <span class="literal">None</span></span><br><span class="line"> <span class="keyword">if</span> <span class="keyword">not</span> os.path.exists(<span class="string">"./backup"</span>):</span><br><span class="line"> os.mkdir(<span class="string">"./backup"</span>)</span><br><span class="line"> zip_file = zipfile.ZipFile(<span class="string">'./backup/%s.zip'</span> % (time.strftime(<span class="string">'%Y-%m-%d-%H-%M-%S'</span>,time.localtime())),<span class="string">'w'</span>)</span><br><span class="line"> <span class="keyword">for</span> x <span class="keyword">in</span> diff.files_modified:</span><br><span class="line"> <span class="built_in">print</span>(x)</span><br><span class="line"> zip_file.write(x, compress_type=zipfile.ZIP_DEFLATED)</span><br><span class="line"> zip_file.close()</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">on_modified</span>(<span class="params">self, event</span>):</span><br><span class="line"> <span class="keyword">if</span> self.timer:</span><br><span class="line"> self.timer.cancel()</span><br><span class="line"> self.timer = threading.Timer(<span class="number">120</span>, self.checkSnapshot)</span><br><span class="line"> self.timer.start()</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">observe</span>(<span class="params">path=<span class="string">"./observing"</span>, timer=<span class="number">120</span></span>):</span><br><span class="line"> observer = Observer()</span><br><span class="line"> observer.start()</span><br><span class="line"> event_handler = HD(path)</span><br><span class="line"> event_handler.second = timer</span><br><span class="line"> observer.schedule(event_handler, path, recursive=<span class="literal">True</span>)</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> <span class="keyword">while</span> <span class="literal">True</span>:</span><br><span class="line"> time.sleep(timer)</span><br><span class="line"> <span class="keyword">except</span> KeyboardInterrupt:</span><br><span class="line"> observer.stop()</span><br><span class="line"> observer.join()</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">'__main__'</span>:</span><br><span class="line"> observe(path=sys.argv[<span class="number">1</span>], timer=<span class="built_in">int</span>(sys.argv[<span class="number">2</span>]))</span><br></pre></td></tr></table></figure><h2 id="用例及仓库"><a href="#用例及仓库" class="headerlink" title="用例及仓库"></a>用例及仓库</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">python3 main.py {侦测的目录} {Snapshot间隔时间}</span><br></pre></td></tr></table></figure><p>仓库地址:(GitHub)[<a href="https://github.com/Lafcadia/MCServerBackup]">https://github.com/Lafcadia/MCServerBackup]</a></p><h2 id="后记"><a href="#后记" class="headerlink" title="后记"></a>后记</h2><p>脚本需要可复用性,为了省事而直接在脚本中设定 path 和 Snapshot 时间间隔是不可取的。</p><p>顺带一提,我得蹲着服务器等好几个小时才能知道这东西到底有没有生效,当然最终的结果是有效。就目前而言,朋友疑似相当满意,证明了它的效果还不错。</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
<tag> 关于我自己 </tag>
<tag> Minecraft </tag>
</tags>
</entry>
<entry>
<title>妄谈 V1C1 施洗者的预言 Answer in the Wind</title>
<link href="/01/AnswerInTheWind.html"/>
<url>/01/AnswerInTheWind.html</url>
<content type="html"><![CDATA[<h2 id="Part-1-施洗者的预言-Answer-in-the-Wind"><a href="#Part-1-施洗者的预言-Answer-in-the-Wind" class="headerlink" title="Part 1 施洗者的预言 Answer in the Wind"></a>Part 1 施洗者的预言 Answer in the Wind</h2><h3 id="Act-1-Days-of-Future-Past"><a href="#Act-1-Days-of-Future-Past" class="headerlink" title="Act 1 Days of Future Past"></a>Act 1 Days of Future Past</h3><p>他确实完全地死了,他的预言没有实现。过去奈拉比斯曾深信不疑,预言家们的每一句话,都是对命运的精确描绘。或许命运在预言者最自信的时候,对他也开了个玩笑吧。死亡即是命运唯一而必然的终结,在将遗体托付给罗马的贵人之前,在这一方面,命运对所有人都是平等的,这是他唯一的宽慰了。但从远方吹来的风中,他仿佛又一次听见施洗者约翰缓缓道来的预言。</p><span id="more"></span><p>“队长,你方才所说的希律王的皇宫还有多远?”</p><p>“不远,再走几步就到了。”</p><p>“那就无必用预言与幻想对之多加描绘了,我将看见它,或者它将抵达我身旁。”</p><p>“有的时候,有一个问题一直使我迷惑,约翰先生,那就是你们这些先知是怎么得知一个人的精确命运的。上天不可能主动告示你们一个个人的命运,因为一个人的命运,在时间的长河中是微不足道的;而你们又不可能有这个特权去逾越,去询问上天,不然就不会时灵时不灵。”</p><p>“队长啊。在此我不能说太多,探寻天机是我的‘命运’,命运这东西,怪异灵奇,几百万年后的预言者们要用比我所用的远远更加伟大的方式探测,但最终对于未来,还是只有几个飘渺不定的影子,若是放眼宇宙,一切都只不过是一瞬间。归根结底,一切不过是命运的棋子,下一场在永恒之前落幕,在永恒之后开始的死局。”</p><p>“希腊的几位哲学家说,世界只不过是由一堆原子组成的,无序中诞生的结构物,而上帝是那第一个推动的力,在一切静止的时候,挪动了一个点,虽然不需要意识,不需要多大的力量,不需要生命或智慧来做到这一点,但是那是最重要的一件事件,因为自此就有了决定一切发生的‘命运’。”</p><p>”命运是什么?是由那一原始的推动力与茫茫虚无中原子错乱的排列所决定的事件。我们的祖先食禁果,获得了智慧,学会了恐惧,他们畏惧着什么?不过是自己时刻是命运的奴隶这一事实而已,先让你理解何为真正的自由,再让你得知是奴隶的现实。也是因此,人类在世上所有的生灵中,所受的苦难也是最大的。”</p><p>“不过纵使我有计算命运的能力,也绝不会想到,有人会在这种地方种这样的花。”</p><p>“花朵是从罗马移植来的,是凯撒的一位大臣送给他的,为了取悦皇后希罗底,但希罗底不会赏花,就像她从不欣赏皇上给她的任何东西一样。”卫队长捡起马蹄下残破的长着棘刺的花枝。</p><p>“那为什么希律爱她?”施洗者约翰坐在马上,沉默后开口了。</p><p>“他爱她吗?他爱她的女儿。他爱莎乐美,只不过希罗底不愿意把莎乐美嫁给他而已,希律是一位贤明的君主,并不喜好美色,但你若是见到莎乐美,你也会爱上她的。”</p><p>”你去过罗马吗?”约翰扬起大理石雕刻一般的头,飘逸的卷发在阳光下闪出赤金色的光芒。二人骑在马上,其他卫兵步行,懒散得并不列队,披着厚重的盔甲随意而漫无目的地走。</p><p>“没有。”队长是一个长相二十多岁的年轻人,说实话看起来并不像犹太王国的人,更像来自异国的贵族,难道他年纪轻轻就已经背井离乡了吗?</p><p>“你不能够在这个国家久留,也不应当回到你的故乡去。在一个月圆之夜,你将顺着一个商队到罗马定居,千万不得回国。”预言者闭上双目,缓缓地说出预言。</p><p>当他睁开双眼时,他发现自己置身于一个巨大的园子;四季长青,长着美丽的果树。灌木丛刻意做成了迷宫式的排列,孔雀展开屏,在看不见的地方蚕食着,已经失去知觉的奴隶脊梁上的腐肉。</p><p>“一位国王将自己困在一个草木与怪兽的迷宫里,这寓示着什么呢?”约翰与队长下马,登上长阶。</p><p>“我不知道。正如当年一样。”灰黑色的云聚集在一起,远端传来雷鸣。</p><p>“当年?”约翰用冰蓝色的目光看向眼前的年轻人。</p><p>“我曾是叙利亚的王储,每日月优哉游哉过着贵人的生活。有一日,我在皇宫外玩耍时,用弹弓打死了一只黑色的怪鸟,我的哥哥大惊失色,让我赶快将怪鸟埋在土中。但我在埋那只鸟的时候,我看见一个东方的男人和一个戴着面具的男人正躲在巷角讲着价,隐隐地我看见一块刻着方形文字的石碑,我正看着,那怪鸟的尸体却化成了血水,仿佛溶在了土地里一样。”二人走进巨大空寂的石堡,队长拿起一支立在石架上的,点燃的血色火把,带着约翰继续向上走。</p><p>“戴着面具的男人怀揣着石碑,慢慢靠近我的身后,他对我说:‘无须畏惧,你所预见的,都只会是你的命运。’他摘下面具,让我看向它他血丝密布但又异常美丽的眼睛。在他浑浊与分层的眼睛中,我看见大地在干裂中流出鲜血,犹太王国的军队冲破我们竖不可摧的黄铜大门。我回过神的时候,那个男人已经不见了。”远方传来回声,各种语言混杂的奇妙声音。</p><p>“我找到父王,说我在路上遇见一个神秘的男人,他诡异的眼睛让我看见一个导致帝国毁灭的可怕幻觉,父王从未如此害怕过,但他还是说不能进入战备状态,否则叙利亚将无法与周边国家贸易,国家将再度陷入贫穷中。父王说血流成河的惨象不会发生,因为他会在敌军来之前投降。”队长推开白玉的大门,“请允许我先来拜见一下公主殿下,咦,不在吗?”</p><p>“下午好,先生们。”二人的后面,一个衣着华美的女子出现在阶梯上。</p><p>“贵安,殿下,金枝玉叶可安好?”队长止不住要看她的眼睛,不知觉地单膝下跪。</p><p>“好,很好。”公主轻轻伸出手,卫兵队长止不住地吻,而她向着施洗者好奇地望去,“这位客人是?”</p><p>约翰并不看眼前的女子,他沉浸于这个空幽宵暗的石堡的几何结构之间,不自禁地喃喃道:“什么样的人会住在这样的一个扭曲的地方呢?”</p><p>“这位是约翰,一位预言家,来自王国中部的撒玛利亚地带,他在信众间传道,说世界的拯救者弥赛亚快要降临到这世上了,王上觉得他的言论有些奇趣,使召他进宫来,邀他‘进言’。”队长终于放下她的手,开始显得理智一些起来。</p><p>“进言?希律王可不是一个愿意听从他人意见的人,而且除了罗马的贵人以外,此地已经许久没有能见到希律的客人了。我说得自然不包括那些一无所知的可笑的乱踱步着等待的外邦人,他们的样子真是野蛮。二位,我们过会再见。”莎乐美嫣然一笑,退进了白玉的门。</p><p>约翰看着三角形中杂乱地漫步的几位安息的使者,戴着头巾的沙漠行商,像几个相互排斥的原子,还有几个颜色各异的小三角形,拼拼凑凑成了一个不大一致的六芒星,他们并不在意,甚至有意回避彼此,因为他们只在乎一个目标,那就是与希律王谈事,再无什么别的。因此他们只为了消磨时间,在希律王的高堂下等候,焦急着从这令人不安的木石迷宫里离开,像未来的人们一样在结构化的几何空间中游动着避开相交的可能性,未来不过更照攘罢了。他叹着,脑海中闪过水晶与涂上漆的钢筋的图像,跟着队长一起走上楼梯,走入一座明亮的厅堂。房间中依旧是彩绘的怪异图案,一个不断缩小的三角形,一个画中的女人捧着一张画像中的画像之类的。</p><p>“这位就是——”队长的话被一个男声打断。</p><p>“你就是约翰,那个自封的先知?”一个中年粗壮的男人,身披一件像是皇袍但怎么看都不合身的袍子。在火光下,约翰看清了他的脸,那是一张忧郁多疑的脸,带着一丝玩味神情的诡异笑容的脸,更重要的是,那并非一张犹太人的脸,而是一张阿拉伯人的脸。约翰竟产生了短暂的迷惑,但在看见未来的图景后又释怀了。</p><p>“我就是,或者说我觉得我是。”希律冷冷地看了他一眼,似乎对“先知”的言语有些夫望。</p><p>“真有‘命运’吗?先知先生?”希律从王位上站了起来,面目又一次进入阴影。</p><p>“您还不如问上帝是否存在,这个问题我已经对我旅途上对我纠缠不休的阿拉伯人们解释过许多遍了。”约翰也将面容隐入阴影中,绕着沉默的卫队长走。</p><p>“那就假设它存在,你们这些人又是怎么知道它的呢?”国王不紧不慢地问。</p><p>“有时从虚无中被文字点醒而得到,有时则通过预兆和神迹。”约翰略颤抖着回答。</p><p>“比如?”</p><p>“一只怪鸟从天上掉下来,或是沙漠下起雷雨,也可以是大海被撕裂。”</p><p>队长略微起了些冷汗,看向角落的王后希罗底,他估计她很快就要开口。</p><p>“那你又从什么样的预兆中看见你所说的弥赛亚的即有到来呢?”国王又开口了。</p><p>“伯利恒之星,导星,一颗诡异的星辰,在我在沙漠中为一位神圣的人洗礼之后,异常闪烁。”施洗者回忆起许多年前他认为自己永远不会忘记的,第一次见到圣子的日子。</p><p>“为什么要来这里,约翰先生?”一个年轻的男人,拉着蒙着双眼的约翰,在荒野中行走。二人的双脚早已被芒刺扎穿,但约仍然热意让男人带着自己向着荒野的东方走。</p><p>“寻找一些丢失的东西。”施洗者的双眼前缠着一团烂布,衣袋里的罗马金币沙沙作响。</p><p>“可是,凭我说,能落到这份境地的东西可实在是不多啊,会腐烂的,都已在此腐烂了;不烂的,都已被拎著者们抢去了。话说先生,您是个施洗的吧,但你的钱怎么这么多?”男人问。</p><p>“我可是同时给帝国与王国缴税的,从不昧着良心赚钱。你知道沙漠里,离此不远,有一座古井吗?”约翰问向那个男人,“把我带到那儿就行了。”就足够了,他这样想,如果仍不成功…</p><p>“知道了,若是你告诉我目的地,而非随意地报着令人不知所云的方向与路径,我们早就到了。”男人的语气平谈中透着一丝抱怨,“不用送你回去,对吧。”</p><p>“不用。留我在原地吧。我已经从风中的沙粒粗细,辨认出它的位置了。正在前方,不偏不倚,你走吧。”他听见脚步声,金币撞击的声音,男人为这一桩美差感叹的声音。</p><p>“看来,命运这次也不会因为我的到来被激起一丝连漪。”他去了一块石头进入水井,没有哪怕一点声音,与他之前每次来这井边的时候都一样。于是,他又一次转身。</p><p>“朋友,朋友!请等一下,不要走。请告诉我,这是否就是那传说中所罗门王在沙漠开出的井?”一个年轻的犹太男人的声音从远方传来,像穿过云雾吹来的清风一样。</p><p>“啊,这正是。可是这已经枯竭许多年了,而我失去光亮的双眼,却需要它的救治。我恐怕还要等无数年的时间,使井水复生,神迹出现。”约翰哀伤地说。</p><p>但男人将手杖插入沙地中,施洗者听见一种落叶沙沙的声音,紧接着是令他渴盼已久的泉水的声音,他不敢相信地解开双眼前的绑带,仿佛已经恢复了视觉。</p><p>“你无须再等待了。”男人平静地说,“我是拿撒勒人耶稣。”这宛如沉默的声音,在沙漠中留不了多久,但是将在未来的无数年内,在施洗者约翰的耳边永恒地回荡。</p><p>约翰用清水洗着久闭的双眼,仿佛看见眼前有一道朦胧的光,以一种怪异的纹路带着他在意识中游历于星海之间,最终到达一颗最美丽的星辰的身旁,那是无数个光圈环绕着一个金色十字形在旋转,从光圈中,他看见人们的过去、现在和将来,而自己的光圈,是与十字架最近的那一个。</p><p>他将意识从星辰中挪移出来,复归原身,才发现自己刚刚魂魄离开身体时看到的星辰,在空中闪烁着,直指着星天下的耶稣的身体。他正在用不知哪里来的木头烤着火,约翰慢慢地走近他,在他面前跪倒在地:“来自拿撒勒的耶稣啊,我应该怎么答谢你?”</p><p>“你是唯一一个可以为我做这件事的人,唯一一位在人间行走,灵魂却在天国的人。约翰啊,我要你为我施洗,为你我所信奉的上帝的儿子,也就是我,施以洗礼。”</p><p>“在这里?”风声戛然而止,约翰看向耶稣,但耶稣并没有看向他。</p><p>“在所罗门的泉水旁,是的。”耶稣望向了天空,“再无什么别的人可以为我做这件事,哪怕是我的父亲也不行。恐怕我已预知这一切都不过是一种预演,用水洗净人的身躯,用血洗刷人的罪孽。”</p><h3 id="Act-2-Moving-in-a-Mysterious-Way"><a href="#Act-2-Moving-in-a-Mysterious-Way" class="headerlink" title="Act 2 Moving in a Mysterious Way"></a>Act 2 Moving in a Mysterious Way</h3><p>“真是荒唐啊,神迹?竟然真的有人相信这种骗人的鬼话吗?”希罗底突然尖声细气地叫起来,希律王骤然变了神色,但是却并不敢说话。</p><p>“我无需说服你们相信事实,因为事实是不言自明的。”约翰平静地说道。</p><p>“你这么说的话,我觉得你妖言惑众,也不需要证明,因为这就是‘事实’。你篡改教义,欺骗民众,破坏王国的秩序。”希罗底露出了笑容,很美,但是很瘆人,仿佛要将空间撕开一般。</p><p>“你是所有人中离真相最远的人,耶洗别啊,你欺骗自己,你明明知道很多关于命运的事情,却要逃避它。我想,那是因为你那不干不净的权力的来源腐蚀了你。你看,你的丈夫在命运的另一头等着你,我想你很快就要见到他了。”</p><p>“命运的另一头?我的丈夫?你难道是在我们神圣的厅堂里诅咒希律王吗?你难道觉得我的丈夫作为我权力的来源不干不净?”希罗底的叫声开始歇斯底里起来。</p><p>“你看,预言其实很有趣,奈拉比斯。语言可以是模棱两可的,但语句一定是对的,无论以什么方式解读都很正确。这个女人曾经有过两位丈夫,而这两位丈夫都很快会在命运的另一头等着她,只是其过程不明而已。恐怕,结果是一定会到来的。”约翰并不搭理希罗底,转过头对王子说。王子略有一丝惊讶,他并不记得自己何时告诉过约翰他的名字。</p><p>“你娶这荡妇是不合理的,这乱伦会招致你自己的灭亡。你会在你自己的疯狂中死,在众叛亲离之后。”约翰对希律王发出最后的警告。希律站起身,指向约翰,“——”</p><p>“奈拉比斯,把他押到监狱!”希罗底怒目而起,打断了她的丈夫。</p><p>队长不知所措,看向约翰,约翰说:“那我便去监狱,或许命运注定你们永远无法听到完整的预言。”约翰昂首阔步走出厅堂,奈拉比斯只好带着他走向城堡之下的监狱。</p><p>“你真是个疯子,希罗底,你怎么敢在外人的面前打断我要说的话?而且这个约翰不简单,一般人是讲不出这种话的,我现在确信是神将这些可怕的话塞进他的口中的。把他关起来,剥去他的自由,肯定是与神意相悖的。”在队长带着约翰离开之后,希律王摇着头,将身子浸没在阴影里。</p><p>“我还觉得你是疯了呢。他说我们二人的婚姻是乱伦,说我是耶洗别,说你注定会因为娶了我这个‘荡妇’而疯狂至死。还胡扯什么神迹,他分明就是一个这片土地上盛产的骗子,你还想与他说什么?”希罗底还是非常愤怒,质问着希律王。</p><p>“我当时在想,直到现在也在想,万一那预言是真的呢?”希律王用冰冷的眼睛看向希罗底。</p><p>“是真的又怎样?人终有一死,他就算真的会预言,不还是进了我们的监狱?我们如果要他死,他千方百计也逃不掉。这难道不又是一个他什么也算不出来的证明?对了,我刚留意到,奈拉比斯看这个假先知的眼神有些异样,就莫要让他做监狱的守卫了。”</p><p>“奈拉比斯?我觉得他作为我培养多年的卫队长,是最适合的守卫,你无须多言,他陪在我身边服侍我的时间比你和你的女儿还久。他刚才的异样,也许只是因为这个先知对他说了一些让他恐惧的话吧;我能体会那种感受,因为我现在也感到了一种无力,或许正因为畏惧遥远或切近的未来,人会犯错或是说走入命运的陷阱,让本来可能的行动失去意义,但或许如果这一切都是早已注定发生的事情的话,一切都没有意义也说不准。你走吧,希罗底,我想你有事要做。”王后缄默着离开了厅堂,国王点燃一盏烛火,双眼像刀剑一般刺入墙上不断运动着缩小的诡异的三角形里。</p><p>约翰和队长走下螺旋的石楼梯,卫队队员们和犯人们都向队长行礼,似乎队长很受这些他监管的囚徒欢迎,约翰留意到,当队长走过后,他们又很快变得颓废或懒散,像冰块在一瞬间内熔化成水一样。</p><p>“我曾在约旦河为很多人施过洗,讲过道。在一次讲道之后,我在荒野上睡去,却发现突然没有了视觉,并不是单纯的黑或者暗,而是没有感觉,一点也没有。但我坚信祂会来拯救我,有一天,我遇到了一个预言者,他预言我将在所罗门在沙漠开出的可以治愈一切伤病的甘泉中找回自己的视力。我第一次去那井口时,花光了我所有的积蓄。我站在古井的旁边,却得不到甘泉,我让原先引着我走路的人来帮我,那人说泉水已经枯竭了。”约翰讲述着自己的故事,叹息着走进牢房的门。</p><p>“我只能相信预言,但每一次去,我都只能感受到不甘和不公。为什么那些恶的人可以拥有健全的身体,不可计量的财富,甚至高不可攀的王位?我并不觊觎它们,我只是很好奇,为什么应当得到的得不到,而不应得到的人却占据着所有。”他席地而坐,奈拉比斯静静地在他的身旁坐下聆听。</p><p>“我开始发现自己对祂的信仰发生了动摇,于是我对我自己讲道,神行事有自己的法则。我依旧每一年都去那泉水旁看看,久而久之,我看不见它,但在我的脑海里,它是一块墓碑的形状,将来我将要带着一切的希望和失望葬在那里。”</p><p>“直到我最后一次来到那泉水旁,祂让祂的孩子现身,用泉水洗净我的双眼。我看见指向伯利恒的明星,从它的光耀中看见无数人的命运。奈拉比斯啊,要相信祂是善的,因为祂从来只给予,不掠夺。”约翰的双眼散发出光芒,仿佛他的双眼能够透过石堡和时空的屏障,看见数十年前明亮的伯利恒之星。“孩子,你终将摆脱你的过去,渡过这条河川。”</p><p>“我不知道,或许你是对的,但又或许我是对的,我一直活在悲惨的境地中。”队长淡淡地说道,“希律·安提帕即位那年,我父亲告诉已经年长的我,我父亲本打算在战争开始时开城投降,以此减少伤亡。但是我敬爱的兄长在得知战争即将来临的时候,瞒着我们带着一支军队到了国境。”</p><p>“希律的军队被他击溃,我的哥哥恢复了理性,带着凯旋归来的军队回到了国都。人们都欢迎他,将他当作英雄,庆祝他的胜利。但是罗马的军团没过多久就到了,希律带着他们将城市付之一炬,并将许多男女带到他的王国做奴隶。我的兄长自杀了,我的父亲被驱逐到了遥远的东方。而我,希律看中了我,他让我认他为父亲。”</p><p>“为什么?”约翰的语气中并不展现困惑与不解,但这句疑问几乎是在队长话音刚落时就说出了。</p><p>“因为他知道自己不可能有儿子,他年轻时候的荒淫无度让他在青春散尽之后失去了能力。那天,他站在曾是我的国民的奴隶的背脊上,让我做他的儿子。但我拒绝了,我知道我可能会死,但是我做不到改易我的姓名,做完全的另一个人。我的父亲和我的兄长离开了我,我是这家族最后的延伸,尽管如此,我仍然做不到苟活。”</p><p>“但希律并没有展现出我预想中的愤怒,也没有让我死,他让我跟他到他的王国,做他卫队的队长。我便在卫队中和那些比我年长一倍的我的下属们一起过着平静的生活,我试图忘掉过去。直到有一天,希律让我到厅堂来,让我拜见他的王后希罗底和公主殿下。”他并没有停下,而是继续讲了下去。</p><p>“那次是我人生中,第一次看见莎乐美殿下,我用言语无法描述她有多么雍容华贵,有多么倾国倾城,我相信无论是在过往的叙利亚王国还是在当下的犹太王国,都不会有比她更美丽或可爱的女人。应该说,我那时沉浸在过往太多了,我忘却我其实已经成年了,忘却了我这样流离失所的人还有爱的可能。但我突然又想起来了,是她提醒了我,我已经渴盼成熟了。”</p><p>“于是我趁希律和希罗底离开去罗马时,在一天的夜里便来到她的房间里,向她求爱,不顾一切,言辞非常的露骨,因为我完全不知道爱是什么,我也相信,或者说我也愿意去相信这个久居深闺的美丽女孩也不知道爱是什么。并且她可以教会我,我也可以教会她。于是我怯懦地对她说,我爱她。我没有说原因,我没有说其他任何东西。她并没有像我预想一样的害怕,相反,她笑了起来。”</p><p>他能回忆起那是一个寂静的夜晚,宾客们都离开了,希律王与王后也离开了,卫队的队员们都已经入睡。他推开白玉的房门,公主正坐在床上,一丝不挂。</p><p>“奈拉比斯,奈拉比斯。”在听完卫队长的告白后,公主仍然止不住地笑,“在这一块,你还是太单纯了些。要我说,你为你自己选的情敌有点可怕,为了你的小命,你还是不要与他争抢我。”</p><p>“情敌?他是谁?”奈拉比斯跪倒在地,用叙利亚人深情的双眼看向在月光下如同被冰霜覆盖的高洁的公主,仿佛白玉大门内的房间与尘世绝缘,她美的仿佛上天派来拯救他的天使。</p><p>“希律·安提帕,我的父亲,你的王上。”莎乐美微微一笑,说了出口。</p><p>“怎么会?怎么可能?他可是你的父亲啊!就算……无论如何,他作为一国之君,干不出这种事吧。”奈拉比斯难以置信,他仍旧看着她的眼睛,却感觉有些迷离,总感觉自己丢失了什么东西,仿佛一切事物都无比清晰,但自己却看不透。有一层看不见的雾,挡住了自己看见显而易见的真相。</p><p>“我的母亲,希罗底,是原先他兄弟——也就是我生父的妻子。你还以为他干不出来这种事情吗?照我说,他可真是个乱伦的惯犯呢。”奈拉比斯依旧大惊失色,不知该做什么,在公主的大笑中跑出了房间。后来他还是没有放弃与她的单方面恋情,二人逐渐熟悉,但离生情还差很远。</p><p>“谁啊?”莎乐美打开房门,却是母亲希罗底从父亲的厅堂走了下来。莎乐美怔了一下,走向了窗畔,希罗底让周围的守卫退散,关上了房门。</p><p>“现在你的母亲遇上一个难题了。”希罗底轻轻地说,“那个施洗者约翰,他说我与你父亲的婚姻是乱伦,还诅咒我必定与丈夫早死,我想要让他先去死。但希律这个废物太软弱了,他不敢杀了这个约翰。”</p><p>“我明白了,母亲。我会帮你的,请告诉我该怎么做。”听到“杀”这个字眼,莎乐美的心微微振颤了一下。</p><p>“你只需要做一件很简单的事情。你的父亲今晚会在宫内宴请罗马的贵客,他们必定会想要看你这个希律吹嘘了很久的公主跳舞。而你要向他要求一个礼物,他自然会答应你,舞毕再告诉他你要施洗者约翰的头颅。这样他在宾客的见证下,他就不得不兑现承诺。这样的话,羞辱你母亲的伪先知就会为他的言论付出代价。”希罗底将计划全盘托出。</p><p>“好的,我明白了。母亲。”莎乐美望向远方的天空,思考着自己为何总是在被操纵中,干着不情不愿的事情。仿佛从出生起,她就时刻是父亲与母亲的谈资、笑料和棋子。而他们如果想要,也可以随时背叛她,就像她的母亲背叛她的生父一样,就像她的父亲背叛他的兄长一样。仿佛她那傲人的美貌也不是她的,而是属于父亲和母亲口中的,而是属于王国的,甚至是属于来自遥远的罗马的贵人们的,但不会是被锁在闺阁中的自己的。她究竟是谁?她忽然想起约翰,想起他那冰清玉洁的皮肤,想起他那可以预言事物的双眼——不,她从未见到过那双眼,所以与其说是“想起”,不如说是“想象”,少女幻想着他从荒野走来,沾染着荒草和野花的气息,论述着不为庸俗者们接受的出世的学说,在清澈的约旦河边给人们施洗。</p><p>不知不觉在思考中,她仿佛爱上了约翰,她和队长一样,都对爱没有哪怕一点的认知。过早的成熟和宫廷的约束让她失去了学会真正的爱的机会。她爱约翰,但她实际上爱的是约翰代表的自由。是啊,约翰可以看穿命运,不会被任何人利用,不像自己,被丢到各种环境中,对于未来一无所知。事实上,在这个世界上,每个人都是与他人彼此掣肘着的社会的一部分,国王也一样,王女也一样,并没有什么差别。但像约翰这样的人则不同,他可以完全的脱离这个令她作呕的社会孤立生存,只做自己认为正确的事情。想到这里时,她决定在那一刻到来之前,要见一见约翰。</p><p>“你觉得他的预言是准确的,奈拉比斯?”希律王用自己那涣散的眼神看向跪在厅堂门前的奈拉比斯,在面临真相的时刻,他其实很平静,“那你觉得我应该做什么呢?”</p><p>“我想到一种可能,或许能够帮陛下逃避死亡。陛下可以让约翰帮你预言死亡的方式,通过这个信息来规避死亡。虽然不一定能避过很久,但值得一试。”奈拉比斯还是跪着,他的头颅沉入厅堂内深邃的阴影之中。</p><p>“你可真是替我着想啊,我的队长。能向我提出这样的建议,也很有勇气。我会接见他,然后将他释放,但今天不行,他已经沾染了牢狱的气味,不能让晚上将至的罗马的贵客们在我的厅堂内闻到这种气味。这是待客的基本礼节,奈拉比斯,你迟早要学到。”希律王淡淡地说道,抚摸着墙壁的细节与纹路,突然仿佛想到了什么,仿佛听到了死神召唤他的声音,他的灵魂和身体开始震颤起来,“对了,奈拉比斯。”</p><p>“王上有什么话要对我说?”奈拉比斯正要走,去见狱中的约翰,他便回过头去看,看见了那挣扎着的君王,“陛下这是怎么了?”</p><p>“我在想,如果有一个人,他很年轻,不分善恶,干了一些错误的事情。但在后来意识到是错的时候,忏悔与禁欲,几乎过着苦修者的生活,也用痛苦的无意义的思考来惩罚自己。这样的人可以被原谅吗?或者说,这样的人可以得到拯救吗?”希律王在墙上顺着纹路疯狂地画着三角形,他想要进去,好像一个无限小的空间可以让他暂时摆脱他自己对自己道德的审判。</p><p>“王上啊,我并不知道。我只知道,当一个人想要祈求他人的原谅之时,所祈求的那个人,若是活着,事情会好办一些。”奈拉比斯看着希律王那焦虑不安的样子,不禁也流出汗来。</p><p>“你走吧,奈拉比斯。谢谢你的答复,谢谢你的建议……”希律王走回一旁的椅子旁,重新坐上。奈拉比斯带上了门,挡住了从外界渗透过来的即将落下的夕阳的最后一丝余晖。</p><p>“你来这里做什么,耶洗别的女儿?”莎乐美打开了约翰牢狱的门,而约翰并不看她和她身后射来的阳光。他在想他唯一困惑的一件事情,一个他命中注定但又不可能达到的事情。</p><p>“我来看你,因为我害怕以后再也见不到了。”莎乐美尝试用手触碰约翰的脸,但约翰迅速地避开,“我的母亲要借我和我父亲的手杀你,只因你的话语,在她眼里是最大的侮辱。”</p><p>“杀我?但这又与你有什么关系?你若只是想与我说这个,就请走,就不要用你的手触碰我,你所追求的,我这里并没有;我所想要的,你也不能赐予我。我与你们许多人就像走在天宇十字路上的两颗繁星,唯有短暂的交错,不得有太多因果。你若是想要有人恕了你的罪,你就到加利利去,那有一位在我以后来的,能力比我更大,我就是弯腰为他解鞋带也不配。你就祈求他的宽恕。”约翰突然站起来,将莎乐美逼向门口,从黑暗中的模糊到靠近牢门时的清晰,约翰的面孔逐渐从幻想和影子的混合变为现实,莎乐美目不转睛地看着这个形销骨立的男人,越来越沉浸于其中,他的眼睛闪着光芒,仿佛里面有一颗星辰一样。</p><p>忽然约翰的身子疲软了下来,就好像一个猎人,终结了数日的围猎。他不理解为何命运的安排如此诡异,他不敢再看未来,他将双眼闭上,将莎乐美推出了牢狱,关上了牢门。刚刚约翰看着伯利恒之星,看见了一个关于死去世界的梦,他很想要告诉她,命运决定她去不了任何地方,她很快就会死。但冥冥之中,有着什么东西,在阻止他开口。</p><p>“我会拥有你的,约翰。只因为这世界上只有你配的上我,所以我一定要将你占有。”莎乐美说着,走离了牢狱。她几乎刚走,奈拉比斯就走进了门。</p><p>“她没有注意到我,我听到了你们俩刚在说什么。希律王会保你周全的,我与他说过话了,你很快就会被释放,只要你为他做死状的预言。”奈拉比斯向约翰说,语气中隐隐的含着一丝落寞,约翰听到有羽翼拍打的声音从四面八方传来。</p><p>“他们要来了,在此之前,我做了两个对自己的预言,奈拉比斯。我这一生从来没有遇到过这样的预言,靠近点,让我讲给你听。”约翰仿佛在莎乐美离开后的某一瞬间变得尤其虚弱了一般,他让奈拉比斯靠近他。奈拉比斯见过很多将死之人,他的直觉告诉他,约翰非常虚弱。</p><p>“这么说吧,一个告诉我,我将会千年不死;还有一个告诉我,我将会在今天晚上被希罗底的刽子手杀害。”约翰摊开手,虚弱地指向门口,“我也觉得不可思议,两次占卜的结果竟然会如此冲突,看来是命运有意让我无法看穿这一切了。真相快要到来了,你千万不要为之辗转难眠。你的命运已经注定,而我的命运快要迎来终结,最终我们都会因此得到幸福,这是你过往以为你永远得不到的东西。所以你……释怀吧,不必为了我的性命奔走了,等到命运到来的时刻,你自然会懂得。宴会要开始了,你上去吧。我不知在我生命的最后该说什么才好,除了这些以外,就只剩下沉默吧。”</p><p>在施洗者的注视下,奈拉比斯推开狱门,走向即将落下的太阳的余晖。约翰蜷缩在没有光的角落里,他感到前所未有的清醒,他没有听错,刚刚是死亡天使在外面拍打着翅膀,他是来带走自己的。那看来,果然第二个预言是对的,自己在死前意识到的最后一件事,或许是自己技艺不精。他突然觉得他的命运有一种诡异的幽默感,于是开始从容地笑了起来。</p><p>在这象征着犹太王国权利的宫殿里,希律王还是身穿不合身的王袍,希罗底还是扮演着王后的角色,莎乐美也身穿着节日的盛装,他们与卫队欢迎来自罗马的姗姗来迟的客人们,尽管客人们注意到了,几乎在这宫中所有人的脸色都很苍白,仿佛被某种疾病缠身。宴会很快就开始了,莎乐美坐在她的父亲旁边,坐在高台上,对于食物几乎没有什么兴趣。</p><p>她在想她究竟是爱他的肉体,还是爱他的灵魂?如果将他杀了,自己还能够拥有什么?自己还能够拥有他吗?她所不知道的是,她的母亲已经下令让刽子手们提前杀死约翰,她的选择无关紧要。</p><p>坐在下方的奈拉比斯仰起头看向她的眼睛,他多么希望她能够看他一眼,哪怕只是蕴含着那少女千丝万缕温柔的一眼,都足以让他放下约翰的预言中,他前去罗马所能够得到的幸福。哪怕这份爱有多么危险,他都敢于去尝试,或许他一直知道公主不爱自己,或许这是事实。可是她的心中只有约翰,她眼中唯一与她一样冰清玉洁的约翰。此时奈拉比斯落下了眼泪,他不知道还要多久才能完全释怀,但或许开端就是现在。只有早些放弃不属于自己的,才有可能到达命中注定的幸福。</p><p>“希律陛下经常提起的莎乐美小姐,今晚在吗?”一位凯撒的大臣在宴会进行到一半时打破了良久的沉默。</p><p>“当然在,当然。”希律拿起金杯,喝了不知多少杯酒,几近要连自己究竟是醉是醒也不知道了。</p><p>“久仰大名了,公主的美名在整个大陆都已经无人不知无人不晓了,我们听说公主殿下会跳一种七层面纱之舞,”大臣对莎乐美说着话,却看向希罗底,希罗底微微点头,打着手势,他便接着说下去,“不如今晚为大家助助兴,不知殿下意下如何?”</p><p>“好,我替她答应了。莎乐美,你尽管跳吧。按照惯例,你可以向我讨一个你自己喜欢的礼物,只要是我所能给你的,我都给你,就算你要我国土的一半我都给你。”希律王面色突然变得红润了,站起身来,走到莎乐美背后。</p><p>“好的,我明白了,父亲。”莎乐美走到月光之下,跳起了七层面纱之舞,她还在想约翰的生死,所以她那宵暗的眼神显得相当空洞,如果仔细看,你能发现,在七层面纱下,她的身体在月光下有时仿佛游散着一样,有时又像是希腊的女神雕像一般充满线条。她是一种天生的诱惑。奈拉比斯看向酒杯,却发现酒杯里也仿佛倒映着她的影子,或许她已经顺着月光映入了每个人的杯中,给美酒赋予甘醇。</p><p>行刑人来了右手执着斧子,左手执着银盘,约翰从容笔直地站着,此刻他听不见死亡天使的声音,他在想他去哪儿了,难道他还没把自己带走吗?</p><p>“跳得真不错啊!那么,我亲爱的女儿啊,你想要什么呢?我现在就兑现承诺,将礼物送给你。”全场为她喝彩,希律王非常得意地看向莎乐美那空洞无神的眼睛。</p><p>“我要约翰的头。”希罗底几乎快要替自己的女儿说出来,她已经提前告诉了她女儿一定要这么做,不可能会有错的,她比任何一个时刻都要愉悦,因为她即将品尝到复仇的滋味。</p><p>“我不知道我要什么,我不知道,我什么都不知道!”莎乐美几乎要哭出来,痛苦地说道。</p><p>“希罗底,这就是你的女儿啊,希罗底!你们听听,在这厅堂之上,还能有比这更富有哲理和智慧的答案吗?我亲爱的宾客们啊,恐怕是你们,也恐怕给不出更好的答案了吧。”</p><p>“给不出了,给不出了,我亲爱的陛下。”大臣害怕地看向希罗底,而希罗底的眼神却出乎他意料的平静,甚至带有一丝玩味和高兴。</p><p>“我曾经是个瞎子,我给人们讲道,在约旦河边。有一天有个人问我,真的有天堂吗?然后我说自然有,然后他就花钱找了一位不信教的屠夫,把他杀死了。那段时间,我一直很热爱做梦,因为我可以在梦里幻想我还有视觉的日子,直到那天,我意识到,梦也可以是很可怕的。我梦到他死了,他的灵魂不说话,只是不停地哭,我闻见那眼泪里有铁锈味,简直不知道是血液还是眼泪。我请人把我送到他家,却发现府里正在给他办葬礼。人们都在为他流泪,在那时,我突然想到——”</p><p>或许追求生时的幸福,要比追逐死后的极乐,多多少少更善一些。</p><p>他没来得及说完,他的头颅便已经落地。行刑人走上台阶,将带血的头颅,用银盘呈上。希罗底露出了笑容,仿佛这颗头颅是一种祥兆。而希律王的面色,则变得煞白,又在辨认出那头颅的所有人的时刻变得铁青。美酒带来的短暂的青春的感受,如今已经逐渐散去,皱纹像标记着他死期的刻痕一样,逐渐地从看不见的角落又一次爬上来。</p><h3 id="Act-3-Crusade-for-the-Promised-Land"><a href="#Act-3-Crusade-for-the-Promised-Land" class="headerlink" title="Act 3 Crusade for the Promised Land"></a>Act 3 Crusade for the Promised Land</h3><p>“所以后来又发生了什么?王子先生?你又是如何到达罗马的呢?”罗马人的语气略为轻佻,当然里面也有对奈拉比斯如此擅长饮酒的敬重在。毕竟这位在酒后自称来自叙利亚的王储的人的衣着并不光鲜,话多的也不像罗马人,而且他甚至连农神节也不知道是什么。而他的故事,确实比不少吟游诗人讲过的神话还有意思,他想再继续听听。毕竟他知道听起来越耸人听闻的事情,越可信,因为人类是无法编造出完全处于自己认知之外的东西的。</p><p>“希律王陷入了前所未有的暴怒和绝望,仿佛他逃脱死亡的希望在一瞬间出现又迅速破灭了,像被蛇含在嘴里,还能勉强看见外面的景色的的青蛙一般无助。他将希罗底关在‘深洞’里,据说那房间有一些他用于幻想的图画,外人是不让进的。我在那之后也只进去过两次。第一次是去送饭,她第一次对我说了一声,‘谢谢’。”</p><p>墙上刻满了蛇,以自身的首咬着对方的尾,像是一个循环。和他数日后第二次进入时,希罗底尸体的姿势一样,他依稀还能想起,她似乎强行扭断了颈椎来达成一个看上去近乎完美的圆。在尸体的外围,用血重复描绘着墙上的符号和图像。</p><p>”只有有所原因的事,才会发生。对于有些事情来说,开始就是终结,终结就是开始。“这是卫兵转告给他的,王后的遗言。转达了这些话之后,卫兵们什么也不说,只是摆出了一副最板正的架势,将枯萎的金枝玉叶置在铜棺中,搬向城墙之外,走向荒芜的墓园。</p><p>走在他和约翰来时的道上,奈拉比斯忽然回神,看向那鲜花,好像它枯萎了一样。但它仍然还是开放着,绚烂地开放着,并不随晴雨而变,更不随人而变。人们只是想当然的,用自己的思维,去以为很多事物罢了,与其说是以为,倒不如说是希望。希望花能共情人,为逝者凋落;希望天能不下雨,少一点麻烦……这些事都不会发生。</p><p>“好了。”奈拉比斯看着卫兵们将皇后埋在土里,隐隐的望见远方的城堡,结构和线条都不甚明晰。本可以百般不同的灰色,被夕阳垂来的光改易成为相同的黑。</p><p>在约翰的眼里,这座富丽堂皇的城堡是不是也像视线尽头的几个黑点呢?在他的眼中,是否一切华美绚丽的宫殿都只不过是历史上无足轻重的小小的石头堆呢?他知晓很多未来的事物,知晓“命运”,是否因此,对他来说,一切的行为都是无意义的,哪怕是他自己的预言,哪怕是王后为了杀死他而作的如此多阴谋?</p><p>他突然生出一丝希望来,既然他对于自己死亡的预言是准确的,那会不会,他也能像预言里所说的那样活上千年?他想起约翰的头颅被装在银盘里端上来时,他的眼睛仿佛看着所有人,仿佛带着一种威严在审判,但这并不是属于约翰的威严,而是属于逝者的威严,他后来才明白那种宽泛也只不过是尸身上眼睛的涣散而已。</p><p>奈拉比斯一行人待在冢前,快要看见月亮升起来,他幻想着沙漠的样子,想着沙漠将要像湖面一样在风拂过之后无限次回归水平,又将要再无限次回归为起伏的波形,他想着湖面上,倒映着皎洁的月光的样子,想象着自己漂浮在水上,在光之中舞动。说到那光,月光其实不亮,其实一切在那时都是暗的,有种他想象中,创世前万事万物都还是朦胧不定那时候的样子,他看到女神的样子。为何总是女神呢?他这样想道,为何总是女子和魔法,和创世,和本源的概念缠绕在一起呢;为什么水波的浮动,让他想到女子曼妙的身形呢?</p><p>他不动不倚,任由波纹将自己推向不同的方向,他感到一切都还是灰色与青的混合,故乡的大海是青灰色的,故乡的天空是青灰色的,溺于影中的森林也是青灰色的,记忆和现在融合成了一种那个时代的人没有见过的,无论如何他也描述不了的青灰色。他感到那约翰身上曾经有过的涣散。</p><p>他们一行人走向希律的宫殿,到宫殿的时分世界已经没入宵暗。他感受到女神在抚摸他,这是他过去未曾感受过的,仿佛在提醒着他,他的行动已经并非完全意义上是他的思维所能够控制和理解的。确实,他并不能够理解,为什么眼前的石棺已然空空如也。</p><p>他离开了吗?是仪式提前举行了,将棺中的身躯挪走了吗?莫非是他复活了吗?奈拉比斯忽然兴奋起来,他不知道为什么,他总感觉既然约翰的最后的预言有可能是同时正确的,那自己未来的幸福,好像也有了保障一般,他感受到一种焦灼感,自己仿佛在蜕皮重生,他感到脱离了过去三向的引力,走向自己本应得到的应许之地。</p><p>“奈拉比斯!奈拉比斯!奈拉比斯!”希律王跪在台阶上喊着,打破了宫中的寂静,他的声音被风带到三角的每一个角落,奈拉比斯看向希律王,他从未见过希律如此憔悴的样子,已经与他在战场上见到的尸体不再有什么区别。</p><p>“我的陛下,你要我为你干什么?”他本可以对灭国仇人置之不理,但他还是将心中的善意说出了口。他究竟是在干什么?这究竟是不是属于自己命运的一部分,为什么他会这么心痛,为了一个毁了自己一切的衰老的可憎男人。</p><p>“我的女儿,我那侄女,我那情人,无论她对我来说是谁,她与她母亲一样背叛了我。她与约翰私奔了。我求你,若是你心中曾有一刻想要认我为你的父亲,就为了我去从莎乐美的手中,把约翰的遗体从她的手中夺回,延缓我命运的审判。我这空洞荒凉的一生中,伤害过许多人,但唯独对你,我是问心无愧的。我驱逐了你的父亲,但我愿意作为你的父亲;我率军夷平了你故乡的王国,但我也同样愿意继承给你一个更大更好的犹太王国。我请求你帮助我……帮帮我吧,在这种危难时刻,请不要放下你的怜悯之心,或许这就是结局,而迎来结局就是君王犯错的代价。”</p><p>大漠苦涩的风间,卫兵们向着西方追赶着,奈拉比斯又一次在月光下看见那个充满线条的美丽胴体,只不过在他的眼中,更加像是一具尸体。美人带着注定不会属于她的那具遗体以一种美丽柔软而细弱的姿势逃离,在月光下像一个黑色的影子,又在无限地向冉冉升起的圆月靠近,她的行迹像一根黑色的线一样在牵引着月球向她靠近,赐予她更多的疯狂。</p><p>“若是仍心存迷惘,就不要掷出长枪。”奈拉比斯看着,右手摸向背后的长枪,但左手又将右手摁住,他还想多看她一眼,就只需要一眼就够了,此时他右眼突然瞟见一个诡异的身影,与其说是瞟见,不如说是一听到这声音,就想到了一个身影——一个他不熟悉、不认识但却知道的身影,他在某一瞬间出现在他身后,嘴里还念念有词。</p><p>“你……你又是谁?”奈拉比斯一边向着莎乐美逃离的方向加速,一边问道。他把自己的坐骑加速到最快,将身后的卫兵们甩得更远。他想要与这个身影说话,但是它消失了,在消失前,奈拉比斯看见他戴着荆棘的冠冕。</p><p>“约翰,约翰……于我而言,你究竟是什么呢?你是我对于自由的最后的想象,是我对于这污秽的人间的最后留念。我曾经在梦里无数次对你说过,我在这个世界上只爱你一人,我只爱你一个人……我渴慕着你的美;我饥求着你的肉;酒也好,果子也好,这个世界上的一切,除了你,不能满足我这种欲望。我现在如何是好呢,约翰?河水也好,海水也好,不能浇灭这种情热。我本是一个公主,你拒绝了我,将我推向远方。我本是一个处女,你把我心里的贞操夺去了。我本是很贞洁的,你把我的血脉里满点着情火。就连死亡也不能把我和你分开,因为爱情的神秘远远高于死亡的神秘,约翰。”莎乐美赤身裸体,一边亲吻着约翰一边说道。</p><p>奈拉比斯已经不知道自己在想什么,在最后的瞬间,他心烦意乱,在恍惚间松开左手,长枪从右手中飞出。他看见两具尸体倒在血泊里,头咬着尾,与她母亲去世的时候的不同之处在于她没有扭断自己的颈椎,而只不过以最舒畅的姿势弯曲着自己的肉身,和约翰形成一个完美的圆形,如同天上的圆月一般。他听见死亡天使拍打着羽翼,带走了公主污浊又纯净的灵魂。他记得自己的父亲曾经在观月的时候告诉过自己,月亮的圆缺代表着疯狂的程度,</p><p>当卫士们赶来时,他们只看见奈拉比斯捧着莎乐美血肉模糊,已经看不清面孔的尸体,而他将约翰的头颅和身躯置入了棕黄色的尸体袋中,月亮还高悬着,苍茫的大漠处于明与暗之间。奈拉比斯骑上自己的马,走上归程,马蹄将其下的大地沾染上血液,显现出一条血色的道路,通向希律王的城堡,他想,他无必用预言与幻想对之多加描绘了,他将看见它,或者它将抵达他身旁。</p><p>于是在他再次睁开双眼之时,他看见宫殿地上血淋淋的十字和六角星,连结上自己血色的脚印,他感觉周围的一切似乎都有些过于不清,仿佛空间成了一块黏糊糊的液体,飘忽不定。他看见从空间中扭曲出来的Zagan,Vapula,Bathin,Zepar之类红色的字飘过眼前,他看见神婆们在绘着孔雀尾羽的马,被一只长着美女脸庞的公羊头咬着的蛇尾,猫头鹰翅膀,并且将他们用鲜血画出的几何图形合在一起,整个宫殿中充满着铁锈味。卫士们与女仆们都不敢说话,就连神婆和罗马的贵人们都选择保持沉默。</p><p>“陛下,”他将袋子中的遗体递给神婆们,他的声音带着颤抖,“我带着约翰的遗体回来了。”</p><p>“奈拉比斯!我的好奈拉比斯!”老国王的声音也带着颤抖,他走下台阶,和奈拉比斯在月光下相拥在一起。但是奈拉比斯感受到的并不是他欲图带给自己的父爱,而是一种空洞虚无的感受,但他越是意识到希律欲求补偿,他的罪孽就显得越深刻。他无法同情希律寻求救赎的感情,他知道希律想要在自己身上找到一个更加圆满的家庭,一个更爱他的家人,但是自己并不是他所寻求的人,这点他究竟知不知道?</p><p>“夜已经晚了。这几日的重负使我们无法同过往一样平静地活着,我现在只想要休息,只想要睡眠,哪怕我不会再次醒来……”奈拉比斯放开国王,走下台阶,将战马牵向马厩。</p><p>“那么,通灵者们,开始吧,让死去的圣人说话,让他回答君王的问题吧。”一个没有双眼,长着胡子的,看似是这群通灵者间的领导者的角色,从袋中拿出头颅,将其抛向宫殿的中央,仪式开始了。</p><p>神婆们的呼喊声盖过了远方的马蹄声,她们长着胡子,却发出女人的声音,她们在仪式中一个接一个倒下,用手握住上一个倒下的人的脚,血的符号和文字开始发光。恶魔们从血肉的绘图中的肉体间显现,头颅飞起来,接上他们虚假的肉体。逐渐地,头颅生出了三具面孔,一具是被抹去的形形色色的人的面孔,另一具是还未降临这世界上的神的面孔,还有一张是属于恶魔的面孔,它朝向希律王,正尖声笑着。</p><p>“我的父亲!我的情人!我的叔父!被称作希律王的那个,你究竟是谁?你让奈拉比斯杀了我,又在这里用我的头颅召唤我,你究竟想问我什么呢?我的体内并不流着你的血,但我是你女儿;我的母亲是你那乱伦的妻子,而你是我的情人;我是你王国的公主,却被国王的卫士杀害。你不觉得这命运的安排很幽默吗,特别是让我与你,在现在对话?你有三具面孔,而我现在也有三具面孔。”</p><p>“停下!都停下!那不是我们要找的约翰!奈拉比斯背叛了我们,他把莎乐美的头颅交给了我们!”从彷徨与不知所措中苏醒,希律王发出了怒吼,但没有人能听得见,其他人看到的,都是他在与头颅无声地沟通,而谁也不敢上去阻拦。</p><p>“对你的原谅将会来自于神,但祂不会到来;对你的救赎将来自于他人,他们却被你杀害。但我来到此地,就是为了给你带来我想要带给你的复仇。我在想,为什么我总是你的困兽,现在答案明显多了,你自己也被困于囚笼之中,你困在过去里,困在内心的挣扎里,困在罪恶的循环里。直到死亡,你的罪恶与苦难才会画上一个休止符。”莎乐美的身躯正在缓缓消散,希律以为这就是解脱的信号,仪式就要结束了。</p><p>就在希律王即将踏出仪式的结界之时,莎乐美消散的血肉却如同针一样扎进希律王的灵魂里,但另外的人,却什么也看不见。他们只能听见不知为何,希律王在大笑。罗马的大臣认为他与约翰的灵魂交谈之后疯了,而神婆们也不敢将真相告诉他们,他们赶在月色还未消弭殆尽,逃出了石殿。</p><p>“在他人的眼中,你的哭泣将变成嘲笑,你的笑容将变成愤怒,你的灵魂将永远被穿刺折磨,即使到了地狱也一样。晚安,我亲爱的父亲,做个好梦。”莎乐美在完全消散之前如此说道。</p><p>“哈哈哈,哈哈哈哈哈哈哈,我明白了!奈拉比斯,我感谢你,直到永恒的尽头。”他蜷缩在宫殿的角落,他用手试图拔下插在自己头上的肉刺,又摊开双手,看自己的手血肉模糊,在自己的影子里开怀大笑着,直到黎明女神缓步赶到,驱散黑夜,而死亡天使紧随她的步伐。</p><p>罗马的话,或许一路向西就能够到达。他看见远方的一队人马到来,说不准是追兵。但他仔细一看,领头的那位头戴着阿拉伯头巾,他于是放下了长枪,调转马头走向那位领头的人,问他们要去哪儿。</p><p>领头的人非常的世故,显现出与年轻的外表不相符的老练,脸上堆满了笑容,说他们是一支商队,要将一批货物送去罗马城。奈拉比斯询问自己能否随他们一起去罗马,领头者说自然可以,但是他仍然建议将尸体袋中的遗体就地处理,否则腐烂之后,很难不被发现,到那时就不好办了。但当奈拉比斯拿出一袋金币时,领头者点点头默许了他加入行列中去。</p><p>“所以现在你把约翰的遗体埋葬了没有?”那个罗马人听完他的故事之后,情绪不知应当如何,他想要为他最终得到的幸福感到欢喜,但又为了命运的波折而叹息。</p><p>“没有。”奈拉比斯说,”我总感觉约翰某一日会活过来,因为他所有的预言都实现了。他对我来说究竟是什么样的存在呢?他是我的朋友吗?还是说一个导师呢?我与他只相处了一日,究竟存不存在真正的友情呢?”他再一次变回了他故事里那个忧郁的王子,与罗马的狂欢节格格不入。</p><p>“说起来,我还没有进行过自我介绍,我的名字是德鲁苏斯·尤利乌斯·凯撒,我是负责罗马城墙建设的贵族之一。我想到了一个地方,可以永久存放这具永远不会消亡的遗体。”</p><p>走出罗马城墙上那唯一看不见的房间,回到现实世界中无尽的湿涩中去,在他关上门的那一刻,他猛地想起德鲁苏斯引荐给他的城墙设计师曾经说,若是不记得这扇门的位置,这扇门是永远不会被任何人找到的。他回过头去看,门已经不见了,彻底地不见了。</p><p>在瓢泼大雨中,他意识到,在最终,命运对所有人都是平等的,这是他唯一的宽慰了。但从远方吹来的风中,他仿佛又一次听见施洗者约翰缓缓道来的预言。那是破碎的影子,在战争中毫无意义的废墟中飘荡,而他从冥界走来,用千年的生命和不朽的语言治愈万物的创伤,正如他治愈自己的苦痛,给予了自己一个崭新的未来一样。</p><p>在忘却那扇门的位置前,他还是想伫立在城墙前,最后再问一句,预言的结果怎样。</p><p>答案在无色的风中飘荡。</p><h3 id="Original-Soundtrack"><a href="#Original-Soundtrack" class="headerlink" title="Original Soundtrack"></a>Original Soundtrack</h3><ol><li>明治十七年の上海アリス, ZUN, 蓬莱人形 ~ Dolls in Pseudo Paradise</li><li>夢幻回廊, ZUN, その他の作品 ~ ZUN’s Strange Works</li><li>東方怪奇談, ZUN, 蓬莱人形 ~ Dolls in Pseudo Paradise</li><li>リーインカーネイション, ZUN, 蓬莱人形 ~ Dolls in Pseudo Paradise</li><li>サーカスレヴァリエ, ZUN, 蓬莱人形 ~ Dolls in Pseudo Paradise</li></ol><p>《明治十七年の上海アリス》是适合第一幕的曲子,《東方怪奇談》是适合第二幕的曲子,《リーインカーネイション》(Reincarnation) 是适合第三幕的曲子。《夢幻回廊》某种意义上来说,是对全篇的一种概括吧。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 妄谈 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第零章 在天堂和地狱间沉浮 Down & Out In Heaven & Hell</title>
<link href="/01/DownAndOutInHeavenAndHell.html"/>
<url>/01/DownAndOutInHeavenAndHell.html</url>
<content type="html"><![CDATA[<p>三途川的河水很凉,上方是滴下的石油,但是汇入河中却成了血红的河水。天之色乃黑色,地之色乃赤红,红色的不朽的曼珠沙华生长着。河上浮着船夫的小舟,是纯白的,船头与他也是白的。大部分时候,船夫不需要摇桨摆撸,由于水会自动将船引向应当到达之地。</p><span id="more"></span><p>“你怎么死的?”在经历了大概几小时的航行后,船夫卸下兜帽,他这才发现她是位苍白的少女。血红的双眼衬得白皙到毫无血色的皮肤单薄至极,乌黑的长发随意地散着,双唇也是血红色的,整体上来说,非常讽刺的是,尽管她的五官和肤色略微有些诡异,但总体上来说她很美,也远远比他更像个活人。</p><p>“我……我不知道。”他仿佛笑了笑,说,“好像是被‘考死’的,这种死法在我来的地方可还挺常见。”他试着幽默一些,他不大想给她留下一个坏印象,但仔细一想,他似乎不会与她再见了,这种做法是无关紧要的,毕竟想到可能只是萍水相逢一时,一切的努力就好像失去了意义。</p><p>“烤死?那地狱可能会让你感觉不太舒服,这里可是永恒不变的‘极热’。”少女笑着说,他发现她理解了他的幽默,甚至用同样的方式来回应他。于是他放下了戒备,打开了话匣子。</p><p>“那可真是太可怕了。”他的手伸向河岸,拔起一朵彼岸花。他将红石蒜一点一点剥开,撕碎,看见里面的金黄色花蕊。他的脑中突然想到一个同样怪异的面孔,却无法回忆起那面孔主人的名字,在天堂游荡太久,自己生前的记忆似乎已经快要不剩多少了,那个人究竟是谁?</p><p>“我看你不像坏人,为什么选择来这儿?”少女摇着船桨,血红的河水溅起来,湿了她的手,那手并不变色,反而是碰到她手的水滴被染白了。</p><p>“我本来要去天堂,但天堂人太多了,于是他们就开始随机抽取天堂之门外的未知灵魂进入天堂。能入天堂之门完全只能碰运气,没有什么固定的条件,是完全不可预测的随机,但也或许只是生前的命运在死后的无效延伸。”</p><p>船夫怔了一下,轻轻一笑:“那这样的话,最近像你这样来地狱的人理应很多吧,怎么我最近还是这么闲?”</p><p>“有许多人等着要进天堂,他们都觉得自己理应进入天堂,他们停留在队伍中、台阶上、门口,期待自己能撞好运进去。”</p><p>“你为什么不和他们一样待在那儿?听你这么一说在那里的你的同人不少啊。”</p><p>“因为停留在那里什么也不会有,什么也不会发生。意志被磨折,无望的等待,我本也想这么干,但我依旧选择下了地狱,这里,起码会发生什么。”</p><p>“我们地狱也没有你之前想象中这么坏吧,你看这山,这水,怪多姿多彩的。”</p><p>“你们这儿……对我来说,不算真的地狱。你读过萨德吗?”</p><p>“我载了他几趟,算读过吧。”船夫与整艘船为河水吞没,但很快就出水了。</p><p>“我不太喜欢他的学说,但有一句‘他人即地狱’我很觉得对。”</p><p>“此话怎说?”桨停下了。小舟似秋日被微风的吹拂远离水中,到达岸上的一片红叶。少女扶着他一步步走上河岸。古老的编钟响起,那船上忽然出现又一个黑影,红叶被水裹挟,向着另一方离去,或许正要去迎另一个在天堂和地狱间沉浮的人。</p><p>“人们顾忌彼此,在平时的生活中,交流与人与人之间的联系存在。不可避免地,人们就要寻求优越感。而人们追求名不副实,追求身份地位,我在这人流中愈发感到行为的空虚,但又不敢也不能停下来,所以我觉得我举步维艰。”周围的景色如同几千种颜色落入了一个大调色盘一般,飘灵着,飞舞着,终于变得浑浊起来,影幽一片。线条似有若无,彷徨流落着似一个个千形万象的魅影,或者说更像是空间的一条条裂缝。少女牵着他的手,即将引他走过一道归桥。</p><p>他试图凭借灵觉去尝试理解走过的一条条路:“这是哪儿?我要去往哪里?”</p><p>周围的黑天鹅绒一般的浑浊的灵明,使他感受到一种令人窒息的温暖,仿佛回到了一个都更简单的时候,仿佛回到了自己更年轻的时候,仿佛回到了自己还活着的时候,或者说,他还没有死,生命的活力逐渐从灵魂里重新迸发出来。但那个怪异的面孔,那个在自己眼前浮现出来,露出诡谲微笑的面孔,不再能够回忆起来属于谁了。</p><p>“你要去下一次,下一站。下一段人生,你要走了。话说你觉得你还会回来吗?”</p><p>“‘我觉得’重要吗?对于这些事情,我从来没有任何的决定权。”他淡淡地说,“我只知道我不会再去天堂的台阶上浪费时间。”</p><p>“别处在下雨。”她的语气有一丝淡然的悲伤,赤色的双眼望向远方,她背对着他。气氛略有些凝重起来,他便没有再往下问。</p><p>无色的云彩伴着阿加尔塔之风,使黑金色的那苦痛的雨水停下了,一个矩形的强光源在远方显现出来,是此世与彼世的境界。二人穿过一片紫色的竹林,此时便到了那境界的下方了。</p><p>“最后的一站到了,你自己走上去还是我带你?”他似乎预感到要与她分手,但是他的内心突然有了一丝依恋。</p><p>“我在依恋什么呢?是这地狱还是她?还是那个陌生而又熟悉的面孔?”他这样想道。</p><p>“你带我吧。”他下意识地说出口。</p><p>“好。”她一步一步台阶向上走,他挽着手,步步紧跟,他感到一种回归。</p><p>“该是告别还是怎说,唉,你下一次再见到我,可并非穿过这一道门了。”</p><p>“你这是什么意思?你怎么知道我们还会再见?”他的话还未说完,一道金红色的光就遮蔽了他的双眼。</p><p>“再见。”暂时失去了视觉的他只感觉到一只纤细的手将他向后推,穿过云彩,穿过帷幔,穿过光芒的另一边……说实在的,这一边是什么,另一边又是什么?他不知道,或许说,我不知道。</p><p>从刚欲之海之下行至人世,从彼岸归航,从死而复生,从梦中醒来,窗外风雨飘摇,42°C的大脑从死亡之梦中醒来,方才知晓那并非转世的一条归桥。但实际上,也很有可能是,我永远不能够知道是真是假。不过……</p><p>若是不追求死后的美好与他人的关爱,那死后如何又不能奈我何。我望着我自己的心,意识在那里承载着,连三途川也无法洗涤的,重金属的灵魂。我戴上耳机,却听到“你的天堂阶梯就位于这细语低吟的风中”,原来里面正放着《Stairway to Heaven》。</p><p>“斯人已逝,生者如斯。或许忘了他也是件好事吧,我确实要往人生的下一步走了。”听了我讲述的怪异的梦和怜月的故事,天连、吴山、小王都不知道该说什么,过了好久,才打了声哈哈,开玩笑似的把这件事情说过去了。</p><p>说到底,我在回忆这回忆的时候才发现,我还是没有彻底从那场梦中醒来,我还是在天堂之门外祈求成为那位幸运儿,我总是会后悔着走回去,只是对着并不存在的机会默默地看。甚至在我第二次见到她之后,在实现我的梦之后。她的那句话究竟是什么意思?我还是不明白着,在现实与梦境中寻求着一个个言之无物的答案,走向一个和过去相同又不同的死胡同。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第六章 滇雪山林 Ouroboros Ring</title>
<link href="/01/%E2%9A%AA.html"/>
<url>/01/%E2%9A%AA.html</url>
<content type="html"><![CDATA[<p>我在各种琐事中,挺过了一轮轮考试,读完了《挪威的森林》,那是来自天明的推荐,我有时也在想怜月与我与书中的主人公与木月有无相似之处,结论是有却不多。其中最大的不同是,我从未真正意义上了解过怜月,哪怕是从数年后的我的视角来看,我对他了解的也不多。</p><span id="more"></span><p>于是就这样,几个月在迷惑与淡然中过去了。创新班的人与中考班的人平静地度过最后一段时光,蒋竹风近乎要被遗忘,准确来说也不是遗忘,而是对昊天的恨意转为了调侃与无视,像《祝福》里写的那样,当泛滥的同情心用完之时,有的看客就要在暗地里嘲笑了,这令我又一次想起小和,想起过去的自己。</p><p>“所以你最后想要去哪儿呢?柏林?程光?”小和露出蒙娜丽莎式的微笑,不知在什么时候,对我和程光发问。我依稀记得,那天是雨天,小和的发丝是湿的,像一团缠在一起的乱麻,红漆的英式宫墙一般的建筑在雨季衬托得格外阴暗却湿暖。程光说他想要去德国,然后便缄默了。</p><p>于是小和以期待的目光看向我,我却深知自己没法说出她期待的那些话,于是我说:</p><p>去哪儿?我无处可去。我原有的梦想的唯一机会已经被我放弃掉了,不如说是根本抓不住。与其说是有选择,还不知说是没选择;与其说是有未来,还不如说是没未来。</p><p>我记得在那时,她即将开口,然而我与她都沉默了,究竟多少本该说出的话语,最终却又永久横塞在了心中,等到我再一次回过神的时候,枯黄的灯下,朱红的墙上只剩我一人的影子了。而那朱红的墙面也隐去化作冰蓝的平滑,天依旧阴郁,杭州依旧是那个多雨的城市,我的影子却不比往常,瘫成一个黑色的圆,倒在地上。</p><p>我像以往一样随意地走向办公室,梁老师还是坐在老位置,抿了一口枸杞西洋参茶,看着我,那眼神再次让我想起了小和。</p><p>“怎么了?看你这眼神,最近有什么心事?”</p><p>“没什么,我想起她了。”</p><p>“她?你这样的人也会有个她吗?不对,倒是应该问是单人旁的他还是女字旁的“她”。”他终于笑了。</p><p>“这种玩笑倒也不必,你不是要去中澳班当班主任了吗?恭喜啊,你还有什么要对我说么?”我快速地扯开话题。</p><p>他的表情变得严肃起来,但又经究意识到不合适,于是又微笑了:“柏林哪,你这个人有的时候太直了,我那次给你检讨的机会,结果你几乎在批斗大家,搞得大家下不来台。那时我觉得你这样的人肯定走不长远,但过了这么久之后,我可能要推翻我之前的想法了。现在,我倒是觉得你会走得比我们都远。”</p><p>“所以这句话我也送给你,希望你能走得比我更远,走向梦想的另一端。另附《传习录》一本,不妨在暑假读读。”我将信写毕,用静电贴贴在《传习录》的封面,然后便走向门外,走向遥远的西南边,小泽不在,我便留了封信在他的桌上,我期待他收到的那一刻。</p><p>我撞见已经入了军特创新班的程光,我还记得他知道小和离开军特时,表情中透出的不甘与失落。他说他寒假要去米兰,签证已经过了。我问他还记不记得那日的谈话,他说那时有太多这样的谈话了,那时我大抵与他和小和有过这么一次谈话,但到最终也记不清了。他说还是像我这样写些东西才好,流年似水,有的事物带着美好几瞬就在记忆里消弭了。</p><p>但我却又说了些落寞的话来,我说:“当我将活生生的人物经作文字的画的时候,我已经在用文字来代替印象。另而言之,写作真实的事物相当于。在那些事物的记忆还留存的时候,就用文字来抹杀它们,最终虚假的记忆会在以住的空巢上自成体系,自欺欺人。过去我曾为此自鸣得意,现在我倒对其带给我的空虚有了特别的感受。很难说我这么做是对的。”</p><p>程光眉头紧皱,看似苦思后说出:“有时候你若是不失去什么,就会被夺去什么。命运与时间在你我这样的人身后追的很紧。有时来不及表达爱,思慕的人早已离开;有时来不及回忆,记忆就会散去,归根结底,你还是幸运的,你还能够想起一些残片凑起来,但我只能在流年里沉浮了。再会!”我听懂了他话里的意思,于是我便没有告诉他那件事,让“她”在他的心中留下一个飘渺的影子。这也是我极少数在那些年干过的并没有一点后悔的事。</p><p>“喂!程光!程光!”程光拖着行李箱,即将走过校门,听见我在楼上的呼喊,转过身来疑惑地看向我。</p><p>“假如,我是说假如,某日我真的将你忘却了,而记住了那一个笔下的’程光‘,你该不会要记恨我吧。”我的语言已然混乱无章,但他听懂了。他唯一的回应是耸了耸肩,然后轻捷地走出校门。</p><p>一个月后,飞向昆明机场的我,怀中紧紧抱着一个黄白色的木盒子。后来有许多熟人看过照片之后,问我那里面是什么,我说,是过去,是我不得不面对之物,是我没发出过的情书,同时也是我的遗书。</p><p>“话说你往前不是提过你写过一篇小说吗?那篇你原打算寄给怜月的,可以给我看看吗?</p><p>“不行啊,因为它已经消失于人世了。已经没有人可以寻到它,将它拿回,再将它阅读了。”</p><p>“消失了?是说把它弄丢了,还是烧了,还是?”天明的眼神略有些诧异,而我的语气趋于平静。</p><p>“不是这个意思,我只是把它放在了一个永远不会有人找到的地方,仅此而已。”</p><p>金红色的寺庙已在远处渐变淡化即将消失,我行在与天一体的湖上,踩着怪石走向另一侧,三面环绕着海拔超三千米的森林。这里四季常春,一望皆是淡淡的青绿色,形成一种没有边界的模糊感,像将万事万物的勾线给去掉了一般,只保留厚涂的大色块。</p><p>湖面平得没有一丝波澜,我的存在与这些树的存在一样,没有给它带去一点水花。就连风起之时,湖面也不大有起伏,只能看得见,云的影子在湖下飞,我的影子被云卷到了一边的草地上。精疲力尽的我在草地上躺下,看着蓝得不真实的天空,没有飞鸟掠过,正如这湖上没有落叶。仿佛我又一次回到人生的黄金时代。看见他,看见过去的种种。</p><p>“奥罗波若是什么?”我问那时如师如友的他,他在本子上画了两条蛇,一黑一白,形成我最熟悉不过的阴阳图象,咬着自己的尾巴,下方注着潦草的“奥罗波若”字样。</p><p>“是个环,是衔尾蛇,”他回复道。“象征着一切都只不过是循环,开始即是结束,结束亦是开始。你以为你能够走出去,却又总在某个达成微妙平衡的地方回到原点。我写过的小说里所有的角色都是如此,他们总是以为自己能够走出既定的历史套路,却只不过是第二次、第三次开始。然后自我吞噬,走向毁灭。”</p><p>“环的中间是什么?”我异想天开地提问道,但我并没有想到怜月因此沉默了许久。</p><p>“环的中间……并不存在什么东西,纯粹的不存在,纯粹的空虚。”我以为这是我第一次看到怜月词穷。但我在数年后才发现,如果让我来描述,我也无法说的比他更精确、更多。</p><p>“那又有什么方法离开呢?”我不知为何,急切地问道。</p><p>“通过空洞进入,通过空洞离开。”怜月喃喃地说。</p><p>或许在高原反应下,我的神志已不清了。在寺里喝了一碗酥油茶后,才在恍忽里走到醉醒后第一个镜头。我抬起头,摸着木桌,却发现那木盒已经消失了,我想,它已经找到它的归宿了。我却还未找到我的。我看向雪山,远方模糊的蓝白色形状,离我如此遥远。我感到它走向我。</p><p>而我走进我的旅店,店主正泡着一壶茶,他问我是否将要离开了,我说是的,在晚上六点前我会走。店主说我不妨坐下喝杯茶再走,于是我坐下了。店里放着歌,是《加州旅馆》,我印象极其深刻,不仅因为这是我第一次听。</p><p>“你可以随时为你的一切买单。( You can check out any time you like. ) “店主背过我的身去,哼唱着歌。</p><p>“但你永远无法离开。( But you can never leave! ) ”我淡淡地接上,却又突然回想起什么。当书写着这回忆的我忆起我回想起什么时,两行热泪已经掉入茶杯,浑浊了我的面目了。</p><p>(《寂白之间 (上)》完)</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第五章 夜黑风高 Midnightmare</title>
<link href="/01/Midnightmare.html"/>
<url>/01/Midnightmare.html</url>
<content type="html"><![CDATA[<p>“所以今天又是什么?”我向押送我的人影说,“不会是101号房吧。”</p><p>他一言不发,将我推了进去。里面是一个巨大的,全是镜子的房间,入口和出口也成了平滑镜面的一部分。我看着自己,也看着镜子反射出的镜子。“人人都知道101号房里有什么,只有你对于它一无所知。”</p><span id="more"></span><p>那个得意的男声继续说道:“但我们最终还是在细枝末节中找到了你所害怕的东西。”</p><p>“你自己。”我在毒气的作用下开始呕吐。在胃里什么也不剩时,我突然感到有什么东西,挣扎着要从我的嘴里爬出来。当我强行将它取出时,我看到它的形态,一只布满血丝并完好无损的眼睛。我不敢看它,只把它丢到远方的镜之墙。但那黑色的眼珠,竟附着在上面,成了一个黑色的洞,而那数不尽的血丝竟分裂扩散开,从镜子里穿过来,刺向我的双眼和喉管,我在这梦里最后的感觉,是双眼的破裂。</p><p>我咳出血来,但在午夜的月光下,我看不清一切东西,我以为那就是我梦中的眼睛。但若非小王的一句“你还好吗”,我将仍怀疑自己正身处梦境。我回到床上,也懒得再做梦,便思考起那件事情的缘由。我一想到昊天,我就想到,在比深黑色更黑的夜晚里,他疯狂地给每一扇门,每一个公告栏贴上万字旗的场景。</p><p>“所以你觉得,这件事是真的吗?”我向天明问:“昊天真这么干了吗?</p><p>我那晚一宿未睡,到了午后仍惊魂未定,碰上天明,便与他将此事相问。他看着我神经兮兮的样子,倒是略微发笑。</p><p>“昊天我倒是不认识,但是我最近却是的确不曾见过蒋竹风。”天明摇着头,“我倒觉得只是别有用心的人在炮制谣言,想彻底搞臭昊天的名声。要知道,他在很多方面树敌无数,而他的那件事把所有人都惹火了,大家有充足的理由反对和造谣他。蒋竹风若是真出了事,想必你我会知道,对吧。”</p><p>“但愿如此吧。”我看见蒋竹风从窗口快要走过,雨从窗户外打来,融下一个红色的黑板上的红字,滴在我的手上。</p><p>天明笑了笑,说:“你看,谣言不攻自破。喂,竹风!”我与他打着招呼走过去。竹风并不正眼看我,他看的时候,我总好奇他什么也没看见,因为他的左眼比我的还要空洞,而他的右眼不断地在旋转,像一个旋涡,好像要把我吸进去,然而终于在一个点安定下来了,在我的左手上。</p><p>我太熟悉那种眼神了,但我不知道破碎过的眼睛如何运作,所以在他攥紧双拳之前,我并不意识到他要冲我来了。在我夺门而逃的那一瞬间,我被猛推了一把,我摔向门口的时候,正想爬起的时候,却发现天明爆发出了从来没有在他身上见到过的力量,他将满脸通红、已然攥紧双拳的蒋竹风制住了,可能并不能够维持多久,我便跑向另外的教学楼,如同透过窗户击打我皮肤的雨点一般。</p><p>然而也恰恰如同打到我的雨点,我打到了另一个人身上。小泽头一回看着我这么惊慌失措地从楼上跑下来,还撞到他身上,幸亏他身材结实,不然高低得像他手里的《我的世界观》一样被我撞飞小几米。</p><p>”谣言很有可能是真的。“我和小泽解释,”我寻思大概是,蒋竹风看见我手上的红色粉笔印记,他想起了那天他在篮球场和昊天争斗时留下的血,然后就失控了。我看的清清楚楚(也被打得清清楚楚),我看见了他的眼睛,有一只几乎不能动,还有一只空洞的像要把我吸进去一样——“</p><p>”首先如果昊天干出了这样的事,学校必将对他采取强制措施。他之前在全校贴满万字旗的时候,就已经得到了一份校级警告处分;如果他再导致这么一起事件,就一定会得到第二份,这绝对会导致他被强制退学,甚至负刑事责任。总体来说,你我都知道他是一个如此无耻的人,但他也是一个最护着自己的利己主义者,这样的人,不会干出这样的事。“小泽冷静的逻辑分析,大理石雕刻一般的面庞究竟让我恢复了理智。但我还是放不下,我知道有很多原因可以否定我的这种假设。</p><p>我究竟是变了,我现在可以做到不吝以最大的恶意揣测别人了;但或许我又没变,我仍然无法在别人的苦难前转过头去。我不知道,当我走回教室的时候,我发现教室里又充满了熟悉或不愿与我熟悉的面孔,而天明和蒋竹风消失了。而恰好,班会课上课了,面色苍白的梁老师走进来,用白粉笔写了两个字”自习“。</p><p>”你们的初中旅程已经快要走向完结了。有时我觉得事情变得不一样了,越来越严肃了。问题越来越大了,越来越难控制单纯在学校内、在我的帮助下解决了。有时一些小小的举措,能够造成永久的生理或心理的伤害。我作为你们的老师,你们在学校的、也许不那么合格的守护者,已经很难再帮助你们了,而且我们很快就要分别了,在下个学期,你们的班主任就不是我了。“梁老师尝试隐藏自己的感情,”我将成为中澳班的班主任,而你们都将在选择或分配后进入不同的方向,初中结束后,我们、你们都将各奔东西。这节班会课本没有内容,我只期望能与你们中的一些人和解,我们好聚好散。还有,最后一段时间,别给我再闹什么幺蛾子。“她说最后一句话的时候,眼角几乎带着一丝泪光,我不知道她的嘴唇微微张开,是想要挤出一个微笑还是说些什么话。</p><p>又过了两节语文课或是数学课,我的思考仍然未能平静。我要去上社团课了,我淋着雨走向机房,却看见一旁的小道里,有一个黑色、矮瘦的身影走过去。昊天?真是他吗?然而定睛一看,却好像是一个初一的小学弟,还带着红领巾。</p><p>机房的配置只能说勉强能在十几年前说的过去,但据说有人之前在这里玩谷歌浏览器内置的游戏竟然把这的电脑玩冒烟了。就在我刚拉开椅子落座时,那个黑色的身影走了进来,那是昊天,不知为何戴着红领巾。”我能坐你旁边吗?“他笑着,像个没事人一样。</p><p>我不敢说让他离开,也不敢真的让他坐下。于是,我耸了耸肩,表示随他便。他看着我笑,我不知道为什么。他坐在我旁边,看样子也什么也没干,短暂的恍惚间,我真的相信了他什么都没干,这一切全是巧合。</p><p>上课之后,我和他熟练地将学生端控制软件关掉。他和我都很长一段时间没说话,直到他突然开口了:“喂,柏林,我说你这么长时间也没主动提问,你不会真的对篮球场的那次事件不感兴趣吧。”</p><p>“哦?什么篮球场事件?”我的背后瞬间有了冷汗,我自圆其说的又一个幻梦被轻易地打破。“篮球场事件”这五个字,彻底地让我对他那只在鼠标上的左手产生了恐惧。</p><p>“就是我在打篮球的时候,我与蒋竹风争球权,要打起来的时候,我说:‘打之前先把眼镜放下来,我可不想赔你的眼镜’。然后蒋竹风愣了一下,将眼睛摘了下来。我趁此机会,用两只手指戳进蒋竹风一只眼睛,像这样。”他左手微微抬起,以极快的速度将左手向远方伸去,直直的中指和食指几乎撕裂了空气。我的一只眼睛突然开始作痛起来,可我不敢捂。我强装镇静,只是平静地听,时不时说几个“嗯”。</p><p>“柏林,我之前可没注意到你这么脱俗,听这么口味重的故事都能像个石狮子一样坐在原地不动也没个响声。别的听这个故事的人可吓坏啦,我和蒋竹风当时也吓坏啦,但他捂着眼睛在原地动不了,我一开始也想要不先叫个救护车什么的,但我觉得还是先去厕所把手洗干净比较好。等我回到篮球场去的时候,蒋竹风已经不见了。”我忍耐着一千句”操你妈“和同情与悲愤的泪水,听着这个人在我面前打趣一般地讲述着。</p><p>“几天之后,我拿到了严重警告,我父亲出了巨额的医疗费,联系了全市最好的医生终于把他的那点视力救回来了一点,但也不多。我本来以为我要被勒令退学了,但你猜怎么着?我之前进入创新班的时候,签了一份合同,其中包括我必须在‘这个学校的创新班读完三年高中’,违背合同的一方将要付出巨额违约金。校方宁愿把我留在这个学校,也不愿意为了这件事支出天文数字。”好像一只蜥蜴在我的颈椎里爬,我仿佛有一种随时要倒下的冲动。或许就是在这一瞬间,我对这地方彻底地失望了。</p><p>”你为什么要这么干?“我尝试用尽量冰冷的语气向这个对自己过去的恶行充满激情的疯子说话,但我忍耐不住了,我几乎要伤感地流出泪来,“难道一个球权就那么重要?比一个人的,或许两个人的人生,还要重要?”</p><p>“对啊,有时候就是如此,这可比你所能想象的一切事物都要重要多啦。如果再给我一次机会,也许我还是会干一样的事情,我阻止不了这件事的发生,因为这就是我干的,不是什么双重人格,也不是突然的爆发,我已经有了那个念头,我就要让它实施下来。我确实很害怕做这件事,我之后想起来也有些后怕,但是总而言之,木已成舟,而我要想的是开一个造船厂还是开着这艘船出去浪。”昊天露出扭曲阴暗的笑容。</p><p>“哦对了,你知道为什么我能拿到那个创新班名额吗?因为在那次创新班考试的前三十人里,有一个人放弃了名额。我在顺位后延后,拿到了那个名额。你猜是谁放弃了这个名额?”他混沌的眼睛像毒蛇一样盯着我。铃声响了,其他人也都离开了,他也走开了,没有揭开谜底,但我猜到了答案。</p><p>我听着似有非有自己的这个故事,好似过了一个永恒,却在虚无的回望中只留下一个不成瞬间的须臾。但在那时,我唯一想做的事情,是去看看蒋竹风,我以最快的速度爬上楼梯,却只在一个灭了灯的幽暗的教室里,看见一个流着泪的天明。</p><p>“他走了。他今天是来办理休学的。你走吧。让我一个人静静。”短句连接着最令人感到怅然若失的几个字符,组成散落在夜半天空中的北斗七星,向无限空虚的空间的极远端飘去。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第四章 腐水迷宫 Rotten Maze</title>
<link href="/01/RottenMaze.html"/>
<url>/01/RottenMaze.html</url>
<content type="html"><![CDATA[<p>循环,再循环,再循环,我整夜深陷在这迷宫里走不出去。接着,我看见那从苍白中探出病怏的身躯的太阳从正西方升起。腐烂的水从四周涌上来,我意识到有什么不好的事情将要发生,然后那死水充盈了我的身体,我的肺,我以为它将亡我,但它只是再推我一把,将我完全地推离这迷宫,让我看见以苍白掩盖空虚无物的天和即将凋谢的太阳。而就在我看见那空白的阳光的时刻,我看见了真正的阳光。</p><span id="more"></span><p>秋日的清晨,在我醒来时,寝室里早已空无一人。我拿起拖把,连脸也来不及洗,赶紧把地拖了个干净就跑下楼去。想吃早饭也不大可能了,最后一年了,一定不能迟到。我并不是因为最后一年了,而对这里留下了怀念,我只是不想要在这个我欲求离开的地方留下印迹。我想要在日常生活的循环中忘却这段时光。</p><p>“那个,翻开报纸到第六页。”作为英语课代表的我,一到教室,就几乎是一定要领着一群不大早读的人早读,那段时间的周二与周四早晨,几乎是我一生中最耻辱的瞬间。领导来检查,我带着读,几乎没有人跟。我摆烂的话,领导和老师说我不是;他们摆烂的话,领导和老师貌似也是说我不是;如果我说是同学们的问题不是我的问题,同学、领导和老师们就会说我不是。不过实质上这三种情况,对我而言都一样,而且我都经历过,这三种情况是一种反复出现的循环,取决于我和领导、老师、同学们当时心情如何。就好像一个无解的迷宫一样,被安置在迷宫中,但是这个迷宫没有出口,只有三条堵死的路,我只能在这三条路中选一个碰壁。</p><p>我见领导不来,回到座位上,拿出《御伽之国的鬼岛》开始写第四章。可是隔壁班的老师倒是来了,还气势汹汹,说我们班很吵,让我们班安静些。我一想这逻辑很可笑,在早读的时候让同学们安静些,这不是很幽默吗?但我一想到说出来,就会成为出头鸟,我就一点不觉得幽默,我就感到迷惘、无助和彷徨。老师让我上去读,我很无奈,我便说我咳嗽,读不了。我装模作样地带上口罩,又拿起保温杯,摘下口罩,大口灌了不少开水。说我不咳嗽是假的,但说我完全读不了也是假的。我只是想找个借口推开这个根本无法执行的任务,就是领读。</p><p>老师气愤地一摔门走了出去,我不知道她为什么生气,如果是因为我的话,那就因为我吧。我想起我干英语课代表也干了快两年了,怎么现在才意识到自己几乎没有真正意义上带读过全班呢?我现在明白了,身处于迷宫中的时候,人们往往会下意识地认为迷宫一定会有出路,如同一切题目都有解一般。我有的时候,想到这里,往往会觉得是存在过这种情况的,我好像成功过,事实上就是没有,可以说我不称职,或者说,我期望着这个难题有一个我做的出来的解法。</p><p>对我来说,这种生活已经在机械地继续着了,直到我离开之前,都会是这样,是一个又一个无解的迷宫。有时候我会侥幸地想,会不会有什么变化呢?会不会有什么不同之处呢?不会,起码在这里不会。</p><p>写着写着《回忆京都》的旋律突然在耳边响起,我粗笨的手指跟随它在桌上舞动,仿佛我真的会弹钢琴,仿佛我真的理解这重复的旋律。我想起京都的同时想起杭州,仿佛我此刻人不在杭州,而在别的城市一般。回忆时,却发现过去的世界里,仿佛没有杭州这个地方,更多的是小区、小学、武林门、西湖,却不是杭州。我对杭州的了解始终很少,我在杭州的生活,一直在一个杭州里面的小范围里做着循环,却与困在一个迷宫里不一样。哪怕是局限在小范围中的我,日日也有新鲜事,也有自己真心所热爱的生活和风景;而在学校里,除了笔墨、音乐和几个朋友以外,我只剩下机械运行的一套程序了。</p><p>我感到沮丧,我知道那虚无循环的程序不属于我的一部分,但我每天每时每刻都要被它驱动去碰壁。我已经知道了我迟早会碰壁,那一切都没有什么好说的了,伪装着努力,伪装着去改变现状,可又有什么用呢?我记得曾几何时,我曾经说过,我是最讨厌虚伪的。于是我又去敲开办公室的大门。</p><p>“这件事对你来说很意外吗?”我笑着说。她拿起我的辞呈,眼神中有一丝迷惑,似乎我的这个决定让她很不解,但实际上我怀疑她很明白我这么做的用意。</p><p>“倒也不是,只是说,我记得你不是这么一个放得下的人。你一开始竞选这个职位的时候,你以最低票数当选,但是又干得最久。而且凭我说,抛去你那些恶习和做事刁钻的怪毛病,可能也干的还可以吧。我记得你之前也说过,要去做一些事情改变班级现状的,你大业未成就功成身退,这对你来说真的合适吗?”梁老师坐在办公椅上,看着我的眼睛说。有那么一瞬间,我看见一年前的她,我还记得那印象,如今又浮现在她的脸上。究竟是我又一次产生了幻觉,还是她没有变,变的是我,变的是我看待事物的方式?</p><p>“我觉得是合适的。我现在已经做出了选择要去参加中考,那么以我的能力,去参加中考需要非常充分的准备,否则极有可能失败。整体上来说,班委职务会消耗我大量的准备时间,综上所述,以我的视角来看,我应该辞去所有的班委职务,用心准备中考。“我不去看她的眼睛,却看见那越来越深的裂缝,在光暗交接处迸发。AI一般的空而无物的发言,用来结束我空虚的班委生活,异乎寻常地讽刺与合适。</p><p>“你不是这么想的,对吧?”梁老师笑了,“但我明白了,你走吧,我接受你的辞呈。我们班也快散了,如果你觉得同学们对你很重要的话,多花点时间陪陪他们吧。我不是早就与你们说过,三年的时间,很快就过完了。”</p><p>“哦对了,还有一件事。”梁老师叫住我,语气急切,仿佛要说什么。</p><p>“什么事?”我回过头来,门外的阳光照进来,照到我身上,却没能照亮梁老师所在的那个角落。</p><p>“没什么。我不需要与你说,你也自然会明白。”她的眼神中仿佛带有着一丝歉意,我懂了。</p><p>“如果是那件事情的话,其实也没必要。”我冲她笑了笑,冲回了教室,与小泽一起趁着课间写了几篇辞呈,一起递交给了许多老师。但老师们几乎都看出来了我与小泽并不是真心想要为了中考放弃职位。我与他是在提前将自己在军特的生活状态放弃掉,在腐水使我身躯浮起,越过迷宫的桎梏之前,我要先切断那曾经让我流连忘返的,一丝一丝的,虚无缥缈的牵连。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第三章 自由意志 Free as Hell</title>
<link href="/01/FreeAsHell.html"/>
<url>/01/FreeAsHell.html</url>
<content type="html"><![CDATA[<p>“文字是一面破碎的镜子,同时以个体与整体存在,折射光,让它显现出千万层不同的精神图像。在思维展开之时,不仅读者被剖析,读者也被剖析了。但看见结构森严的网络从立体的高维结构,总结归纳、消隐为一部简单、清晰又被层层剥离,沦为简单的图画式表达时,其巨大的损失是不可弥补的。在那线格之间,在那缺失的表达之间,人应当填补些东西。”我向坐在我隔壁的王天明如此说道。</p><span id="more"></span><p>我并不认识他很久,但他的大作《咖啡与自由意志》深深使我佩服他的思辩能力。我后来又遇上了他并递上了我狗屁不通的小说。他读后便常与我谈文章,但很少围绕他的作品,大部分时候在讲我的。</p><p>“说变在的,大可不必说得这么复杂。你的言辞像你的那部《御伽之国的鬼岛》一样,诡异离奇而晦涩难懂。”王天明摊开手,“整体来说,它其实并不需要那么复杂,破碎的结构和语言。你若想批判宗教与永恒,不妨更直接、简单一些。话说回来,我看了你的另一部作品,是叫《十三而立》吧。”他提到了它,但我不知道为何。</p><p>“是的。不过它不需要破碎复杂的结构与语言,而我需要。”我苦笑着说出这段话。</p><p>“我感受到一种介于极端荒诞欢愉与极端悲哀之间的东西,事物是荒诞的,但文字中却有种我看着最真切的萧瑟感,那是为什么?是有意的吗?”天明拿起保温杯大饮特饮,而我看着他,欲言又止。</p><p>”我本来计划做一部三部曲,第一幕是喜剧,第二幕是悲剧,而第三幕是闹剧。《十三而立》是第一部,是喜剧。但我并不会写悲剧,所以我放弃了写第二幕与第三幕的想法。”我默默地答道。</p><p>“我倒是觉得这个点子不错,你可以接着往下写。不过我很好奇的是,那股萧瑟感究竟从何而来?你看起来不像是那样的人,确切的说,没有人像你所叙述的小说里的那样的人,没有故事像《十三而立》那样以一种怪异离奇的方式叙述。”</p><p>时间拨回到那个我开始写我第一部小说的下午,三足金乌的潇洒身影浅浅舞落,留下一帘青绿色的天,像一块墨染布,被晴光遗天一束滴下了灿烂的一点。处色的云中,射出一束青红色的光。而我只躺在操场上,躺在一片绵延的青绿中。在那时,我还勉强相信我的生命多姿多彩,偶尔失意、不满,也不过是短痛。乐是绵延的,而痛是短暂的,我便在这诡异的校园中随大流而醉生梦死。那一天,我还不知道发生了那件事。</p><p>两天之后,我回到家,打开QQ,向怜月发了自己小说的前三页,沾沾自喜。然后我就收到了他的死讯。</p><p>他是我人生中第一个教我写作的人,我的良师益友,我竟不知道他的死。但令我自己惊愕的是,我感受到的第一个情感,并不是悲伤而是恐惧。我害怕意识消失,但我更害怕与自己关系密切的人,可以如此突然如此快速地消失在我的生活之中。突然之间我就不敢去拥有,因为我意识到随时有可能失去。紧接着我就产生了一个可怕的念头:不要爱任何人,甚至自己。在这样的心态下,我开始重新审视自己的内心。我发现有一种空虚状态,正在我的内心中扩散,原有的世界观四分五裂。而我的语言也开始丧失其色彩,有一些颜色,从那一天开始,只在我的记忆与噩梦中出现。在内心原本最充盈的基底,出现了一个空洞。</p><p>“圣托马斯·阿奎那认为,上帝是自然状态,绝对的善;而恶是不自然的,是像空洞一样的缺失状态,是像裂缝一样的虚无状态。当我注视任何东西的时候,那空洞只是存在于其中,提醒着我有多么空虚。这就是为何我写了那部小说,我在向我剖析中,打算填补我的空虚。”</p><p>对于我来说,写作一开始是生理行为,是对于我支离破碎思想体系的重构机制,是给予虚无空洞的填充物。我一开始只是凭着想象、记忆与实际排列组合成语句,随意地写下来。但我意识到,这种无意识的产物比有意识的产物更能够代表我与我的精神状态。对于虚无,我不知是在填补还是逃避。</p><p>“你现在还是在这样地写作吗?”点点雨丝透过窗沁来,灰色的云终于要释放它自身。山雨已至,但我仍然不知要走向何处。</p><p>“我觉得完全不是。你我正身处于这环境中,过往繁多的奇人异事都消隐了,轻盈的新环境中的甘甜逐渐由此变为苦涩。在做出选择之后,人们或留下,或离开,但大家的生活都走上了正轨。人们习惯于习惯中,在形成后越来越感受到痛苦。但又无法摆脱,因为那是在灵魂上的雕刻。”我说着,突然感觉某根心弦被触动了,左胸部的肌肉莫名地出现了一种线性的痛感。</p><p>“行,那我先走了。你是去中考班,对吧。我也去了,你还没吃饭吧,快去食堂先把饭吃了。”他边说边上楼,我本想再说些什么,想想还是算了,我走下楼去。</p><p>当我踏下台阶时,我看见一滴水从天花板滴下来,滴到一滩映着灯的积水中。那摊积水的形状像一个眼窝,而惨白的灯像是时刻从虚无中看着我的眼珠。</p><p>我抬起头,看向水的源头。那是淡蓝色的墙面中的一个裂缝,像毒蛇的舌头一般从万物之中<br>吐露出来。我走向右侧绕开,继续向下走去,长廊的影子在雨水中溶化,遁入许多事物,一片晦暗。</p><p>当雨水击中我的皮肤时,我感到一丝寒冷。我为什么要在雨中行走,而不是在长廊中走,如同往常一样。我从不惧怕长廊的黑暗,也并不至于埋怨它“道阻且长”。我可能害怕在长廊中只有我一个人,这会提醒我身边不曾有人伴。走在大道中,仿佛远方走来的人我熟识,仿佛我就不孤单了。</p><p>我吃过个饭,回到教室,看向桌上散乱的美术作业。我并不知道它们为何被放在这里,但我觉得我应当将它们发掉。我那天就干了这么些事情,没做什么别的了。”我这样向郭导说。</p><p>“你相信人有自由意志吗?”郭导突然这样问。金色的探照灯给我与她上色,我与她就这样立在钟楼下,她就这样突兀地发问了。</p><p>“为什么突然这样问?”我有些诧异。她从我的手中接过一个行李箱和一个手提袋,她接着说:“因为我觉得你所做的一切,让你苦恼的一切行为都是出于你自己的选择啊。你如果一直追求你所欲求的那种东西的话,迟早会把自己逼疯吧。即使你不填补空洞,接受它,又会怎样呢?”</p><p>“好,我明白了。”我没明白,她也没懂,我与她分别走向钟楼后的男寝与操场后的女寝,看着我和她的影子越拉越长,我看着我的影子进入黑暗,走向冷色地带。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第二章 水晶之夜 Crystallized Night</title>
<link href="/01/CrystallizedNight.html"/>
<url>/01/CrystallizedNight.html</url>
<content type="html"><![CDATA[<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=25906124&auto=1&height=66"></iframe><p>回忆本质上来说,是蒸发溶剂得到晶体的过程,慢慢地让记忆重新分离重组体现事实的过程,看清那过往自己谬误的过程,最为痛苦,最为透彻,最为清晰。在此之前,要先让它稳定下来,然后再慢慢品味这智慧与痛苦。</p><span id="more"></span><p>“军特高中部的优秀师资力量,可以保证师生比完全大于1,这将会对你们的高中生涯学业有巨大帮助,此外我们的高考数据也年年走高,一本率到达了90%的水平,余杭区第一。“王老师说到这顿了一下,看向正低头打嗑睡的小泽,向他丢去一个黑板擦,正中他的同桌。</p><p>“你们这些打嗑睡、不好好听的人啊。我倒问你们,你们若是丧失了这次机会,你们倒去哪儿?我平心静气和你们说,就凭你们现在的学习水平,去和其它学校的学生比中考,你们就是—”</p><p>“炮灰中的炮灰,他说我们这些想参加中考的人会成为“炮灰中的炮灰。”我苦笑着说。后视镜里现出我父亲的身影,金色的路灯给车里的一切染成金黑色,除了那幽蓝色的烟,从主驾驶座的窗户飘出,他对我笑着,将香丢进烟灰缸。</p><p>“他认真的?”父亲笑着问道。</p><p>“大概吧,我说不好。”车开到一座桥上,清蓝色的江水倒映着洁净的月光,冷色调将纯重的豪奢的金色光芒一扫而空,仿佛我不现实的虚拟的假象,曾让我自满骄傲的幻境,唯余七分钢筋水泥结构的残留物,二分古坟野冢,一分从远方照映而来的冷冰的透析的光。</p><p>“柏林,你要知道,我们一开始送你去军特只是为了作为一个跳板,去杭外。但我们发现你逐渐与这个学校产生奇异的共鸣,它对你的意义也随之而变。也许影响不全是坏的,而你始终都在这个学校有一个巨大的优势:你始终都有选择。无论他们怎么说,无论你做什么事,你始终都有选择,千万莫要在别人的谎言中丧失自己的选择权。”</p><p>下桥之后,两天拐至一个偏僻的小道,周围几近一片漆黑,那车灯如同光明的利剑扎入交影深幽的黑里,但黑夜的朦胧又好像要把这利剑给吞噬了似的。”左转,然后拐回天目山西路。”他开了许久未开的导航,我们都是人,都有一刻会迷路,都有一刻会迷惘。左转之后,我们扎入在路灯下雾气稀薄的大道之中。车不断加速,开得越来越快,我看不清父亲的脸,而一切都变成金色粉墨组成的画景。刹那间,我在这梦魇的加速中坠回现实,我醒来却发现,周围仍是烟雾缭绕,完全无法看穿。</p><p>桌子上的粉笔灰在冬日的阳光下显示着色彩,有时浮到空中,将我迷住。阳光被它挡住,在青灰色的校服上,映出几个黑色的点。</p><p>“你醒着吗?”我摇了摇小泽的身体,他微微一笑,作为问题的回答。</p><p>小泽伸了伸懒腰,捡起不知被谁撞到地上的《自然哲学的数学原理》。他将书翻回29页,放回桌上:“你知道我为什么完全放弃了留在军特的念头吗?”他辛酸的表情越看越像自嘲。</p><p>“我完全知道,没有人比我更明白。”我脱不藏青色的外套,“好子爵进了麻风村,他让麻风病人们不要寻欢作乐,要他们尊从道德准则,却将他们留在病痛与虚无之中。我不禁要问一句,这样做到底是好还是不好?将假的欢乐带走,却让我们承受这莫大的痛……”</p><p>“你不是鲁迅,我也不是钱玄同,何故在这里做无谓的铁窗之辩?你走吧,我再睡会。”小泽趴下了,众人都早已离开,奔向食堂。军特不知为何,将墙涂上了一层天蓝色的漆,但眺看外间,却是惨白的天。高挺的乌黑的树与发亮的黑色塔顶,将这寂白切割开来,而我只是看着,我在这冰蓝的房间向外望去。我透过冷冰的铁窗向外望去,仿佛我是它的一个囚徒。我想,坐在笼子里被牛车拉走的愁容骑士,想必也是我当下的心情。</p><p>“啊!”我叫了一声,声控灯打开了,我在金黄色的灯光下又走进漆黑里,打开门,却显出冷白的光。我怎么又走回冷色调了?难道这一切,都在催促我做出选择?</p><p>“我回来了。”我默默地坐到桌旁开始吃晚饭,他们也都知道我因此而心事重重,所有人都没说话。</p><p>饭后我走进一片漆黑的房间,Retina屏幕幽蓝色的光过于微弱,不足以照亮我的身躯。</p><p>打开“钉钉”,打开表单,我看见那抉择,我看见那选项。我最后一次分析,在我选择之前:创新班独立上课,作为实验班必须留在军特高中就读;英高班,独立上课,作为军特高中预备班;还有最后一个,中考班,必将离开军特,凭中考成绩参加普通高中,最自然又困难的方式,最令人害怕的方式。我怕什么呢?我想,我害怕真相,我害怕知道自己不适合应试教育,我害怕自己失败,然后一无所有。</p><p>直到那时刻迫近你有可能意识到作出选择前的紧张与准备是无意义的,因为做出让自己不后悔的决定是不可能的,无论做什么事都注定要放弃一些可能得到的东西。</p><p>“第一志愿:中考班。第二志愿:无,确认提交?是。否。”我将鼠标挪向“是”的选项,仿佛看见我坐在军特创新班的教室里,有一瞬间,我看见从窗中,屏幕中、门中,射来蓝色的丝影,那是我本能拥有的人生。“是“与”否”,简化为0与1,模糊为真与假,二元对立,是对未知的天堂与地狱的选择。我想要享乐与轻松,还是真正地“成全”自我,到达更高的境界?或者说,其实都一样,并没有什么区别?</p><p>“所以你为什么选择不来军特创新班,而是要去尝试中考呢?”王老师面色铁青地发问了。</p><p>“和任何人做出选择的原因一样,我觉得我能搞定它。”我掩盖着笑意,但王老师明显不满意。</p><p>“有自信是好的,我回头再找你聊,我先和其他同学聊,你先走吧。”我迅速走出了办公室。<br>我走过天蓝色的回廊,走回教室。小泽是下一个,他问我我们聊了些什么,我说没聊什么。<br>我走在白光充盈的房间里,过于寂静,过于肃暮,过于单调。坐到座位上,沉默着无事可做。窗外的白玉兰枯萎了,再也无法激起我的一点哲思,曾属于诗人的灵感在蓝色的监牢里枯竭了,我一次次用笔尝试描述些什么东西。但又屡屡失败,笔墨散尽,纸张破碎,我还是无法表述自己,哪怕是最小的一部分情感。此时我又想起我当初为什么开始写作,于是我含着泪写下下一个注定不会长久的诗篇的开端。</p><p>我再一次感受到那种撕裂的空虚感,在每一件物品中,在每一个人中,我不能不注意到那深藏的空洞和裂缝。我开始问自己一个问题,我的选择是否真的有意义。</p><p>而当我日后注目这幻想的回忆。我只看见朦胧的影像,是深蓝的江面上,倒映着洁净的月光。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>寂白之间 第一章 死亡之舞 Danse Macabre</title>
<link href="/01/DanseMacabre.html"/>
<url>/01/DanseMacabre.html</url>
<content type="html"><![CDATA[<p>红色的帷幕下有许多奇装异服的异人,屏幕上空调多彩的背景前,有着对我来说唯一的实际表意物,即字幕。毕竟演员自己不一定理解台词,理解了也不一定能表达出来,表达了我也不一定能看懂。为免除前两者的表意误差,我还是决定看字幕。《罗密欧与朱莉叶》,音乐剧,嘈杂的人群,一个试图从抽象符号中看见一些实际之物的人,还有一个注定的不眠夜。</p><span id="more"></span><p>这场表演是经历选拔之后全校精心编排的演出,出于我们的演出除了些小意外,我们班没有入选。做了检讨之后,我的声名日益狼藉(据我所知,是一个叫董高的在带动),大家觉得我不肯承认错误,更该批判。我在这戏剧节剩下的几日,注定不好过。</p><p>事实上,我当时不算好过:小泽郁郁终日,小王尚未恢复心态,郭导也见不太着,班长不久就要走人,转学到别的学校去“重新开始”。我沉默寡言,大家又觉得我犯了返错误,还会已然排挤到了班级的底层。于是我平日的午休都到图书馆去,与尼采和王小波倾诉我的愁恕。我那时的幽怨并不让他人知道,大抵是件好事。</p><p>总之那几天要是算有什么新奇的事的话,那便是某个周三的下午,我与小和去语文办公室拿作业。出我意料,是赏析一些范文,我粗看了一看,有一篇叫《咖啡与自由意志》的,论证清异灵奇,可以一看。我正打算上楼时,班长把我叫住了。</p><p>“你过来,我问你。你愿意保护我吗?”我身旁无一个人,走廊不大亮堂。此时发秋风,枯叶飞过我身旁,远方的天空是灰白色的,云彩层叠为景……我为何想这么多,正是因为我不想更不会回答,我正在痛苦地找一个转移话题的方式,但什么都不是。我只能冷冷地看着她,她难道不知道问这么一个问题会让我多么痛苦?</p><p>她不会不知道我当下的处境,我甚至有一瞬间小有怀疑,她要在离开之前将对班草用过的招法如法炮制。我根本不知道该怎么用语言来与她沟通了,破碎与伤痛将我击溃了,我没有说一句话。这让我感受到一种侥幸和懦弱。</p><p>于是我抱着那一叠纸飞快地跑上楼,放好之后,尽力忘掉这一句话。可我忘不掉,我不理解,这总令我感觉介于被要与辜负她之间,笔尖闪出青色的光,我提起笔开始写,我写不出来!我不能表达什么,对于此事,我无以描述,我唯能在寝室躺下,我唯能再陷入睡眠。但我辗转却不得入睡,痛觉不曾消减,我就这样在床上畏缩了数个小时。而我回去时,小和的座位上已经没有东西了,什么也没有了,人也不见了,她就这么消失了。</p><p>可悲的是,这也是我与她最后一次见面,而这一切,竟然都不明不白的结束了,我不能知道她有无恶意,对于当时与之后的她,我什么都不知道。我很抱歉以这种带有恶意的方式去揣测她,我也不知道那些日子里发生了什么,在昏暗灯光下的想象中,我又浪费了不知多少时间。直到现在,我还是认为,在她消失之前我与她还是朋友。</p><p>“那便让这混乱开始吧!”台上的家长身穿红衫,走至台前厉声而歌。字幕的滚动如同流水不断地敲击琴键,输出无数的音符,无数的信息,无数的问题,无数的答案,时间在我痛苦的悲鸣中消失不见。失去并不是最大的痛苦,失去价值才是,她的行为与消失告诉我,无论我们二人之间的友谊是真是假,都已经没有了,没有什么撕心裂肺的结局,没有什么苦痛和伤怀的告别,只是永远不可能再度存在,再度具有价值的虚无。</p><p>麻痹了我疲软的神经的,是什么?我时刻想起那种在未曾预期的分别是悲痛与哀伤,那是只属于我的情感基调,是永远无法改变的悲凉色彩。</p><p>在漫长的痛苦中,我走向另一层台阶,往上与往下已不重要,重点是行走的过程,所有演员开始舞蹈,这意味着什么?唯有欢乐与死亡,但究其本质,不过是一场舞会。</p><p>“王天明同学是吗?”我拿回递给他的纸笔,刚从台上的明星状态回到正常状态的王天明非常淡定地给我签了个名,显然这对他很平常。</p><p>“是给班里的女生的吗?”王天明笑了笑。</p><p>“我是想自己留着,我确实很像要《咖啡与自由意志》作者的亲笔签名。”</p><p>“这样啊,”他不禁笑了笑,“那你觉得写得如何呢?”</p><p>“文章非常的优美绚烂啊,只不过呢,我有些小疑惑,你在作品中提到的美式拿铁是什么?我不太喝咖啡,不太懂。”</p><p>他瞬间变了脸色,不过瞬间又变得轻松起来,“话说陈伯林同学,你平时写东西吗?”</p><p>“略写一点。”我笑了笑,我与他看着彼此,走向操场的深处。</p><p>如同马可·奥勒留所说,在这场戏中,有多少人演不到三幕?既然要在舞会中舞蹈,就功莫草草离开,而要以胜者的身态旋转。这机会不可多得。</p><p>“所以你觉得军特创新班如何?”王老师的一句话把我拉回了现实。与我过往来时不一样,这个办公室还是崭新的时候,我还能在王老师面前冷嘲热讽,嬉笑怒骂。可是现在我突然感受到了一种严肃,我仿佛在冥冥中意识到了某种事情将要来临,将会改变很多。实际上,在这么一段极短的时间里,我与她的聊天方式已经改变了很多了,从愈发诡异的眼神交流中,我看向一个空白的墙角落,那里竟然从无而有长出一条裂缝来。</p><p>“是非常好的项目,可是……并不适合我。”我轻描淡写答道,他注意到了我的心不在焉。如同很多东西一样,我会赞美它,可我并不认同它。原来那里一直有条裂缝,我想起来了,只是我忘了而已,但是我为什么会忘却它呢?况且我怎么会有,看见那条裂缝在影子里生长的幻觉?</p><p>“你这么优秀,我们的创新班怎么会不适合你呢?”他的语言步步紧逼,我自知走为上策。</p><p>“我下节课快上课了,王老师,我们下次再见吧。”我向后退去,走时带上了办公室大门。我没有去看她的眼睛,我不知道她是什么心情,什么想法。我也不知道我在干什么,是在逃避还是做出实际意义上的抉择。</p><p>她的廉价赞誉让这件事变得更加无趣,事实上,我对军特创新班并不曾有何期待,我初中几年最大的一个目标便是从这死地里爬出去。无论开什么条件,我也不会爬回去。</p><p>我经这么一提醒,终于想起来那时候要近了,中考当前,我终究还是要做出选择。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 寂白之间 </tag>
</tags>
</entry>
<entry>
<title>无韵之歌</title>
<link href="/01/WordsWordsWords.html"/>
<url>/01/WordsWordsWords.html</url>
<content type="html"><![CDATA[<h3 id="闻《凋叶棕》"><a href="#闻《凋叶棕》" class="headerlink" title="闻《凋叶棕》"></a>闻《凋叶棕》</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">雨过石楼夏入秋,孤荷残叶谁来收?</span><br><span class="line">临春偏感萧寒意,苞花散尽君见否?</span><br><span class="line">叶凋树枯人落泪,无言语默失其所。</span><br><span class="line">何必分别感涕零,万水千山曾踏过。</span><br></pre></td></tr></table></figure><span id="more"></span><p>听了上海爱丽丝幻乐团《东方妖妖梦》的一首名叫《凋叶棕》的曲子,由感而发。本来是按照木兰花的韵做的,但是最终无论怎么改还是对不上调调,就算了吧。</p><h3 id="望海潮·千脉忧思"><a href="#望海潮·千脉忧思" class="headerlink" title="望海潮·千脉忧思"></a>望海潮·千脉忧思</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">千脉忧思,随秋风起,冷凄忧怆清荫。</span><br><span class="line">万川哀水,挟热泪去,忆起如燕身轻。</span><br><span class="line">少时好光阴。无伤无思虑,心明如镜。</span><br><span class="line">映见五蕴,一往无行少年勤。</span><br><span class="line">天水凝血成冰。看败棕凋叶,衰落凋葩。</span><br><span class="line">湖面灵明,四起水花,悠然烟起远家。</span><br><span class="line">闻古寺钟遐。叹不如意事,十有七八。</span><br><span class="line">试看荣华一瞬,不过冢头花。</span><br></pre></td></tr></table></figure><p>“冷凄忧怆清阴”实际上用典“悄怆幽邃”(这种多个表示同一感受的词连用很有感觉)。“映见五蕴”的“五蕴”二字本系佛教用语,不知我用的恰不恰当。</p><p>“闻古寺钟遐。叹不如意事,十有七八。试看荣华一瞬,不过冢头花。”这一段实际上是我的一位朋友帮我改的,我的原文是“心思旧难发。闻远方笙音,古寺鸣钟。人生恒常失意,荣不过塚花。”不得不说我的这位朋友真是才华横溢,只改几句,却将诗句和意境拔高到了一个新的层次。“塚花”典出《东方花映冢》,无需多言。</p><h3 id="虞美人"><a href="#虞美人" class="headerlink" title="虞美人"></a>虞美人</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">纤纤玉指细细弹,淡淡声声慢。</span><br><span class="line">悠然回首眉眼潸,郁郁幽幽垂下发縿縿。</span><br><span class="line">点点琴声鸣哀乐,寒寒忐忐忑。</span><br><span class="line">阑出起乘返山鹤,缓缓飐飐归故里为客。</span><br></pre></td></tr></table></figure><p>听好友弹琴,却生起一丝思乡之情。但倘若我此时归乡的话,想必是“儿童相见不相识,笑问客从何处来。”</p>]]></content>
<tags>
<tag> 写作 </tag>
</tags>
</entry>
<entry>
<title>日记八集:琐事雨谈</title>
<link href="/01/HopelessTalkWithFiends.html"/>
<url>/01/HopelessTalkWithFiends.html</url>
<content type="html"><![CDATA[<p>“下大雨啦!同学们记得打伞!”食堂的一个大伯卖力地喊着。</p><p>英特食堂门口未曾有一把伞,大雨却出乎所有人意料地下起了。我身上只一件单衣,不便过雨走路,学校的伞价格颇高,我买不大起,我便请求一旁与我同行的小王同我一起绕行一个通道。那通道人不少,但很黑很长。</p><span id="more"></span><p>“下雨实在是一件不便的事,人也变得不喜起来了。”我说。</p><p>“嗯,你说话其实可以更明白一点,没考上是吧。”小王比较直白。</p><p>“那位考上了清华,<a href="https://www.yt-blog.top/">元气</a>…我们也假设他可以轻易上C9的大学,他起码是天才。怎么就我一个如此落魄?”我这样地说着。</p><p>“莫要灰心丧气嘛。你实在不行也可以去考杭外剑高的啊!”小王拍了我一下。</p><p>“杭外剑高又不是杭高国际部,校考没这么简单。”</p><p>“倒是。那杭高的卷子是简单。有道压轴计算题是,Expand (a-b)²,真是令人哭笑不得。”</p><p>“是不是有位高人在考时还问(a-b)²不是已经因式分解过了吗?这笑话不是很久了吗?”</p><p>“说到杭外,你试过去考吧。”小王突然插了一句。</p><p>“对,我摇号中了,可未进。”我说,“那时我可太蠢了,未曾把握这样的机会。”</p><p>“老兄,这机会可不是你珍惜便能拥有的啊。话说你当初如何知道的?”</p><p>“那时,我父亲见我有些赋,便让我去试试。我那时哪里晓得学校的优秀与否?有机会考,那便去考了。那之前,我已去过几次英特,了解了这两所学校。”</p><p>“我头一周进英特是在五年级的一个假日,我记不得了,好像是在此操场上开着无人机在那里玩。我当时还看着许多人的露历表——那时我似乎在一场竞技中失败了,故很看重奖项之类华而不卖之物,现在想想,那可太肤浅了!——但我那时看着那些‘成功人士’一般的笑容与一个个大奖项,心中催生了恐惧与犹疑,我仿佛觉得我不配在这里,不配与他们在同一处(现在想想简直是笑话)。我郁问了一天,我的父母很忧虑我的心情,也将时间用在了安慰我上,玩的不大开心。”</p><p>“自然也不是真来玩。不过那日我有一个意外的惊喜,我头次见到了我当年未曾见过的藤蔓。说真的,也见过,但如此大规模的生长,在我眼中,倒是一个奇观。那时我很惊奇,以为是常见的。那时的我看见的是代表着生气与生命的藤,现在我看着却像是崩坏的大楼的一道道伤痕,我不知道为什么我会对待事物有如此之大的不同,现在我知道了,我在这里度过了三五年。”</p><p>“后面的事,太大抵都记在<a href="https://chuishen.xyz/01/thirteen">《十三而立》</a>里了吧。”</p><p>“却还有几件小事。我去参加了英特夏令营,得了一等奖。按老例,是可推荐免考入学的。”</p><p>“这我清楚,可……”小王自己的脸色也阴沉起来,仿佛想起了什么。他也是英特夏令营的一等奖学员,和我一样,过去都曾幻想拥有过那种应许的权利。</p><p>“英特对于我小升初那年改革了,咱不用考试,摇号中了就能进。这倒不是最坏的消息,杭外的直升考试资格被撤销了。而我去英特,却只图一个这个条件。学费却是长了,生源与我想得大不一样。当年在夏令营的努力白费算不得什么大事,而这些才令我对它和自己失了信仰。”</p><p>“我们需要在对未来无能为力,无所适从,一无所知的时候对重要的事情做出抉择。而这些抉择比人生中的一切都重要,仿佛它们决定了我们,实际上,这些抉择什么也不是,真的什么也不是,我们与它们打交道的时候甚至都不知道它们是什么。可是他就是能够影响你的未来,他就是一个拐角点,一个没有人熟悉,没有人看透,没有人理解的拐角点。你以为你有选择权,可是选择权真的在你手里吗?你以为努力过就够了,但是过后一定会有结果吗?拐角点之后是什么,等你穿过拐角之后再去看,真的已经来不及了。”</p><p>“我几年前以为,好学校,好高中,好大学,这种词汇是很轻盈的,就和从嘴里吐出这几个词一样简单。我现今正为三个在我眼中更简单的词而奋斗,那便是’上普高’。你倒觉得我失了自信,但我的自信又在哪儿呢?我们几何时有过自信,来源于何方,成绩?排名?抑或是实力——你还要把它换成许多许多大奖,拿几十个省第一或第二。”</p><p>“在这样的生活中,自信从何而来?”我走出通道,是青白的天。阵雨时来时去,我已习惯。</p><p>“雨停了,我们走大路吧。”小王走向积水与沥青的路。他没有回答。</p><p>我与他一言不发地从大路走回了教室。我与他都不知道该怎么回答。</p><p>但雨还在下,正如对话时那样,但我的心已然在犹豫要不要去买伞了。</p><p>(作于2023.4.15,发布于2023.7.29)</p>]]></content>
<tags>
<tag> 文学 </tag>
<tag> 日记八集 </tag>
</tags>
</entry>
<entry>
<title>游记:黄鹤楼的遗憾</title>
<link href="/01/TheFallenReconstruction.html"/>
<url>/01/TheFallenReconstruction.html</url>
<content type="html"><![CDATA[<p>公路片的开头,我们先是从杭州一路开到武汉。武汉大学的樱花没有看到,倒是看到了这座城市被病毒留下的阴影,核酸的队伍很长,挡住太阳的视线,将夕阳的影子留下。</p><span id="more"></span><p>然后黄鹤楼是一片黑压压的人影,楼下是一片现代装修风格的所谓「古街」,这古街修的没有半分古色古香的风格,卖的基本是儿童玩具,纪念字画,正如无数类似的景区。我只是想登上黄鹤楼,去看看这究竟是什么样的景色。什么样的景色会让无数人前来留下墨笔无法描绘的回忆?</p><p>我们去的太迟了,便是白天的场也赶不上。我隔着一层门,只听到里面叮叮咚咚的响,我问这是什么,他们说这是表演。此刻的黄鹤楼便成了鲁迅先生小说中咚咚惶惶的戏院了。我说等会吧,母亲提议先去吃饭,我们便去吃热干面。有名的馆子有的并不开门,也有的少有客人。我们从杭州这个大暖炉奔赴武汉「避暑」,的确要被笑话痴傻。苍蝇馆子门口杂乱地停着小轿车,半新的木头桌子侧摆在行人道上,我坐在木椅上,喝着我几乎不喝的可乐,只因火锅的辣味刺激了我的味蕾。火锅的热气飘来,向我展示了武汉热气腾腾的朝气,窗外的被云遮住逐渐显得暗淡的阳光映出远方灯光璀璨的黄鹤楼的轮廓。我开始思考为了先人的文句,寻访这座被污染的名楼究竟是不是一个正确的选择。我想体会「感极而悲」的含义,是这让我来到这里。</p><p>父亲告诉我,如果此刻登上楼去看,我可能只会失望。须知黄鹤楼不是原先的黄鹤楼了,搬迁了数十次的它已经不再是前人登过的了;而景色也不是当年的景色了,木石的土地成为了钢筋混凝土的地界;至于人,此刻上面游客人满为患,戏子敲锣打鼓咚咚惶惶的响,相机、手机拍摄声不绝于耳,我看到那些人,我还能保有我自己的感情吗?哪怕我爬楼梯爬得慢一些,都会被谴责的快节奏,难道就是我真正想要的吗?我来黄鹤楼,究竟是为了寻找什么,为了避开什么,为了逃离什么?哪怕是登上这样的高楼,哪怕是这样的思想者们所汇聚过的地方,我也找不到能留给我个人的感情空间的地界。</p><p>我们便并没有登楼,而是远去秭归,屈原的故乡。离去的路上有晚霞的送别,我仅仅在天空中望见青红色的阴影与城市的灯光。橙色的日轮在远方默默的沉下水去,其实它离我们有八光分的距离,我们所看见的颜色,都其实是在几分钟前的,经历了地球的大气的渲染,呈现在我们的视网膜上。在风中残破的须臾的景色已经在我的心中离去,心中残留的是阿加尔塔之风吹来的幻想的永恒。记录下来吧,这每一瞬间的记忆,多少掺杂着几分不真实。某些人将人所促成的景象,人所残留的印象,人所描绘的画像,全部改写为一种模糊镜面的反射,让我不再能够看出原来的风景。或许正如范仲淹从未登过岳阳楼却写出了《岳阳楼记》一样,我未登上黄鹤楼,或许我对他心中唯美的印象反而显得更加的真实。</p><p>后来我们也没有去秭归,车从欧若拉的领地驶向尼克斯的领地,我们便停留在更方便明天赶路的枝江。顺带一提,枝江金湖大酒店服务做的很好。我们在那里睡了一个安稳觉,然后第二天吃到了湖北的特色早餐。我们并没有留给这座城市过多的留恋之情,早上九点大概也没到,我们就出发前赴重庆。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 游记 </tag>
</tags>
</entry>
<entry>
<title>醉月追忆</title>
<link href="/01/46years.html"/>
<url>/01/46years.html</url>
<content type="html"><![CDATA[<h2 id="序"><a href="#序" class="headerlink" title="序"></a>序</h2><p>隐岐之国,自古为大和国放歧之人之地。受歧之人,多会于此。其位于蓬莱之岛之南,出云国之北。今夜远望,念隐岐国故人。新朝自有雅政,大和国维新,尝有奇人异士自隐岐之地而来。越明年,奸臣进谗言于天皇,天皇将隐岐之民与罪人遣回隐岐之国。令人唏嘘不已啊,好不容易,有一个新的势力,一群正要走出黑暗的被歧视的人们终于可以在新时代站起来,来一场轰轰烈烈的革命了,但是他们却什么也没有得到,他们几乎就看到了光明,然后就又一次成为了罪人的代词。异哉,异哉。</p><span id="more"></span><h2 id="正文"><a href="#正文" class="headerlink" title="正文"></a>正文</h2><blockquote><p>寄思于云月一轮,空度此生不羁魂。<br><br>星虚月幻空眺望,归来以障自叹息。<br><br>千秋隐岐万载忆,四时化尘作星光。<br><br>怒莫如后羿射月,长相思久久难忘。<br><br>醉莫如银树之恋,瞬一梦破生死相。<br><br>秋雪飘飘掩月面,别时圆聚时不现。<br><br>莫怨我不解秋意,只缘身为蓬莱人。<br><br>玉枝化作不死烟,随风飘零散人间。<br><br>月恒存来去自如,人无常生死无间。<br><br>望月者悲秋伤春,登高者宠辱偕忘。<br><br>变生喜悲苦生死,不变有常作轮回。<br><br>若非深知此生苦,谁愿孤寂尽一生?<br><br>天宫铜月冷几分?人间四月烟火存。<br><br>怀故但愿人不久,将此不公人世变。</p></blockquote><h2 id="后记"><a href="#后记" class="headerlink" title="后记"></a>后记</h2><p>我把自己看作挑战权威的人,我真的有这个能力吗?还是说?</p><p>「话说为什么要在今天纪念那些没能争取一次轰轰烈烈的革命就又一次被流放的隐岐之人们?」</p><p>「怎么说呢?过去,湖南教员……算了大家别多想就是了(笑)。」</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 诗 </tag>
<tag> 正确的中肯的一针见血的 </tag>
</tags>
</entry>
<entry>
<title>寻找深秘——《十三而立》完稿一周年纪念篇</title>
<link href="/01/FindingOccultism.html"/>
<url>/01/FindingOccultism.html</url>
<content type="html"><![CDATA[<p>《十三而立》其实是我迄今为止写过的最长的小说类型文,如果硬要说在计划内的最长小说,那应该就是还在写的《白银树之恋》了。其实《十三而立》在原本的计划内是有上下篇的,并且上篇早在一年前就写完,下篇其实也写完了,但是由于不成熟没有发上来。对我来说,它的润色工作是很困难的,特别在文字原稿被撕破的情况下,连码字码上来也很困难。</p><span id="more"></span><p>在那件事情结束之后,我打算在我的有限的写作时间里写一部三部曲,灵感来自于马克思的那一句:“历史重复两次,一次悲剧,一次闹剧。”而我打算写”一次喜剧、一次悲剧、一次闹剧“,效仿王小波的《黄金时代》三部曲,我开始写《十三而立》,但一开始写作的过程几乎是体验式的对原小说内容的再描述,很显然并不合我意,于是,像许多棋手一样,我在陷入僵局的时候开始变招。我开始写我自己的东西,军特生活中的细节,破碎的回忆,我发现我的文字的破碎恰恰能够反映我思维的破碎,于是我写的愈发起劲。</p><p>其中一个主题就是人随着时间的变化被歪曲,被改变,人逐渐成为不同的人。角色慢慢地感受到自己的变化,失去一些过往引以为傲的东西。我认为用衰老来形容非常的合适,人们衰落,变得不再年轻,腐化,失去力量。而这些都是所谓衰老的一种副作用,而实际上,<strong>衰老的过程伴随人的一生</strong>。我的主角感受到了这种变化,因此只是迷茫;没有感受到变化的人只是被注视着的旁人指责着衰落下去,这才是痛苦之源。<strong>放弃了道德的达达主义者在一个毫无约束的地方,一个充斥着类似的人的地方释放着自己“真实的”一面</strong>(实际上只是过去在道德的约束下没有释放的一面,可以说一个现代人的人格在抛弃掉部分规则之后甚至较不完整)。</p><p>还有一个很重要的主题,那就是作为一个独立的人的孤独感,这主要是在我们的主角身上体现的。我们很难在今天拥有一种客观的物理意义上的孤独,人也不是一座孤岛,人是社会动物。现代的人无疑都是要在与他人的交流中生存的,然而这种孤独之外还有一种不被理解的孤独,甚至在这种不被理解的孤独之外还有另一种孤独感,那就是有理解者、与他人和谐共处,但是却只能独自面临只有自己需要面临的苦痛,这就是疏离感所带来的痛苦。<strong>对于我们的主角来说,它的周围是「寂静的」,是白色的「荒漠」,他无法与他人讲述他的痛苦,即便他讲出来了,那些虚无彷徨的人也无法理解,而他的理解者们与他承受的苦痛又不一样,本质上来说他还是没有理解者,他只能独自面临所谓的苦痛,这就是主角的三重痛苦。为了创造这种“三重痛苦环境”</strong>,我故意调配剧情不让一些本该出场的角色出场,以防止主角从痛苦中<strong>解脱</strong>。</p><p>最后一个,也是最重要的主题是寻找深秘。主角时时刻刻在接触无法理解的非自然现象。实际上大概只是因为主角没有学习社会科学,无法解释一些客观现象。但是这里主角采用了另外的方式来让自己理解这些无法理解的事物。那就是神秘主义,用对所谓超自然现象的研究来理解常人眼中小概率发生的非自然现象。主角由此走入了唯心主义,与此同时看见了许多人看不见的东西,<strong>打开了自己所谓的慧眼,却还是一个俗人,还是在痛苦,还是为了他人的苦难而痛苦</strong>。他敏捷的思维和眼观六路,耳听八方的本事,最终也只是加重了他的忧郁,并没有给他带来拈花一笑,妙悟真如的境界和虚无缥缈的极乐,本质上来说,我也不知道这是对于宗教作用的认可还是否定。</p><p><strong>主角在离开了他一开始不完整的唯物主义理论无法解释的非自然现象的困惑之后,进入了唯心主义与神秘主义的深渊,在无极限的思维世界中寻找自我和存在主义的光辉。</strong> 我对于这种心态不置可否,因为这个主角走过的路,也就是我走过的路,我现在也还是一个神秘主义者,我现在也没有减轻自己的痛苦。小泽也在一开始走上了怀疑与寻找超自然解释的道路,他差一点就成为了和主角一样的神秘主义者,<strong>但是他仍然保持自己的信念,用自己虽然不够完整,甚至有些小错误的唯物主义和科学的方式去面对生活中的无限未知,在彷徨中追回了自己的道德,在抑郁中找到了自己的精神,一定程度上结束了自己的痛苦。我高度赞赏他的伟大</strong>,虽然在文章中他的篇幅并不很多。他的伟大在于认识到痛苦而不放弃,尝试去突破自己理解能力的极限。最终学会了理解,学会了与达达主义者和悲哀的人一同活在一个世界而不被他们沾染。他是《十三而立》中最优秀的一个角色。</p><p>我现在也在寻找深秘的造物。我对超自然的力量也有一种原始的膜拜,不同于主角,我的崇拜最早来自于中国佛教与道教在有机结合之后形成的宗教观念,后来又转向混沌魔法和达达主义。我对所谓超越人类的物种的形象充满了好奇,以及对不完整甚至容易被推翻的唯物主义哲学思想观念的质疑,最终导致了我成为一名神秘主义者。主角寻找的深秘无疑是在现实中难以想象,不可解释的现象,<strong>而他作为一名在唯物主义与资本主义世界难以找到精神价值的人(一个对资本主义的资本至上观念进行精神上的否定的人肯定没有办法融入资本主义社会中吧),又有绝对而不可想象的究极的孤独感,最终使他认为活着本身没有意义可言(我现在还是这么想,目的和意义都无法解释存在和生活本身)</strong>。最后让他说出这样的一段话:</p><p><em>然而所有人都沉默了,在白色的寂静中,只有我一个人在发声。我行走在这白色的沙漠,行走在那银白的绿洲,行走在那苍白乃至无色的城市,我只看到了无声的寂白。我继续远行,在这个被虚伪光芒覆盖的世界里存在。</em></p><p>他最终的想法是,这个利益至上、物质至上的世界对于自己这样的神秘主义者是虚伪的,他能看见的只有无声的寂静与苍白,在城市、沙漠、绿洲中,无论是人烟稀少还是人山人海他都感觉孤独,因为对他来说这些地方是无声的,没有与他类似的声音去回应他自己——「微斯人,吾谁与归?」。作为一部仅仅一万字的调侃小说,叙述这些主题本身超出了《十三而立》本身的叙述承载能力,我自己也很怀疑自己能不能写出这几点,我其实表达欲很旺盛,想要把自己内心的所有东西都写出来,但那样会太过枯燥,而且我理论上的错误会变得难以掩盖。后来我仔细想了想,看着自己这部写了几个月的不及格作品,觉得写都写完了发上去就完事了,于是我就把《十三而立》从头到尾改了一遍,发到了我自己的博客上。我觉得肯定还是不够好,确切的说,这篇文章糟透了,通篇思想反动,什么唯心主义,神秘主义,达达主义,胡扯乱编。寻找深秘对我来说是这篇文章最重要的主题,它含括了我对于这两年所见识和思考的一切。不论我究竟写的怎么样,希望看到的人可以写个更加包容的评论啊啥的,我会非常感激的。我便这样将这两年的思绪沉淀下来了。</p><p>吹神求杀</p><p>2022.8.27 在尝试多喝热水</p>]]></content>
<tags>
<tag> 文学 </tag>
</tags>
</entry>
<entry>
<title>十三而立</title>
<link href="/01/Thirteen.html"/>
<url>/01/Thirteen.html</url>
<content type="html"><![CDATA[<h2 id="序"><a href="#序" class="headerlink" title="序"></a>序</h2><p>「当时我有着许多非凡的欲望,我最近才明白这只是梦中的呓语。等到看到童年的尽头时,我才恍然大悟,原来人不是想做什么就做什么。在人的一生中,有着无穷尽的选择题,然而在现实向你抛来的责任面前,人总是没有选择的。」</p><span id="more"></span><p>如果说我能从这十三年中学到什么,那就是十三年太短,不足以学到什么。我承认我很无知,我承认我犯下了无数滔天大罪,承认了这些,我就再也没有清白可言。自从我承认这些我的失败以来,套上的枷锁仿佛也与我合为了一体。</p><p>谨以此文,献给我走过的这十三年。然而我还是想要把这十三年抛弃,不为什么。</p><h3 id="†-1-†"><a href="#†-1-†" class="headerlink" title="† 1 †"></a>† 1 †</h3><p>下课的铃声总是很突兀,钟楼的钟声也总是很不明所以的沉重而难听,我一路看见一群人在走道里骂骂咧咧,殴打学弟,也看见了一株在窗口外花朵绽开的白玉兰树。有人说,只要你够洁身自好,你就看不见身边的污秽。然而我觉得,如果真的看不见身边的污秽的话,也不是什么好的事情,任何两面性都有存在的必要。如果一个人只能看得见白玉兰树,他就不会在意骂骂咧咧的人,更不会知道他们殴打学弟的严重性——甚至可以说是完全不知道有恶的行为。在彻底消灭恶性和良性之一之前,我建议还是把两者看的一样重要。然而我想得出神,几乎忘了我们班的班长在几分钟之前向我走过来,跟我说班主任找我有事。</p><p>“……这个……”班主任倚在转椅上欲言又止,我不是喜欢等待的人,我就随便找了件事打断了她:“报告梁老师,副班长唐某传我绯闻。她最近偷鸡摸狗,无恶不作,少年无行,吊儿郎当。整天跑到隔壁班去交男女朋友。建议吊销她的班长职位。”</p><p>“你这说的都啥跟啥?这个,额,小唐的情况不同,她能力低下,喜欢传八卦,她工作偷鸡摸狗,但有任务的时候还是比较勤恳的。你不要太看重同学们最近说的话,把这些话当成你们日常的玩笑和梗就行了。本来吧,我找你有个事情要和你商量商量。”梁老师双唇紧抿,最后还是开了口。</p><p>“说。”我感觉自己更像班主任,梁老师也不太在意我语气中的一种膨胀:“就是你们寝室的小王,他割了自己手腕三刀,你知道吗?”</p><p>“不知道,要是知道了还得喝一蛊,这种人乃是造大粪的机器,还当什么副班长。老师您要说,跟全班公布好了,干嘛劳班长大驾请我上您的办公室来。”我不大在意这事,但显然这三刀让梁老师焦头烂额。这种焦头烂额,体现在他反复斟酌该怎么跟我说这件事情上,更体现在他单独请我到他的办公室来聊这件事情,我和他都不太喜欢和对方单独说话,因为我觉得这么聊是在浪费时间,他觉得我说话话里藏刀,我和他不对付,实际上却是如此,我和很多人都不对付,主要体现于我绝不会说他们想要我说的话上。</p><p>“额,其实是这样的,小郑同学,你是你们寝室的寝室长吧。”其实我不当寝室长很久了,但我们寝室没有寝室长这个职位。在学校寝室的记录上,我仍然是寝室长。梁老师想必不知道这一点,也很正常。“大概吧。”我这样回答。</p><p>“既然你是寝室长,那这事情就由不得你了。小王他今天晚上回寝室,你得守夜,不准睡觉。这是他母亲和学校一致的决定,你守了夜,你们寝室的那帮坏小子就都会老实守夜了。你带个头。”他说这话的时候,露出一种很瘆人的阴笑。</p><p>“梁老师,您老人家怎么能这样整我。”我露出一种痛苦的表情。梁老师完全没理会我,他阴笑着说:“没有整你,这是校方和他父母的决定,既然你是第一个,那么你们寝室的另外的同学们就会是第二个第三个。你可以把这个当作安慰。总之就是这样,享受今宵吧。”</p><p>事实上这种东西完全不能算是安慰,因为我不睡觉简直是对我精神的一种折磨,我常常想入非非之境,比如这次吧,我就开始想为什么人会去割自己的命脉,人为什么要勤劳,最后这很多问题,都引申到为什么人要受苦。</p><p>我看见、想起、想象许多痛苦的人,我不知道为什么人要受苦。我更不知道苦难是什么。我甚至都不知道我是谁,更不知道存在是什么,为什么我要到来,凭什么我要离去。</p><h3 id="†-2-†"><a href="#†-2-†" class="headerlink" title="† 2 †"></a>† 2 †</h3><p>一般来说,大家认为人生的前十二年是人的童年,《圣经》中说人的一生有七十年,但从第十三年开始,人就不可避免地要彷徨与衰老了。我常常蔑视各种先进的小同学,痛骂他人做的看似无用的行为,这样的站在制高点上指责他人的快活日子仿佛就在昨天。现在我成了班级各大活动、事务最积极的人物。看来时间真的能够很大地改变一个人,潜移默化的影响使我失去了往日的所谓高傲,剩下的最后一点自我在嘴里和记忆里。我常看到某些混的好的同学,有时我想对他们顶礼膜拜,又有时我会想我怎么了,为什么我会变得如此。要知道,当年认识我的人无不称我为好汉。</p><p>有时候我想要真诚的活着,但有时一些东西的出现就会使我的这些想法化为灰烬。我在跑的时候会大喘气,这总是让我联想到自己ߥ时的感受,这东西若是没有了≈的刺激,就和剧烈运动一样令人难受。我常想到这个,就不再想要去爱别人,也更不想要让别人爱我。但心里总有一种心理因素在我的心里刺激我,让我浑身发痒,让我疲惫不堪,让我筋疲力尽,使我不禁想到,爱是什么呢?</p><p>李斯说:人之不肖如鼠也。孟子说:人之初,性本善。罗马皇帝马可·奥勒留在《沉思录》里说:人是大宇宙中的小宇宙。年轻时的我常觉得自己是得道高人,故有一种狂傲之气,竟也想要对人类进行划分了。当年我这么说:人有两种,傻X和亡命之徒。听名字有点滑稽,但我觉得这么分也没太大问题,亡命之徒每一天都在准备着死亡,傻X每一天都会自愿去送死。</p><p>小王在寝室里的名声很不好,恐怕也和他作为傻X的送死行为脱不开干系。他常常脱的光光,跑到人家寝室门口大喊一声:“我是个傻逼!”然后赶紧跑开。我真诚地觉得他是个实诚的傻逼,但实话说,我们男生寝室一般都是赤条条的,宿管都不敢管我们,不赤条条的反而是异类,我就不觉得人应该裸露着生殖器跑出去,所以在很多人眼中,我是比小王还异类的异类。我的异类之处还在于,我午休时不打篮球,回到教室写作业之类的。我觉得这是理所应当的,但很多人就不这么觉得。我这么写,并不是我想要突出我的优秀,相反,我觉得我所“特殊”的都是我需要克服的弱点,这种行为使我某种意义上被大家排斥。但实际上,经过反复思考后,我认为我这么干是对的,有的时候你会发现,大家都犯错的时候,大家都指责你的时候,你是很难去做正确的事情的。</p><p>经过被他人的排斥之后,我下定了决心做一个亡命之徒,我要为自己而活,不必看待他人看我的看法。但是空虚感却使我产生了一种犹豫。我现在开始有一种麻木的虚无感,这让我想起了过去的那一次经历</p><p>过去的一天的下午,我坐在教室的地上的角落,思考着那一天自己遇到的种种怪事,须知,我人生中从来没有遇到过露阴癖、男同性恋、暴露狂、校园恶霸之类,而那一天我却全都遇见了。这使我很怀疑我的过去的教条和行为准则,因为我发现我应对没有见过的这些奇葩束手无策。然而那天,我看见一个面色苍白像鬼一样的人走进我们班的教室,我不认识他,而他穿着我们学校的校服:“喂,同志。你走错了,这是七班。”他的脚步很乱,径直向我走过来,没有绕很远的路,他欲言又止,目光呆滞。他的身上仿佛有一种虚无在向我靠近。经过一段长长的对视,他消失了,我感觉仿佛过去了永恒,又仿佛只是一阿托秒。我当时只觉得这个人不存在,但没有证据证明他的存在,也没有证据证明他不存在,而且我看了看表,过去的却是三分钟。</p><p>到了今天,我还是不知道那个人存不存在,是不是个哑巴。所以我总是觉得那个人就在我的附近,而且我有预感,我们很快就会再见,因为我再一次感受到了他身上的虚无感向我的逼近。对于不知道的事物,我们虽然要保持尊敬的态度进行研究,但我觉得,直觉和预感也很重要。</p><h3 id="†-3-†"><a href="#†-3-†" class="headerlink" title="† 3 †"></a>† 3 †</h3><p>今天上午第一节课我要做一个做一个新闻报道。虽说梁老师给我安排了一个搭档,不过我怀疑他是存心整我——把我和老王安排在一个组!我站在台上,不知为什么怎么都正经不起来,然而台下数十人严肃地看着我,眼神中带着一种来自恒星的辐射力量,竟有几分像像捷尔任斯基了,我不敢看。“Ladies and Gents.”小王穿着一身整齐的校服,庄严肃立,像在国旗下演讲,像在新闻发布会,就是不像他自己。他看到的,大概是一群坐在那里的同学;我看到的,是一群装模作样,很不像样的八卦狂魔和露阴癖像是得了正经病一样,人不人鬼不鬼的在装正经人。我站在台上,看着这些令人发笑的同学,忍不住笑出了声。梁老师抬起头,瞪了我一眼。然而我不害怕后果之类的东西,因此我假装没看见,依旧在台上很得意,笑嘻嘻的。</p><p>小唐此时给一个男同学传了一张纸条,两人都脸红了。结果正好被梁老师抓包了,梁老师叫了起来:“唐同学,下课到我办公室来一趟。还有你,郑同学,在台上嘻嘻哈哈的像什么话!”下课了,到了办公室,梁老师先骂姓唐的,他骂人一向不带脏字,真是行云流水,听着令人很解气。然后轮到我了,我仰着头挺着胸,像一个中世纪的骑士接受处刑。他骂我是不是家里没父母管教,是不是没有爱,来学校找存在感。我走出办公室,狂笑不止。</p><p>得益于梁老师的“谆谆教诲”,我一想到严肃,就越想到假正经,就越止不住狂笑,没办法,我毕竟还只是一个凡人,凡人都喜欢有趣。</p><p>顺带一提,本人认为,一篇小说中只有很少的东西有可能是真的,比如梁老师就可能不是梁老师,是六老师;小郑同学大抵也不是小郑同学,是张鹏;小王也不是小王了,是JOKER。人名不真,事情倒是不假。我编一个老师骂我缺爱干嘛呢?所以我要么是一个极度无趣的人,要么是一个以虚构物探求真诚的人。由此,我们有知道,若是讨论真伪,小说家就坐不上论席。但我总是因为真伪的论题大想特想,要是想要了解真伪与真理,你就必须要在现实中探索。就好像你只有看真正的夜空,才能知道它实际上并没有那么黑。</p><p>因为我要记叙的是所谓虚假又真实的事情,所以只能用史笔,或者说直笔。我实际上并没有这只史笔,我只是想要拥有这样的力量,像史官一样能够使自己的文笔成为历史。而我既然没有这样的力量,我就要从小人物和小事情讲起。</p><p>那时候我们班的班长姓和,去和二班的舟湖阳表白。我很有一种不祥的预感,班长是一个率性的人,舟湖阳是一个畏畏缩缩、谎话连篇的比我还糟糕的人。他们两个在一起,注定没有好结果。但我总不能在人家表白之前就咒人家吧,我心想。班长的这一想法酿成了大祸。</p><p>但世界上哪有那么多可以被预测到的事情呢?我们不是预言家,就算猜中了一两件事情,也不可能了解更长远的未来。许多人心里想着白头偕老,先不说那些人分不分手,「白头」之前就去世的可能性也不低啊。然而班长却就是这样的人,许多人说她是恋爱脑,但平时她又是最冷静又最疯狂的人。我刚和大家一起讨论这件事情,然后她红着脸跑到了班级里,跟大家说她已经被「婉拒」啦。我倒不意外,所以一副并不吃惊的表情。她趴在桌子上,头不停的摇,估计是在哭。有一个女同学,她跑过去时问我为什么不过去安慰。我说我早预测到会这样了,那个女同学就问我为什么不告诉她。我只好说不合适,人家没表白就咒人家,没意思,再者我心里没兜底,说不准姓舟的一天变成了绝世好男人呢?我感觉我说出来的话我自己也不信,我又害怕被更多人纠缠,赶紧跑到男厕所避难。</p><p>她哭了一整个上午,据说在半夜的时候还要呜呜的哭,让全寝又睡不着。第二天又觉得肯定是姓舟的想要更好的学习,姓舟的才不答应她的告白。于是她又说姓舟的是「绝世好男人」,又写了一封情书,说要给姓舟的补习,还说自己爱他。然而姓舟的作为一个直男(干脆直接叫渣男),非常没有情商的假装没看见那封情书,走路都要绕着我们班走。后来她千辛万苦约到了他吃一顿饭,地点在食堂三楼,她请客。他一听到是对方请客,一下子又精神了,然后马上给了回应。“这下有戏了。”她这样说。我沉默了,想要跟她说我的想法,但奈何不敢破坏她脸上的光彩。然而,我预测到的事情又发生了,他果真不是什么好东西,连一个消息也没有就放了我和班长鸽子。</p><p>泪有时如泉涌出,有时如绵绵细雨,有时如火山喷发。她心中的激愤还是爆发出来了,她要报复。我听到她这么说,没有回应,第三次我仍然欲言又止,但在我的心里我到底想要告诉她,但我还是把话憋在了肚子里。我觉得这一场「恋情」,肯定对她来说凶多吉少。说不准这一次,恐怕是「她在沉默中爆发,我在沉默中灭亡」。然而最终却知道不是。</p><h3 id="†-4-†"><a href="#†-4-†" class="headerlink" title="† 4 †"></a>† 4 †</h3><p>我千不该万不该保持沉默,我明知老和此劫难逃却不敢说。她最近也不告诉我她干了些什么,我一天比一天担心。那一天的晚自习,梁老师与班长都不在。隔壁办公室里传来摔门的声音和辱骂的声音,但仿佛只有我一个人能够听到。我不知道老和干了些什么,照这个形势看,肯定是非常严肃的事情,而且要受处分了。趁老师不在,而其他人又都在俯身写作业,我快速的给小唐写了个字条,问她是不是知道些什么。她却转过头来带着一丝哀伤似的看了我一眼,然后转了回去只是摇摇头。我后来据此很怀疑她是不是知道些什么,却不告诉我。</p><p>下课了,我们班里的所有人都一窝蜂涌出去,有不少人想着要看办公室里发生的「惊天大事」。我的直觉告诉我不要进入那个将真相与我的胡思乱想相隔的门。这会儿小唐和一群八卦狂魔终于把这事情的大概给梳理出来了,说来无聊:本来是班长打算用钱收买班草,他们俩装成一对情侣,故意去二班门口恶心姓舟的。她恐怕脑子不大好使,一是觉得班草不会坑自己,二是觉得姓舟的不至于举报他们俩。结果就是姓舟的跟年级组长举报他早恋;班草不住校,一回家就跟他爸妈说漏了嘴。这两边只能通知梁老师,让他「好好处置」这件事情。在这件事情发生的过程中,有很多遗漏的细节,实际上没有人知道,而我若是不知道,就不能借着手上的直笔乱说。</p><p>我想到这样的事情,我经历了很多,然而都是在这军特中学中经历的,所以我对学校的评价不佳,想必大家也知道不是乱说而是有所原因了。我进入人生的第十三年之后,常在生活中看见露阴癖、早恋情侣,还有所谓的「社交牛逼症」患者。或许是我过去没有留心,但我大抵是最近几年才开始「见多识广」的。我相信一个人初看到这种东西,心里要承受的精神压力一定不比探究形而上学要低。而且我发现人世间还有更加伟大的东西,使我想为之活下去。然而,这是我的观点,我猜并不是所有人都那么想。</p><p>今天中午,班长要为我们做检讨。梁老师对我们做检讨特别有热情。我在检讨前一分钟进了教室,一个个人都神情庄重,有的屏息凝神,看着老和,好像在跟遗体告别;还有的看着老师,老师则是刷着手机等待检讨开始。还有一个小泽同学在检讨开始时,打算趁大家不注意从教室的最后钻出来,检讨结束之后,他就被「请」进了办公室。</p><p>对于检讨,应该没有什么好说的。实话说,检讨者只会说一些大家都懒得听的话,自己不愿意说的话,以及一些绝对「正确」的废话,有的时候这些话还会很政治正确或者非常假正经。对于检讨者,这就是行刑一样的折磨。真伪的重要也在这检讨里边显现,强迫一个不知道自己犯了什么错误的人做检讨,不就是逼一个可怜又无知的人说他不想说的话吗?而这就是虚伪。</p><p>若一个人想要维护自己虚假的权威,就要让一个人为自己重复无数次的谎言。这种人,我们一般称为暴君。</p><p>关于真伪和虚实,我想给大家讲一个故事。我小时候特别喜欢在海边吹风,仿佛在没有人看见的,遥远的海边就没有人能够看到我。而当时,我几乎与风化为了一体。我时常想起我坐在海边的栏杆上等待落日,白色的海浪向我席卷而来,海鸥则快速地在我头顶掠过,我还有时坐在那里看海天一色。遗憾的是,我没有任何证据可以证明我的这段美好回忆是真的。但正是因为我无法证明我记忆的真实,我才会仰望这景色的美丽。而我一生,都有可能不会有机会证实这段回忆了。</p><h3 id="†-5-†"><a href="#†-5-†" class="headerlink" title="† 5 †"></a>† 5 †</h3><p>我们身边死去的人们都有一种支撑他们活下去的力量。从另一个角度看,我们身边活着的人们都有一种将他们推向死亡的力量,这就是压力。我想到这里,回到教室,感受到一种莫大的无聊。然后我看见小泽坐在窗台上,手里拿着一把大号美工刀(很能反光,在夕阳的映衬下显得极为锋利),眼眶里噙着泪水。他的桌上有一张109.5分的试卷(一个大大的110分,旁边多了一个小号的-0.5分,是别的班的同学为了整他故意给他多扣了0.5分,但当时卷子刚发,谁也不知道)。他哭的撕心裂肺,高声大喊着:“我他妈不活了!”</p><p>“好!好!”“很有精神!”鼓掌、欢呼打破了他的哭泣,我也想要附和着叫起来,但我很快就开始怀疑我这样的行为是否正确,所以我始终没有叫。因为心里想叫但没有叫出声,所以我很苦闷。但苦闷稍纵即逝,因为我发现他这样的行为恰恰使我得到了「消遣」,但这样以他人的痛苦来作为自己的消遣,真的好吗?我保持否定的态度,因为我想起窃·格瓦拉说的那句话:“我怎能在别人的苦难前转过脸去?”</p><p>这时梁老师进来了,梁老师一来,几个叫得最响的同学就马上躲起来,或者跑出去。梁老师还带了一个学校的心理咨询老师,他们进来,看到一个七尺男儿披着一身汗渍的校服坐在窗台上,手里拿着一把在日暮之光下色泽金黄的美工刀。他的眼里饱含泪水,映出赤色的炽热目光,大抵是因为泪水折射出了夕阳的余晖。那个男人一会仰起头,好像要叫起来;又一会看看手里的刀,一会望向窗外,好像在选死法。梁老师后来跟我说,那时他以为这是无伤大雅的学生叫嚣,进来看到这样的场面,吓得差点魔怔了,甚至有一个想要装作没有看见然后赶紧离开的念头。但他还是马上夺过了小泽手里的刀,把小泽从窗上拉了下来,他说他也不记得自己是怎么做到的了,而站在一旁一动不动的心理老师,则表示自己当时近乎产生了去看心理医生的念头(这是后来谈这件事情的时候的玩笑话)。</p><p>小泽并没有做检讨,而且自从他那件事情之后,做检讨作为一种处罚的次数变少了。大家据此认为他是一位「英雄」,若他真是一位英雄的话,我觉得他的过人之处就在于他那件事情作为一件难得的「消遣」打破了我们沉闷的一天,而不是在于他敢于「舍身取义」和减少了某种处罚。而自此之后他出现了两种变化,第一就是突然变得喜欢走路时摇来摇去,开始读起了物理学;第二是他的身上突然被贴满了标签。班长现在和他坐在一起,现在来看,他们俩很能聊。具体他们怎么聊,我不知道,要问问小唐,她才是八卦狂魔,我不是。</p><p>班长小和违反的班规比我一时半会能想到的还多,小泽也曾经担任过副班长的职位(后来接替小泽的就是我)。他们两个人经常被约到办公室去吃班主任的「鸿门宴」,后来被他们调侃成「三人约会」。小泽最近开始变得没脾气了起来,出了事情他不管内心生气不生气,看上去一直都很开心的。最近我和他们聊天的时候,发现他们都是感情主义者,触动他们的东西,他们就会一直铭记;没有在他们心中留下印痕的东西,比如那篇检讨,就从来不会被他们在乎。我感觉我挺像这种人的,所以我和他们很聊得来。</p><p>说到那一次检讨,其实那一次班长和我差点结下仇怨。当时她在台上慷慨陈词,我在和自己下五子棋。她当时讲到一半顿了一下,扫视了整个班一圈。然后突然说有些班干部贪污受贿,给同学打「保护伞」。我怀疑她当时看了我一眼,不然我绝不会从绝佳的一局五子棋中抬起眼来,我有一种直觉,她在暗示我。实际上,我的确「贪污受贿」,具体过程就是,收东西照常收,开处分照常开,小报告照常打。「保护伞」这种东西就纯属她的想象。我觉得她这么说我有点不厚道,而检讨完了之后,梁老师「请」我进他的办公室。我虽然没有干过坏事,但是我十分的紧张,心脏仿佛在一瞬间剧烈颤抖了一下,仿佛我真的行贿了一样。</p><p>他开门见山的问我:“你有没有行过同学的贿?”我说没有,可是在那目光的威严照射之下,我十分的紧张,而且脑子里不住的在想我到底有没有干出那样的事情。他的目光中多了一丝狐疑,他欲言又止,仿佛我能看见他想要以这个「罪名」审判我,但他最后又抬起手让我离开。我走出教室,凝固的笑容瞬间消融了,化作了一心的不愉快。当时我想把她宰了。</p><h3 id="†-6-†"><a href="#†-6-†" class="headerlink" title="† 6 †"></a>† 6 †</h3><p>小泽本来和我一样,没有想过初中要来军特这种鬼地方。他是为了一个密友来的,为了和那个密友继续朋友关系,他就从宁波转到了杭州军特。入学日,在寝室里大家一开始都很拘谨,我和小泽是整天都很拘谨。后来就在那些最拘谨的人里面,露阴癖也出来了,同性恋也出来了。他整天神经兮兮。寝室里,小王整天对他搂搂抱抱的,还整天说要çåø他,他一直都不理解,而且为之而怒,但他最终还是忍住了。这令我十分的佩服,因为我从来没有见过那么能忍耐的人。使我更加佩服的是,他作为一个聪明人,却能装成傻子,他可以不摇,却偏要走路的时候像个鸭子一样,搞得老师和同学忍俊不禁,不了解他的人可能真的以为他是一个脑子好使的弱智。</p><p>刚开学没多久的时候,他睡不好,我也睡不好,因为小王半夜喜欢像野兽一样地嚎叫。而就在那几天,他看见了无数将阳具裸露出来的男同学,他总是怀疑自己是不是在做梦。这段日子里,我们总是对一切事物将信将疑。他有一天突发奇想,说:“军特的风水不好,所以我才这么倒霉!”于是那天他神神叨叨说什么军特位于鸡笼山之南,阴气大聚,垃圾场就在寝室楼对面。总而言之这地方太晦气!未成想这番话却引起了小王的愤怒,小王像是发神经一样地说:“对,对!都是因为我!行了吧,好了吗?”然后他冲上去,将小泽撞到了门上。</p><p>那夜,我们六人不得安宁。结果就是小泽离开了我们的寝室,而且自他到了另一个寝室之后,他从未提过我们寝和风水,哪怕半个字。小王也不嚎叫了,他又养成了在半夜放电子舞曲的习惯。我问他为什么放这个,他说不放睡不好,我说你放催眠曲我也不来纠缠你,你放舞曲干嘛?然后他用瞪小泽的眼神瞪我,我不知道为什么缩了一缩,但到底勇敢起来了,于是问他:“你放这个你开心了,你知道我们睡不着觉吗?”然后他的眼神消失了,然后用一种悲悯的眼光看着我,我本来想用这种眼光看他的。但到底因此发现了这眼神太令人恶心,没有谁值得我这样去悲悯他。回到教室里,写着作业,却总是提不起精神来,难道我有什么比他低的才能或天赋,或者我比他不幸,所以能够使他悲悯我的吗?彻底想不通。这时我的眼光看向窗外,想要也即兴写一首《天问》,于是草草写下不少文字。然后长舒一口气,看向繁星,人们常常深陷于未知中,迷惘中的人们抬头望向苍天,然而天幕之上却有更多的问题,真正揭示了人类的无知。</p><p>我在校运动会的看台上,把这些积淤我心底的苦恼告诉了小和,然而小和大抵没有在听,他正在和隔壁班的程光说话。程光是二班的,和小和在校运动会上认识的,他们都是志愿者。我也想去参加志愿者,毕竟可以结识学长学姐之类的人物,但我还是太懒了:我连参加志愿者的表格也懒得填。但我怀疑还有更加深层的原因,我的激情在别的东西上。运动会结束的时候天上下起了雨,很小很冷的雨滴打在我的脸上,我花一年的时间大抵想通了为什么小王要悲悯我——他自认为他是不在乎这种事情的,所以他完全不知道自己行为的危害,他是在对我的「敏感」不屑,但他又对他人对自己的冒犯行为极为敏感。</p><p>读书的时候,看到了名家的一个经典的论断《坚、白石论》,而联想到了一个有趣的观点:如果你认同一个规则,而不去遵循,那就是比不知道而去做错事者的过失更大。这种想法并不是完全正确的,因为很少有人真正的遵守这种规则,对和错永远是主观的意见,它不是客观意义上的正确和错误。</p><h3 id="†-7-†"><a href="#†-7-†" class="headerlink" title="† 7 †"></a>† 7 †</h3><p>有无数的人在时间的流动迷失自我,这就是流年的威力。若有什么东西已经被流年侵蚀到不能再侵蚀了,那它就会被时间抛弃,而这意味着死亡。</p><p>小王在自述中谈到,他小学时是一个很要面子的人,据说他小学时他受的是整个余杭区最严格的教育,会弹吉他,英语不错,会点音乐制作,非常了解电子音乐。</p><p>上午,在英语课上王老师和小王又发生了口角。彬彬有礼的那个只在他叙述里出现的小王决不会这么做,所以从那个时候看,这件事决不会发生,但还是发生了。把个人改造成另一个样子,这就是时间给人带来的变化。连我也变了。</p><p>王老师这个人也很有意思她总是喜欢说自己老了,设脾气了。她作为一个三十来岁的老师,却能够随和而不随意地活下去教书育人这似乎证明了我的观点是错的,有的人似乎的确不会老去。但是时间却是无情的,一瞬之后,一个人就不再是那个人,所以一切时间皆是珍宝,每一秒都是恩赐。</p><p>梁老师作为我的成长导师,找我聊天的时候提到又一次提到了跳楼这档子事,因为他看着我觉得我很像一个忧郁的青年,小泽跳楼时几乎就没人能理解,现在梁老师就几乎抱着调侃的语气来谈这个事,不在现场的小和也老是装不知道:王小波曾说过:只要一个人的情感不是装出来的,我们就可以共言他的愤乐,同情他的悲伤。但这大抵不对,因为小泽没有得到任何同情,他唯一的成果就是在走路摇的时候被称为摇摆羊,一摇大半年,至还在摇,我也不知道为什么他要摇,我也不知道为什么没有一个人有对他的同情心。所有人看着他自杀的事件,第一反应是嘲笑,这究竟是王小波话的问题,还是诸人的问题?</p><p>我想起我过去的活法:以他人的快乐为自己的快乐。这种做法在我实践了十二年之后作废,因为人人并不都是友爱的,我在这十二年里被我的友人们仇视过无数次。我尝试活得更简单,于是我要到冬日的下午里冷冻我的记忆。你能说出在这座钟楼的底下的有什么呢?你能说出你对这黑暗的理解吗?你能知道钟楼存在的目的吗?说实话一个物体可以存在是有许多外界因素的,但它自身在物项世界的存在会否完全取决于它自身。而钟楼存在的月的并非他对于我们的作用,实际上,一个物体的存在没有任前目的可言。如果要为之加上一个目的,那个物体就只是一层所谓的粉饰。</p><p>地球自转没有什么目的,沙子从沙漏上端落下没有什么目的。但人类是万物中的例外,它们干什么事都想达到某个虚无的目的。林木的金装是我为之沉醉,落叶残花纷纷飘舞在琉璃瓦上,此刻若品一杯茶,想必是一件美事。这景象如此美好,我却不能为之逗留。之前发生了一件大事,我不能在钟楼走下去了,我走回到教室。</p><h3 id="†-8-†"><a href="#†-8-†" class="headerlink" title="† 8 †"></a>† 8 †</h3><p>那是艺术节的一个“文艺汇演”,天很冷,但大家都穿了戏服,表演的场所是体育馆,压根没有什么空调,还把天窗开了。</p><p>“这怎么整的?”我坐在后台,看见导演没把音乐拷上去,我就急中生智,派了个邻班的女同志到下面通知导演做好没音乐准备。那女同志下去一趟,上来嗯了一下,那大概就没问题了,但墨菲定律告诉我们,你越怕什么事发生,什么糟心事就会发生。我和灯光师聊着天,我说我发虚汗,尿频,现在就忍不住想去厕所。归光师打个哈哈,说:“你们一帮小年轻,忍一时风平浪静,没事的。”然后他顺手给我们班打了一个老年迪斯科光效,我顿时觉得这个人极不靠谱。当第六幕开始时,所有人看向镜头,默不作声——我心里大喊一声”死了妈的导演!”然后快速地用另一台电脑的网易云打开了音乐。</p><p>结果就是在网易云音乐打开之前,所有演员都看向镜头默不作声了足定半分钟。我跟灯光师说:完蛋了,我本来有哮喘、鼻炎,现在又有心脏病了。”我冲到舞台下面,不知道为什么就很害怕,想跑。小王作为主演兼编剧,一拳把我打到了地上。我压根设想久留,飞速跑出了体育馆。平心而论,小王在这个剧组的资历、地位。贡献都比我大他打我一拳设什么的。但我知道他们都认为是我整的这事这才是问题的关键,要是我让他打,可能我会躺在太平间里头——由此我们很自然他可以看出另一个关键是我愿不愿意用挨揍来换取一个不被冤枉,解释自我的机会,明显,我不愿意,因为我不应该挨揍。</p><p>若是我要证明自己有几个反证的条件:①PPT不是我做的,②音乐不是我剪的,③我没在操控后台的电脑。三个一个也不成立,PPT和音乐,后台都是我负竟,这个责任我是逃不大了的,我之所以要回去和他们说清楚,是因为我发现人们不论真伪善恶都应该知道这个我的观点。不论这个观点对错。</p><p>大家看着我,面红耳赤。大家都以为是回来做反省的,没人这么反省,都想让我下台。但我要是想说什么话,梁老师也拦不住我,甭说下面的乌合之众了。最后不仅没有掌声,还有人质疑我,而导演和小王的脸色则变得更加阴沉。</p><p>我坐在座位上思考为什么大家都不情愿听我说出真相。这时一位姓道的同学走了过来,告诉我不要再说了。再说就是我欠揍。说实话怎么会欠揍呢?这时我忽然想到了一个事实,那就是导演当时哭了,小王想割腕,主创团队就我一个人还能被骂被打,但这又和我欠揍有何必然联系?</p><p>切格瓦拉说了一句话,那就是:我怎能在别人的管难前的转过头去?王小波说别人受苦,他不受苦?我人生的前十二年都有意无意地与格瓦拉意见一致。但这一年我却改变了想法,但我仍旧对他人抱有帮助之心。大家都说我没情商,大概因此我没交到什么朋友。小王和小和勉强算两个损友。小泽和梁老师大抵也是。小和最近老是对我露出那种脑袋光秃秃的老人会露出的蒙娜丽莎的微笑。她处处作自己留余地,所以比我所受的的苦头少些;她有知己,学习名列前茅,而我没有多少成绩或朋友。她这次就很明智地没有踩进这一滩黑水,她早就猜到到了剧组早晚会起纠纷。</p><p>她这一生大抵就发了一次疯,那一次告诉我们,发疯的人会被制裁。小泽那一本《几何原本》我终究没借到,他最近研究起了物理学,最近他不太说话,不知道为什么。我的同桌小陈劝我不该问就别问。我觉得他们都在装正经,因为我曾记得小泽不是那么寡言的人,小和也不是一个虚伪的人。小时候我觉得有的事情发生与否,你很容易知道,我现在再不这么认为了,因为一人所有的一切,都会在时间的流逝之中被抹消。你不可能知道,下一秒,另一个人会要成多么不同的人。</p><p>在岁月如流之中,只有你还来被消磨的自我才是所谓你自己所有的东西。</p><p>常有人问我,活着的意义是什么,我老是想告诉他们,活着本身没有意义可言,时间给予人们的生活意义,也带走这些人们和他们眷恋的意义。有人因为这样的事情而陷入痛苦,难道这样的悲剧还不够多吗?不够让所有人都为之而哀叹吗?不够让我们吸收这个教训,尝试创造并拥有一个不再为这些虚无缥缈的假象而驱使的未来吗?</p><p>然而所有人都沉默了,在白色的寂静中,只有我一个人在发声。我行走在这白色的沙漠,行走在那银白的绿洲,行走在那苍白乃至无色的城市,我只看到了无声的寂白。我继续远行,在这个被虚伪光芒覆盖的世界里存在。</p><p>###【末语】</p><p>本文改编自真实事件。</p><p>这就是《十三而立》的WEB版本。我终于把它润色改完了,最后有一点点仓促,希望大家可以认真看完。如果可以接受的话,顺便也听一下ZUN的《蓬莱人形》专辑,真的很好听。</p>]]></content>
<tags>
<tag> 写作 </tag>
<tag> 十三而立 </tag>
</tags>
</entry>
<entry>
<title>The Grimoire of Chuishen ~ 2022摄影集·渝川</title>
<link href="/01/The-Grimoire-of-Chuishen.html"/>
<url>/01/The-Grimoire-of-Chuishen.html</url>
<content type="html"><![CDATA[<h1 id="一、前言"><a href="#一、前言" class="headerlink" title="一、前言"></a>一、前言</h1><p>我的这个摄影集是我去318国道自驾游时拍摄的,对应的游记应该会在8月出来 (2024.3.23 更新: 没出来)。</p><span id="more"></span><h1 id="二、渝川"><a href="#二、渝川" class="headerlink" title="二、渝川"></a>二、渝川</h1><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0139.jpeg"><p class="x">倾泻落雨的山城</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0144.jpeg"><p class="x">映像的黄金轨道</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0147.jpeg"><p class="x">风吹过暗色回廊</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0163.jpeg"><p class="x">彩云化水墨渲染</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0182.jpeg"><p class="x">汹涌而不复回返</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0183.jpeg"><p class="x">问君能有几多愁</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0191.jpeg"><p class="x">青天默默向昏黑</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0194.jpeg"><p class="x">神明眷恋之高原</p><img src="https://chuishen.xyz/GrimoireofChuishen/IMG_0145.jpeg"><p class="x">凡人的点点星光</p><style>p.x { text-align: center; color: grey; vertical-align: top;}</style>]]></content>
<tags>
<tag> 摄影 </tag>
</tags>
</entry>
<entry>
<title>Markdown转换器</title>
<link href="/01/MarkdownConvertion.html"/>
<url>/01/MarkdownConvertion.html</url>
<content type="html"><![CDATA[<h2 id="零、紧跟时事"><a href="#零、紧跟时事" class="headerlink" title="零、紧跟时事"></a>零、紧跟时事</h2><p>听说WPS塌房了,我的内心没有一丝波澜,毕竟一直在用Markdown写作,但是由于需要,还是要写一个方便的Markdown转换器。主要是为了方便手机阅读,其次则是方便给他人传阅。</p><span id="more"></span><h2 id="一、代码"><a href="#一、代码" class="headerlink" title="一、代码"></a>一、代码</h2><p>下面是main.py的内容:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> markdown</span><br><span class="line"><span class="keyword">import</span> pypandoc</span><br><span class="line"><span class="keyword">from</span> ui <span class="keyword">import</span> Ui_MainWindow</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QMainWindow, QApplication, QFileDialog, QMessageBox</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">BabyMode</span>():</span><br><span class="line"> os.system(<span class="string">"pip3 install pypandoc_binary"</span>)</span><br><span class="line"> os.system(<span class="string">"pip3 install PySide6"</span>)</span><br><span class="line"> os.system(<span class="string">"pip3 install markdown"</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">MainWindow</span>(<span class="title class_ inherited__">QMainWindow</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="built_in">super</span>().__init__()</span><br><span class="line"> self.file = <span class="literal">None</span></span><br><span class="line"> self.ui = Ui_MainWindow()</span><br><span class="line"> self.ui.setupUi(self)</span><br><span class="line"> self.ui.mdopener.clicked.connect(self.opener)</span><br><span class="line"> self.ui.transform.clicked.connect(self.trans)</span><br><span class="line"> self.ui.trword.clicked.connect(self.tr2word)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">opener</span>(<span class="params">self</span>):</span><br><span class="line"> filePath, _ = QFileDialog.getOpenFileName(self, <span class="string">"打开Markdown文件"</span>, <span class="string">"."</span>, <span class="string">"*"</span>)</span><br><span class="line"> self.file = filePath</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">trans</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(self.file, <span class="string">'r'</span>, encoding=<span class="string">'utf-8'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> html = markdown.markdown(f.read())</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(self.file+<span class="string">".html"</span>,<span class="string">"w"</span>) <span class="keyword">as</span> f1:</span><br><span class="line"> f1.write(html)</span><br><span class="line"> QMessageBox.information(self, <span class="string">"完成!"</span>, <span class="string">"完成"</span>, QMessageBox.Ok)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">tr2word</span>(<span class="params">self</span>):</span><br><span class="line"> pypandoc.convert_file(self.file, <span class="string">'docx'</span>, <span class="string">'md'</span>, outputfile=self.file+<span class="string">'.docx'</span>)</span><br><span class="line"> QMessageBox.information(self, <span class="string">"完成!"</span>, <span class="string">"完成"</span>, QMessageBox.Ok)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</span><br><span class="line"> app = QApplication(sys.argv)</span><br><span class="line"> window = MainWindow()</span><br><span class="line"> window.show()</span><br><span class="line"> sys.exit(app.<span class="built_in">exec</span>())</span><br></pre></td></tr></table></figure><p>下面是ui.py的内容:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> PySide6.QtCore <span class="keyword">import</span> QCoreApplication, QMetaObject, QRect</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QPushButton, QSizePolicy, QWidget</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">Ui_MainWindow</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">setupUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> <span class="keyword">if</span> <span class="keyword">not</span> MainWindow.objectName():</span><br><span class="line"> MainWindow.setObjectName(<span class="string">u"MainWindow"</span>)</span><br><span class="line"> MainWindow.resize(<span class="number">210</span>, <span class="number">168</span>)</span><br><span class="line"> sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)</span><br><span class="line"> sizePolicy.setHorizontalStretch(<span class="number">0</span>)</span><br><span class="line"> sizePolicy.setVerticalStretch(<span class="number">0</span>)</span><br><span class="line"> sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())</span><br><span class="line"> MainWindow.setSizePolicy(sizePolicy)</span><br><span class="line"> self.centralwidget = QWidget(MainWindow)</span><br><span class="line"> self.centralwidget.setObjectName(<span class="string">u"centralwidget"</span>)</span><br><span class="line"> self.transform = QPushButton(self.centralwidget)</span><br><span class="line"> self.transform.setObjectName(<span class="string">u"transform"</span>)</span><br><span class="line"> self.transform.setGeometry(QRect(<span class="number">10</span>, <span class="number">90</span>, <span class="number">191</span>, <span class="number">32</span>))</span><br><span class="line"> self.mdopener = QPushButton(self.centralwidget)</span><br><span class="line"> self.mdopener.setObjectName(<span class="string">u"mdopener"</span>)</span><br><span class="line"> self.mdopener.setGeometry(QRect(<span class="number">10</span>, <span class="number">10</span>, <span class="number">191</span>, <span class="number">32</span>))</span><br><span class="line"> self.trword = QPushButton(self.centralwidget)</span><br><span class="line"> self.trword.setObjectName(<span class="string">u"trword"</span>)</span><br><span class="line"> self.trword.setGeometry(QRect(<span class="number">10</span>, <span class="number">50</span>, <span class="number">191</span>, <span class="number">32</span>))</span><br><span class="line"> self.trpdf = QPushButton(self.centralwidget)</span><br><span class="line"> self.trpdf.setObjectName(<span class="string">u"trpdf"</span>)</span><br><span class="line"> self.trpdf.setGeometry(QRect(<span class="number">10</span>, <span class="number">130</span>, <span class="number">191</span>, <span class="number">32</span>))</span><br><span class="line"> sizePolicy.setHeightForWidth(self.trpdf.sizePolicy().hasHeightForWidth())</span><br><span class="line"> self.trpdf.setSizePolicy(sizePolicy)</span><br><span class="line"> MainWindow.setCentralWidget(self.centralwidget)</span><br><span class="line"></span><br><span class="line"> self.retranslateUi(MainWindow)</span><br><span class="line"></span><br><span class="line"> QMetaObject.connectSlotsByName(MainWindow)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">retranslateUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> MainWindow.setWindowTitle(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"Markdown\u8f6c\u6362"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.transform.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u8f6c\u5316\u4e3aHTML"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.mdopener.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6253\u5f00MD\u6587\u4ef6"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.trword.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u8f6c\u5316\u4e3aWord"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.trpdf.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u8f6c\u5316\u4e3aPDF"</span>, <span class="literal">None</span>))</span><br></pre></td></tr></table></figure><h2 id="二、结语"><a href="#二、结语" class="headerlink" title="二、结语"></a>二、结语</h2><p>金山活该被骂,干的那点破事,大家众所周知。今天被拎出来骂一顿,是极好的事情,可以使它长长记性。WPS的服务本身就不好,加广告就算了,怎么能侵犯用户私人的数据呢?个人认为目前替代WPS的最好的解决方案应该是开源的软件,但这在商业与便民使用的领域又不现实。某种意义上来说,PDF应该是目前常规使用的最安全、最有效的办公易用格式了。</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>视音频转换器</title>
<link href="/01/VideoAudio.html"/>
<url>/01/VideoAudio.html</url>
<content type="html"><![CDATA[<h2 id="零、前言"><a href="#零、前言" class="headerlink" title="零、前言"></a>零、前言</h2><p>前面其实说过了,我要做视音频转换器,终于在旅途的车上挤出来了这段代码。</p><p>土土作为头号测试员(小白鼠),表示非常满意。</p><span id="more"></span><h2 id="一、代码"><a href="#一、代码" class="headerlink" title="一、代码"></a>一、代码</h2><p>以下是main.py的代码:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">import</span> pathlib</span><br><span class="line"><span class="keyword">from</span> pydub <span class="keyword">import</span> AudioSegment</span><br><span class="line"><span class="keyword">from</span> gui <span class="keyword">import</span> Ui_MainWindow</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QMainWindow, QApplication, QFileDialog, QMessageBox</span><br><span class="line"><span class="keyword">from</span> PySide6 <span class="keyword">import</span> QtCore</span><br><span class="line"><span class="keyword">import</span> cv2</span><br><span class="line"></span><br><span class="line">QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)</span><br><span class="line">MUSIC = [<span class="string">"MP3"</span>, <span class="string">"FLAC"</span>, <span class="string">"WAV"</span>, <span class="string">"OGG"</span>, <span class="string">"WMA"</span>, <span class="string">"M4A"</span>]</span><br><span class="line">VIDEO = [<span class="string">"MP4"</span>, <span class="string">"FLV"</span>, <span class="string">"MOV"</span>, <span class="string">"WMV"</span>, <span class="string">"AVI"</span>]</span><br><span class="line">loadtext = <span class="string">"""食用说明: </span></span><br><span class="line"><span class="string">1. 文件的保存位置一般为原文件位置。</span></span><br><span class="line"><span class="string">2. 部分格式之间的互换未经过完整测试。</span></span><br><span class="line"><span class="string">3. 支持视频转视频,视频转音频,音频转音频。</span></span><br><span class="line"><span class="string">4. 请勿作死尝试将音频转成视频。</span></span><br><span class="line"><span class="string">5. 未在Windows/Linux上经过测试,理论上支持这两个平台。</span></span><br><span class="line"><span class="string">6. 有bug可反馈至作者博客: https://chuishen.xyz/。</span></span><br><span class="line"><span class="string">7. 请通过源代码安装的用户自行安装ffmpeg。地址: https://ffmpeg.org/。</span></span><br><span class="line"><span class="string">8. 支持导出的文件格式有: MP3, FLAC, WAV, OGG, WMA, M4A, MP4, FLV, MOV, WMV, AVI等,支持导入的文件格式更加多样,且未来将支持更多导出格式。"""</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">MainWindow</span>(<span class="title class_ inherited__">QMainWindow</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="built_in">super</span>().__init__()</span><br><span class="line"> self.ui = Ui_MainWindow()</span><br><span class="line"> self.ui.setupUi(self)</span><br><span class="line"> self.ui.TransNow.clicked.connect(self.tran)</span><br><span class="line"> self.ui.ChooseFile.clicked.connect(self.choicebox)</span><br><span class="line"> self.filename = <span class="literal">None</span></span><br><span class="line"> self.func = <span class="literal">None</span></span><br><span class="line"> QMessageBox.information(self, <span class="string">"食用说明"</span>, loadtext, QMessageBox.Ok)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">fext</span>(<span class="params">self, f</span>):</span><br><span class="line"> file_extension = pathlib.Path(f).suffix</span><br><span class="line"> EXT = file_extension.strip(<span class="string">'.'</span>)</span><br><span class="line"> <span class="keyword">return</span> EXT</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">to_video</span>(<span class="params">self, filepath, input_type, output_type</span>):</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> cap = cv2.VideoCapture(filepath)</span><br><span class="line"> frame_cnt = <span class="built_in">int</span>(cap.get(cv2.CAP_PROP_FRAME_COUNT))</span><br><span class="line"> height = <span class="built_in">int</span>(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))</span><br><span class="line"> weight = <span class="built_in">int</span>(cap.get(cv2.CAP_PROP_FRAME_WIDTH))</span><br><span class="line"> fps = <span class="built_in">int</span>(cap.get(cv2.CAP_PROP_FPS))</span><br><span class="line"> size = (weight, height)</span><br><span class="line"> fourcc = cv2.VideoWriter_fourcc(*<span class="string">'XVID'</span>)</span><br><span class="line"> out = cv2.VideoWriter(filepath+<span class="string">"."</span>+output_type, fourcc, fps, size)</span><br><span class="line"> <span class="keyword">for</span> n <span class="keyword">in</span> <span class="built_in">range</span>(frame_cnt):</span><br><span class="line"> _, frame = cap.read()</span><br><span class="line"> out.write(frame)</span><br><span class="line"> <span class="keyword">if</span> cv2.waitKey(<span class="number">10</span>) & <span class="number">0xFF</span> == <span class="built_in">ord</span>(<span class="string">'q'</span>):</span><br><span class="line"> <span class="keyword">break</span></span><br><span class="line"> cap.release()</span><br><span class="line"> out.release()</span><br><span class="line"> <span class="keyword">return</span> <span class="number">1</span></span><br><span class="line"> <span class="keyword">except</span>:</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span></span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">to_audio</span>(<span class="params">self, filepath, input_type, output_type</span>):</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> song = AudioSegment.from_file(filepath)</span><br><span class="line"> <span class="built_in">print</span>(song)</span><br><span class="line"> filename = filepath.split(<span class="string">"."</span>)[-<span class="number">2</span>]</span><br><span class="line"> song.export(<span class="string">f"<span class="subst">{filename}</span>.<span class="subst">{output_type}</span>"</span>, <span class="built_in">format</span>=<span class="string">f"<span class="subst">{output_type}</span>"</span>)</span><br><span class="line"> <span class="keyword">return</span> <span class="number">1</span></span><br><span class="line"> <span class="keyword">except</span> Exception <span class="keyword">as</span> e:</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span></span><br><span class="line"> </span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">choicebox</span>(<span class="params">self</span>):</span><br><span class="line"> filePath, _ = QFileDialog.getOpenFileName(self, <span class="string">"选择音乐、视频"</span>, <span class="string">"."</span>, <span class="string">"*"</span>)</span><br><span class="line"> self.file = filePath</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">tran</span>(<span class="params">self</span>):</span><br><span class="line"> text = self.ui.comboBox.currentText()</span><br><span class="line"> suffix = self.fext(self.file).upper()</span><br><span class="line"> <span class="keyword">if</span> text <span class="keyword">in</span> MUSIC:</span><br><span class="line"> self.func = self.to_audio</span><br><span class="line"> <span class="keyword">elif</span> text <span class="keyword">in</span> VIDEO:</span><br><span class="line"> self.func = self.to_video</span><br><span class="line"> <span class="keyword">if</span> self.func(self.file, suffix, text) == <span class="number">0</span>:</span><br><span class="line"> QMessageBox.information(self, <span class="string">"出错啦!"</span>, <span class="string">"出错啦!请检查配置与输入有无错误。"</span>, QMessageBox.Ok)</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> QMessageBox.information(self, <span class="string">"成功!"</span>, <span class="string">"成功!"</span>, QMessageBox.Ok)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</span><br><span class="line"> app = QApplication(sys.argv)</span><br><span class="line"> window = MainWindow()</span><br><span class="line"> window.show()</span><br><span class="line"> sys.exit(app.<span class="built_in">exec</span>())</span><br></pre></td></tr></table></figure><p>以下是gui.py的代码:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> PySide6.QtCore <span class="keyword">import</span> QCoreApplication, QMetaObject, QRect</span><br><span class="line"><span class="keyword">from</span> PySide6.QtGui <span class="keyword">import</span> QFont</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QComboBox, QLabel, QPushButton, QWidget</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">Ui_MainWindow</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">setupUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> <span class="keyword">if</span> <span class="keyword">not</span> MainWindow.objectName():</span><br><span class="line"> MainWindow.setObjectName(<span class="string">u"MainWindow"</span>)</span><br><span class="line"> MainWindow.resize(<span class="number">302</span>, <span class="number">108</span>)</span><br><span class="line"> self.centralwidget = QWidget(MainWindow)</span><br><span class="line"> self.centralwidget.setObjectName(<span class="string">u"centralwidget"</span>)</span><br><span class="line"> self.comboBox = QComboBox(self.centralwidget)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.addItem(<span class="string">""</span>)</span><br><span class="line"> self.comboBox.setObjectName(<span class="string">u"comboBox"</span>)</span><br><span class="line"> self.comboBox.setGeometry(QRect(<span class="number">70</span>, <span class="number">60</span>, <span class="number">101</span>, <span class="number">31</span>))</span><br><span class="line"> font = QFont()</span><br><span class="line"> font.setFamilies([<span class="string">u"Weibei SC"</span>])</span><br><span class="line"> font.setPointSize(<span class="number">14</span>)</span><br><span class="line"> font.setBold(<span class="literal">True</span>)</span><br><span class="line"> font.setItalic(<span class="literal">False</span>)</span><br><span class="line"> self.comboBox.setFont(font)</span><br><span class="line"> self.label = QLabel(self.centralwidget)</span><br><span class="line"> self.label.setObjectName(<span class="string">u"label"</span>)</span><br><span class="line"> self.label.setGeometry(QRect(<span class="number">10</span>, <span class="number">60</span>, <span class="number">71</span>, <span class="number">31</span>))</span><br><span class="line"> font1 = QFont()</span><br><span class="line"> font1.setFamilies([<span class="string">u"Weibei SC"</span>])</span><br><span class="line"> font1.setPointSize(<span class="number">18</span>)</span><br><span class="line"> font1.setBold(<span class="literal">True</span>)</span><br><span class="line"> self.label.setFont(font1)</span><br><span class="line"> self.TransNow = QPushButton(self.centralwidget)</span><br><span class="line"> self.TransNow.setObjectName(<span class="string">u"TransNow"</span>)</span><br><span class="line"> self.TransNow.setGeometry(QRect(<span class="number">180</span>, <span class="number">60</span>, <span class="number">111</span>, <span class="number">41</span>))</span><br><span class="line"> font2 = QFont()</span><br><span class="line"> font2.setFamilies([<span class="string">u"Weibei SC"</span>])</span><br><span class="line"> font2.setPointSize(<span class="number">24</span>)</span><br><span class="line"> font2.setBold(<span class="literal">True</span>)</span><br><span class="line"> self.TransNow.setFont(font2)</span><br><span class="line"> self.label_2 = QLabel(self.centralwidget)</span><br><span class="line"> self.label_2.setObjectName(<span class="string">u"label_2"</span>)</span><br><span class="line"> self.label_2.setGeometry(QRect(<span class="number">10</span>, <span class="number">10</span>, <span class="number">211</span>, <span class="number">41</span>))</span><br><span class="line"> font3 = QFont()</span><br><span class="line"> font3.setFamilies([<span class="string">u"Weibei SC"</span>])</span><br><span class="line"> font3.setPointSize(<span class="number">24</span>)</span><br><span class="line"> font3.setBold(<span class="literal">True</span>)</span><br><span class="line"> font3.setItalic(<span class="literal">False</span>)</span><br><span class="line"> font3.setUnderline(<span class="literal">False</span>)</span><br><span class="line"> font3.setStrikeOut(<span class="literal">False</span>)</span><br><span class="line"> self.label_2.setFont(font3)</span><br><span class="line"> self.ChooseFile = QPushButton(self.centralwidget)</span><br><span class="line"> self.ChooseFile.setObjectName(<span class="string">u"ChooseFile"</span>)</span><br><span class="line"> self.ChooseFile.setGeometry(QRect(<span class="number">180</span>, <span class="number">10</span>, <span class="number">111</span>, <span class="number">41</span>))</span><br><span class="line"> self.ChooseFile.setFont(font2)</span><br><span class="line"> MainWindow.setCentralWidget(self.centralwidget)</span><br><span class="line"></span><br><span class="line"> self.retranslateUi(MainWindow)</span><br><span class="line"></span><br><span class="line"> QMetaObject.connectSlotsByName(MainWindow)</span><br><span class="line"> <span class="comment"># setupUi</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">retranslateUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> MainWindow.setWindowTitle(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"Van能转换器"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">0</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"MP4"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">1</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"MP3"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">2</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"FLV"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">3</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"MOV"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">4</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"FLAC"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">5</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"OGG"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">6</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"WMA"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">7</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"AVI"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">8</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"WMV"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">9</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"WAV"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.comboBox.setItemText(<span class="number">10</span>, QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"M4A"</span>, <span class="literal">None</span>))</span><br><span class="line"></span><br><span class="line"> self.label.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u8f6c\u5316\u4e3a\uff1a"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.TransNow.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u5f00\u59cb\u8f6c\u6362"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.label_2.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"Van\u80fd\u8f6c\u6362\u5668"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.ChooseFile.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u9009\u62e9\u6587\u4ef6"</span>, <span class="literal">None</span>))</span><br></pre></td></tr></table></figure><h2 id="二、结语"><a href="#二、结语" class="headerlink" title="二、结语"></a>二、结语</h2><p>我对于某些很无聊的线上转换网站感到很不快,明明是「免费」的,却要加广告,上传下载速度都慢,结果到最后下载的时候一个503代码,浪费了我生命中的十分钟。</p><p>我之所以一直在做轻量的实用工具,实际上也只是因为现在的服务太臃肿,我和某些人需要而已,事实上,很多人可以忍受这种虚假的免费,但我们不能。</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>摇人机2007</title>
<link href="/01/GUIedRandom2.html"/>
<url>/01/GUIedRandom2.html</url>
<content type="html"><![CDATA[<h2 id="一、前言与废话"><a href="#一、前言与废话" class="headerlink" title="一、前言与废话"></a>一、前言与废话</h2><p>书接<a href="https://chuishen.xyz/2022/05/14/GUIedRandom/">上文</a>。这个玩意被我们班的人玩烂了,我”突发奇想”打算加点功能。</p><p>上次可能没把这个bonus.txt的功能讲清楚,bonus.txt的每一行都会被读取然后被random.sample函数读取,然后生成随机数。其实本来想要用更加复杂的算法生成抽人动画的,想想觉得没意思。</p><p>然后这次写了一下初始化(防止bonus.txt不存在)和整数数列生成。</p><span id="more"></span><h2 id="二、函数代码"><a href="#二、函数代码" class="headerlink" title="二、函数代码"></a>二、函数代码</h2><h3 id="数列生成器"><a href="#数列生成器" class="headerlink" title="数列生成器"></a>数列生成器</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">generator</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="built_in">min</span> = <span class="built_in">int</span>(self.ui.<span class="built_in">min</span>.toPlainText())</span><br><span class="line"> <span class="built_in">max</span> = <span class="built_in">int</span>(self.ui.<span class="built_in">max</span>.toPlainText())</span><br><span class="line"> array = <span class="built_in">list</span>(<span class="built_in">range</span>(<span class="built_in">min</span>,<span class="built_in">max</span>+<span class="number">1</span>))</span><br><span class="line"> strarr = [<span class="built_in">str</span>(x) <span class="keyword">for</span> x <span class="keyword">in</span> array]</span><br><span class="line"> sth = <span class="string">"\n"</span>.join(strarr)</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">'bonus.txt'</span>,<span class="string">"w"</span>) <span class="keyword">as</span> f:</span><br><span class="line"> f.write(sth)</span><br></pre></td></tr></table></figure><h3 id="比数列生成器更水的初始化,但是很有必要"><a href="#比数列生成器更水的初始化,但是很有必要" class="headerlink" title="比数列生成器更水的初始化,但是很有必要"></a>比数列生成器更水的初始化,但是很有必要</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">first</span>(<span class="params">self</span>):</span><br><span class="line"> f = <span class="built_in">open</span>(<span class="string">'bonus.txt'</span>, <span class="string">'x'</span>)</span><br><span class="line"> f.close()</span><br><span class="line"><span class="comment"># 没有这个初始化会出现chmod 777都拯救不了的BUG,</span></span><br><span class="line"><span class="comment"># 如 [WinError 5]</span></span><br><span class="line"><span class="comment"># 懂的大佬可以来说一下原因吗?</span></span><br><span class="line"><span class="comment"># 很不理解为什么老是会出现文件的权限错误</span></span><br></pre></td></tr></table></figure><h2 id="三、末语"><a href="#三、末语" class="headerlink" title="三、末语"></a>三、末语</h2><p>这个项目的第二个版本的名字——摇人机2007其实是源于它的图标颇具Office 2007/Windows 7的风格。</p><p>PySide6的运行速度还是很慢……让人伤脑筋。难道要我去学C#吗……</p><p>土土收到这个更新之后很快就开始了测试,不知道结果如何,目前来看,应该没有几个大bug。</p><p>话说为什么我要给这么垃圾的程序更新,而不是之前说过要写的视频转换器……恐怕是因为我很懒吧。</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>利用Requests和网易云音乐的API制作简单的网易云音乐下载器</title>
<link href="/01/EMDLPART1.html"/>
<url>/01/EMDLPART1.html</url>
<content type="html"><![CDATA[<h2 id="一、前言与废话"><a href="#一、前言与废话" class="headerlink" title="一、前言与废话"></a>一、前言与废话</h2><p>这是个挺老的玩意了,我第一次尝试做这玩意的时候是在2018年我去千岛湖旅游的时候。</p><p>2022宅在温州乡下(想不宅也没办法,压根出不了家门),翻硬盘,翻到了这玩意,决定重写一遍</p><p>感觉这几年自己就没什么进步,估计退步了不少。</p><p>感觉天空的湛蓝也在为我的忧郁而忧郁。果然这个时候最想要飞翔在空中。但是在这种需要感情共鸣的时候,还不如听一首《魔法使的忧郁》。</p><p>果然是在想念谁,不然周围那么多人走过,自己怎么会感到孤单呢?</p><span id="more"></span><h2 id="二、代码(Python部分)"><a href="#二、代码(Python部分)" class="headerlink" title="二、代码(Python部分)"></a>二、代码(Python部分)</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> curses.<span class="built_in">ascii</span> <span class="keyword">import</span> isdigit</span><br><span class="line"><span class="keyword">from</span> sre_compile <span class="keyword">import</span> isstring</span><br><span class="line"><span class="keyword">import</span> requests, json, sys, time, os</span><br><span class="line"><span class="keyword">from</span> you_get <span class="keyword">import</span> common</span><br><span class="line"><span class="keyword">from</span> bs4 <span class="keyword">import</span> BeautifulSoup</span><br><span class="line"></span><br><span class="line">headers = {<span class="string">'User-Agent'</span>: <span class="string">"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; rv:11.0) like Gecko"</span>}</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">TemplateError</span>(<span class="title class_ inherited__">Exception</span>): <span class="comment">#花里胡哨的一坨错误,自己当初怎么想的</span></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self, err</span>):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"程序出现了错误: "</span>+err)</span><br><span class="line"> Exception().__init__(self, err)</span><br><span class="line"> </span><br><span class="line"><span class="keyword">class</span> <span class="title class_">FanMangError</span>(<span class="title class_ inherited__">TemplateError</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self, code</span>):</span><br><span class="line"> err = <span class="string">'网易云音乐出现了系统繁忙,请在几分钟之后重启程序。错误码: %s'</span> % code</span><br><span class="line"> <span class="built_in">super</span>().__init__(self, err)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">NotExist404</span>(<span class="title class_ inherited__">TemplateError</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> err = <span class="string">'您输入的ID指向不存在的音乐。'</span></span><br><span class="line"> <span class="built_in">super</span>().__init__(self, err)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">VIPMusicError</span>(<span class="title class_ inherited__">TemplateError</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> err = <span class="string">'请使用网易云音乐APP下载VIP音乐。'</span></span><br><span class="line"> <span class="built_in">super</span>().__init__(err)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">IDError</span>(<span class="title class_ inherited__">TemplateError</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> err = <span class="string">'错误的ID'</span></span><br><span class="line"> <span class="built_in">super</span>().__init__(self, err)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">IDTester</span>(<span class="params">ID, ignorance=<span class="literal">True</span></span>):</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> <span class="keyword">if</span> isdigit(ID) == <span class="literal">False</span> <span class="keyword">and</span> ignorance == <span class="literal">False</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f'ID:<span class="subst">{ID}</span>出现错误,请检查是否正确。'</span>)</span><br><span class="line"> logWriter(<span class="string">'出现了错误ID: '</span>+ID+<span class="string">",程序自动退出。"</span>, error=<span class="literal">True</span>)</span><br><span class="line"> sys.exit(<span class="number">0</span>)</span><br><span class="line"> <span class="keyword">if</span> isdigit(ID) == <span class="literal">False</span> <span class="keyword">and</span> ignorance == <span class="literal">True</span>:</span><br><span class="line"> logWriter(<span class="string">'出现了错误ID: '</span>+ID+<span class="string">",程序未退出"</span>,error=<span class="literal">True</span>)</span><br><span class="line"> ID = <span class="built_in">str</span>(ID)</span><br><span class="line"> <span class="keyword">raise</span> IDError</span><br><span class="line"> <span class="keyword">if</span> isstring(ID) == <span class="literal">False</span>:</span><br><span class="line"> ID = <span class="built_in">str</span>(ID)</span><br><span class="line"> <span class="keyword">except</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f'ID:<span class="subst">{ID}</span>出现错误,请检查是否正确。'</span>)</span><br><span class="line"> <span class="keyword">return</span> ID</span><br><span class="line"></span><br><span class="line">c = os.path.abspath(<span class="string">'.'</span>)</span><br><span class="line"><span class="keyword">def</span> <span class="title function_">wyydownloader</span>(<span class="params">ID, ignorance=<span class="literal">True</span>, where=<span class="string">'.'</span></span>):</span><br><span class="line"> <span class="string">'''</span></span><br><span class="line"><span class="string"> 利用官方API实现。</span></span><br><span class="line"><span class="string"> ID是一个字符串,是网易云音乐的歌曲ID,</span></span><br><span class="line"><span class="string"> ignorance是一个是否被错误打断的boolean,若为True则忽视VIP歌曲无法下载错误并给予反馈。</span></span><br><span class="line"><span class="string"> '''</span></span><br><span class="line"> <span class="keyword">if</span> os.getcwd() != c+where:</span><br><span class="line"> os.chdir(where)</span><br><span class="line"> ID = IDTester(ID)</span><br><span class="line"> data = requests.get(<span class="string">'http://music.163.com/api/song/detail/?id='</span>+ID+<span class="string">'&ids=%5B'</span>+ID+<span class="string">'%5D'</span>, headers=headers)</span><br><span class="line"> <span class="keyword">if</span> data.content == <span class="string">r'{"songs":[],"equalizers":{},"code":200}'</span>:</span><br><span class="line"> <span class="keyword">raise</span> NotExist404</span><br><span class="line"> n = json.loads(data.content)</span><br><span class="line"> state = n[<span class="string">'songs'</span>][<span class="number">0</span>][<span class="string">'fee'</span>]</span><br><span class="line"> <span class="keyword">if</span> state == <span class="number">1</span> <span class="keyword">and</span> ignorance == <span class="literal">False</span>:</span><br><span class="line"> <span class="keyword">raise</span> VIPMusicError</span><br><span class="line"> <span class="keyword">if</span> state == <span class="number">1</span> <span class="keyword">and</span> ignorance == <span class="literal">True</span>:</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span></span><br><span class="line"> name = n[<span class="string">'songs'</span>][<span class="number">0</span>][<span class="string">'name'</span>]</span><br><span class="line"> creator = n[<span class="string">'songs'</span>][<span class="number">0</span>][<span class="string">'artists'</span>][<span class="number">0</span>][<span class="string">'name'</span>]</span><br><span class="line"> chunk_size = <span class="number">1024</span></span><br><span class="line"> response = requests.get(<span class="string">'http://music.163.com/song/media/outer/url?id=%s.mp3'</span> % ID, headers=headers)</span><br><span class="line"> file_size = response.headers.get(<span class="string">'Content-Length'</span>)</span><br><span class="line"> <span class="keyword">if</span> file_size <span class="keyword">is</span> <span class="keyword">not</span> <span class="literal">None</span>:</span><br><span class="line"> file_size = <span class="built_in">int</span>(file_size)</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">f'<span class="subst">{name}</span> - <span class="subst">{creator}</span>.mp3'</span>, mode=<span class="string">'wb'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> <span class="keyword">for</span> chunk <span class="keyword">in</span> response.iter_content(chunk_size=chunk_size):</span><br><span class="line"> f.write(chunk)</span><br><span class="line"> logWriter(<span class="string">f'ID为<span class="subst">{ID}</span>的歌曲下载成功。'</span>,error=<span class="literal">False</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">searcher</span>(<span class="params">name</span>):</span><br><span class="line"> f, c, d, k, _ = [], [], [], [], []</span><br><span class="line"> data = requests.get(<span class="string">r'http://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s={'</span>+name+<span class="string">r'}&type=1&offset=0&total=true&limit=20'</span>,headers=headers)</span><br><span class="line"> n = json.loads(data.content)[<span class="string">'result'</span>][<span class="string">'songs'</span>][<span class="number">0</span>:<span class="number">9</span>]</span><br><span class="line"> <span class="keyword">for</span> x <span class="keyword">in</span> <span class="built_in">range</span>(<span class="built_in">len</span>(n)):</span><br><span class="line"> f.append(n[x][<span class="string">'name'</span>])</span><br><span class="line"> c.append(n[x][<span class="string">'artists'</span>][<span class="number">0</span>][<span class="string">'name'</span>])</span><br><span class="line"> d.append(n[x][<span class="string">'id'</span>])</span><br><span class="line"> <span class="keyword">for</span> y <span class="keyword">in</span> <span class="built_in">range</span>(<span class="built_in">len</span>(n)):</span><br><span class="line"> k.append([f[y],c[y],<span class="built_in">str</span>(d[y])])</span><br><span class="line"> <span class="keyword">for</span> z <span class="keyword">in</span> <span class="built_in">range</span>(<span class="built_in">len</span>(n)):</span><br><span class="line"> _.append((<span class="string">'['</span>+<span class="built_in">str</span>(z)+<span class="string">']'</span>)+<span class="string">" | "</span>.join(k[z]))</span><br><span class="line"> <span class="keyword">for</span> __ <span class="keyword">in</span> <span class="built_in">range</span>(<span class="built_in">len</span>(n)):</span><br><span class="line"> <span class="built_in">print</span>(_[__])</span><br><span class="line"> a = <span class="built_in">input</span>(<span class="string">'请输入你选择下载的歌曲: '</span>)</span><br><span class="line"> wyydownloader(<span class="built_in">str</span>(d[<span class="built_in">int</span>(a)]))</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">album_web</span>(<span class="params">ID</span>):</span><br><span class="line"> ID = IDTester(ID)</span><br><span class="line"> url = <span class="string">"https://music.163.com/album?id="</span> + ID</span><br><span class="line"> response = requests.get(url=url, headers=headers)</span><br><span class="line"> html=response.content.decode(encoding=<span class="string">"utf-8"</span>)</span><br><span class="line"> soup = BeautifulSoup(html, <span class="string">'lxml'</span>)</span><br><span class="line"> results = soup.find(<span class="string">'ul'</span>,{<span class="string">'class'</span>:<span class="string">'f-hide'</span>})</span><br><span class="line"> results=results.find_all(<span class="string">'a'</span>)</span><br><span class="line"> download = wyydownloader(results[<span class="number">0</span>][<span class="string">'href'</span>].split(<span class="string">"="</span>)[<span class="number">1</span>],where=<span class="string">'./'</span>+ID)</span><br><span class="line"> <span class="keyword">for</span> music <span class="keyword">in</span> results:</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> download = wyydownloader(music[<span class="string">'href'</span>].split(<span class="string">"="</span>)[<span class="number">1</span>])</span><br><span class="line"> <span class="keyword">if</span> download == <span class="number">0</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'因VIP歌曲的版权原因,该歌曲无法下载。'</span>)</span><br><span class="line"> logWriter(<span class="string">'因VIP歌曲的原因无法下载ID为:{ID}的歌曲'</span>,error=<span class="literal">True</span>)</span><br><span class="line"> <span class="keyword">except</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f'第 <span class="subst">{results.index(music)}</span> 首歌曲的下载出现了问题'</span>)</span><br><span class="line"> <span class="keyword">continue</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">playlist_web</span>(<span class="params">ID</span>):</span><br><span class="line"> ID = IDTester(ID)</span><br><span class="line"> url = <span class="string">"https://music.163.com/playlist?id="</span> + ID</span><br><span class="line"> response = requests.get(url=url, headers=headers)</span><br><span class="line"> html=response.content.decode(encoding=<span class="string">"utf-8"</span>)</span><br><span class="line"> <span class="comment">#print(html)</span></span><br><span class="line"> soup = BeautifulSoup(html, <span class="string">'lxml'</span>)</span><br><span class="line"> results = soup.find(<span class="string">'ul'</span>,{<span class="string">'class'</span>:<span class="string">'f-hide'</span>})</span><br><span class="line"> results=results.find_all(<span class="string">'a'</span>)</span><br><span class="line"> <span class="keyword">if</span> os.path.exists(<span class="string">f'./<span class="subst">{ID}</span>'</span>) == <span class="literal">False</span>:</span><br><span class="line"> os.makedirs(<span class="string">f'./<span class="subst">{ID}</span>'</span>)</span><br><span class="line"> <span class="keyword">for</span> music <span class="keyword">in</span> results:</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> download = wyydownloader(music[<span class="string">'href'</span>].split(<span class="string">"="</span>)[<span class="number">1</span>],where=<span class="string">f'./<span class="subst">{ID}</span>'</span>)</span><br><span class="line"> <span class="keyword">if</span> download == <span class="number">0</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'因VIP歌曲的版权原因,该歌曲无法下载。'</span>)</span><br><span class="line"> logWriter(<span class="string">'因VIP歌曲的原因无法下载ID为:{ID}的歌曲'</span>,error=<span class="literal">True</span>)</span><br><span class="line"> <span class="keyword">except</span> Exception <span class="keyword">as</span> e:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f'第 <span class="subst">{results.index(music)}</span> 首歌曲的下载出现了问题'</span>)</span><br><span class="line"> <span class="built_in">print</span>(e)</span><br><span class="line"> <span class="keyword">continue</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">playlist_full</span>(<span class="params">ID</span>): <span class="comment">#不建议使用,网易云音乐的服务器的这个API常常挂机。</span></span><br><span class="line"> ID = IDTester(ID)</span><br><span class="line"> url = <span class="string">'https://music.163.com/api/playlist/detail?id='</span> + ID</span><br><span class="line"> response = requests.get(url=url, headers=headers)</span><br><span class="line"> results = json.loads(response.content)</span><br><span class="line"> <span class="keyword">if</span> results[<span class="string">'code'</span>] == -<span class="number">447</span>:</span><br><span class="line"> <span class="keyword">raise</span> FanMangError(results[<span class="string">'code'</span>])</span><br><span class="line"> <span class="built_in">print</span>(results)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">lyrics</span>(<span class="params">ID</span>):</span><br><span class="line"> ID = IDTester(ID)</span><br><span class="line"> <span class="keyword">try</span>:</span><br><span class="line"> url = <span class="string">'http://music.163.com/api/song/media?id='</span> + ID</span><br><span class="line"> data = json.loads(requests.get(url=url,headers=headers).content)</span><br><span class="line"> <span class="keyword">except</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">'您输入的ID指向不存在的音乐。'</span>)</span><br><span class="line"> <span class="keyword">if</span> <span class="string">'lyric'</span> <span class="keyword">in</span> data:</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(ID+<span class="string">'.lrc'</span>, <span class="string">'w'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> f.write(data[<span class="string">'lyric'</span>])</span><br><span class="line"></span><br><span class="line"><span class="comment"># def getImg(ID):</span></span><br><span class="line"><span class="comment"># data = requests.get('http://music.163.com/api/song/detail/?id='+ID+'&ids=%5B'+ID+'%5D', headers=headers)</span></span><br><span class="line"><span class="comment"># n = json.loads(data.content)</span></span><br><span class="line"><span class="comment"># url = n['songs'][0]['album']['picurl']</span></span><br><span class="line"><span class="comment"># img = requests.get(url=url,headers=headers).content</span></span><br><span class="line"><span class="comment"># with open('./img/'+ID+'.jpg','wb') as f:</span></span><br><span class="line"><span class="comment"># f.write(img)</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">logWriter</span>(<span class="params">msg,error=<span class="literal">True</span></span>): <span class="comment">#这个日志记录器也很失败</span></span><br><span class="line"> <span class="keyword">if</span> error == <span class="literal">True</span>:</span><br><span class="line"> state = <span class="string">'ERROR'</span></span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> state = <span class="string">'INFO'</span></span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">'日志.log'</span>,<span class="string">'a'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> f.write(<span class="string">f'[<span class="subst">{time.localtime(time.time())}</span>][<span class="subst">{state}</span>]:'</span>+msg)</span><br><span class="line"></span><br><span class="line"><span class="comment"># def addData(file, image): #这里本来想要写一个把专辑图片粘到mp3上去的函数的,想想算了,意义不大。</span></span><br><span class="line"><span class="comment"># pass</span></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">'__main__'</span>:</span><br><span class="line"> playlist_web(<span class="string">'7266482854'</span>)</span><br></pre></td></tr></table></figure><h2 id="三、后语"><a href="#三、后语" class="headerlink" title="三、后语"></a>三、后语</h2><p>在我写着这个东西的时候,我突然想起来有个东西叫you-get。</p><p>真是一出西西弗斯式的悲剧。但是我感觉我写的这个测出来的效率好像要比这个you-get高那么一点,可能是网速的问题?</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>利用 Flask 和 FFmpeg 制作简单的音乐转换器</title>
<link href="/01/FlaskAudio.html"/>
<url>/01/FlaskAudio.html</url>
<content type="html"><![CDATA[<h2 id="一、前言与废话"><a href="#一、前言与废话" class="headerlink" title="一、前言与废话"></a>一、前言与废话</h2><p>我跟土土聊了一会天,然后我说:“要不我们俩写个音频转换器,用Python+Flask?”</p><p>“没问题。”</p><p>下午,我写完了。</p><p>土土懵了(说好一起写的呢Q w Q)。</p><span id="more"></span><h2 id="二、代码(python部分)"><a href="#二、代码(python部分)" class="headerlink" title="二、代码(python部分)"></a>二、代码(python部分)</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> pathlib</span><br><span class="line"><span class="keyword">from</span> pydub <span class="keyword">import</span> AudioSegment</span><br><span class="line"><span class="keyword">from</span> flask <span class="keyword">import</span> Flask, request, render_template</span><br><span class="line"></span><br><span class="line">app = Flask(__name__)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">trans_any_audio_types</span>(<span class="params">filepath, input_audio_type, output_audio_type</span>):</span><br><span class="line"> song = AudioSegment.from_file(filepath, input_audio_type)</span><br><span class="line"> filename = filepath.split(<span class="string">"."</span>)[<span class="number">0</span>]</span><br><span class="line"> <span class="keyword">if</span> os.getcwd() != <span class="string">"/Users/zhengwanlun/Desktop/Python/音乐转换器/static"</span>:</span><br><span class="line"> <span class="built_in">print</span>(os.getcwd())</span><br><span class="line"> os.chdir(<span class="string">'./static/'</span>)</span><br><span class="line"> song.export(<span class="string">f"<span class="subst">{filename}</span>.<span class="subst">{output_audio_type}</span>"</span>, <span class="built_in">format</span>=<span class="string">f"<span class="subst">{output_audio_type}</span>"</span>)</span><br><span class="line"></span><br><span class="line"><span class="meta">@app.route(<span class="params"><span class="string">'/conv/'</span></span>)</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">convert_page</span>():</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">'index.html'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> html = f.read()</span><br><span class="line"> <span class="keyword">return</span> html</span><br><span class="line"></span><br><span class="line"><span class="meta">@app.route(<span class="params"><span class="string">'/upload'</span>,methods=[<span class="string">'POST'</span>]</span>)</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">upload</span>():</span><br><span class="line"> <span class="keyword">global</span> file_extension</span><br><span class="line"> f = request.files[<span class="string">'file'</span>]</span><br><span class="line"> file_extension = pathlib.Path(f.filename).suffix</span><br><span class="line"> EXT = file_extension.strip(<span class="string">'.'</span>)</span><br><span class="line"> f.save(<span class="string">'temp'</span>+file_extension)</span><br><span class="line"> trans_any_audio_types(<span class="string">'temp'</span>+file_extension,EXT,<span class="string">'mp3'</span>)</span><br><span class="line"> <span class="keyword">return</span> render_template(<span class="string">'page1.html'</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">'__main__'</span>:</span><br><span class="line"> app.run(host=<span class="string">'0.0.0.0'</span>,port=<span class="number">5000</span>)</span><br></pre></td></tr></table></figure><p>顺便一提,trans_any_audio_types函数是我改变自某个之前看到过的知乎的帖子里的,但是帖子好像没了。知道出处的可以留个言来帮我找到出处。</p><h2 id="三、HTML部分"><a href="#三、HTML部分" class="headerlink" title="三、HTML部分"></a>三、HTML部分</h2><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag"><<span class="name">html</span>></span></span><br><span class="line"><span class="tag"><<span class="name">head</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">title</span>></span>File Upload<span class="tag"></<span class="name">title</span>></span></span><br><span class="line"><span class="tag"></<span class="name">head</span>></span></span><br><span class="line"><span class="tag"><<span class="name">body</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">form</span> <span class="attr">action</span>=<span class="string">"http://localhost:5000/upload"</span> <span class="attr">method</span>=<span class="string">"POST"</span> <span class="attr">enctype</span>=<span class="string">"multipart/form-data"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">input</span> <span class="attr">type</span>=<span class="string">"file"</span> <span class="attr">name</span>=<span class="string">"file"</span> /></span></span><br><span class="line"> <span class="tag"><<span class="name">input</span> <span class="attr">type</span>=<span class="string">"submit"</span> <span class="attr">value</span>=<span class="string">"提交"</span> /></span></span><br><span class="line"> <span class="tag"></<span class="name">form</span>></span></span><br><span class="line"><span class="tag"></<span class="name">body</span>></span></span><br><span class="line"><span class="tag"></<span class="name">html</span>></span></span><br></pre></td></tr></table></figure><p>其实这段没啥,也可以看出Python程序是在自娱自乐,HTML部分压根没参与一点动态的活。</p><h2 id="四、末语"><a href="#四、末语" class="headerlink" title="四、末语"></a>四、末语</h2><p>土土:啊,这么快就写完了,写个“迅捷转换器”之类的东西吧。</p><p>根据“和土土说过要写啥就能很快的写出来”的原则,下一个好像要做视频转换+Flask?个人觉得不会有人会用线上的视频和音频转换吧。这个音频转换已经足够不实用了,我还能写出什么更加不实用的东西?</p><p>还真能,社会课的老师说自己的U盘里原来的抽人软件里有病毒(你懂的,P2P下载器之类的),于是我要写一个班级抽人使用的带GUI的抽奖程序。这代码写着写着都出剧情了(笑)。这个时代已经充斥着许多同类型产品(对于这个项目来说,则是线上的随机数网站,它从各个方面上都可以碾压我的抽奖程序),但是有很多人就是看不到,我想要送给一些人这样一句话。</p><p>“带着会不会发现什么有用的东西的想法来看,这样是不会注意到真正有用的东西的。”</p><p>——ZUN</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>利用 Flask 和 Captcha 制作简单的验证码生成器</title>
<link href="/01/FlaskCaptcha.html"/>
<url>/01/FlaskCaptcha.html</url>
<content type="html"><![CDATA[<h2 id="一、前言与废话"><a href="#一、前言与废话" class="headerlink" title="一、前言与废话"></a>一、前言与废话</h2><p>多年之前,我曾经给土土发过一个神奇的本地验证码生成器。当时我有一个习惯,写什么都要加个GUI,但是因为我想想觉得验证码生成器没必要有GUI,所以就没写。但是我写了一个叫BabyMode的函数,这个函数其实很简单,就是在Module无法导入的时候把所有模块全都下载安装一遍(用pip)。这个函数后来成为了我们俩之间的梗。</p><span id="more"></span><p>土土后来写了一个Flask实现的验证码生成器,我觉得自己很菜,连Flask都不会还学个啥Python,所以我当天就写出了验证码生成器(话说这样不算内卷吧),还学会了很多东西,果然竞争的存在是提高自己学习能力的必要条件。</p><h2 id="二、代码"><a href="#二、代码" class="headerlink" title="二、代码"></a>二、代码</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> captcha.image <span class="keyword">import</span> ImageCaptcha</span><br><span class="line"><span class="keyword">from</span> flask <span class="keyword">import</span> Flask, render_template, request</span><br><span class="line"><span class="keyword">import</span> string</span><br><span class="line"><span class="keyword">import</span> random</span><br><span class="line"></span><br><span class="line">app = Flask(__name__)</span><br><span class="line">imgsrc = <span class="string">'<img src="https://www.z4a.net/images/2022/05/03/%s.png" loading="eager" border="0">'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">generator</span>(<span class="params">name=<span class="string">"code.png"</span></span>):<span class="comment">#ImageCaptcha库实现的验证码生成,之前和土土用的是我自己写的算法,回头看看不堪入目</span></span><br><span class="line"> token = string.digits + string.ascii_letters</span><br><span class="line"> cap = random.sample(token,<span class="number">8</span>)</span><br><span class="line"> token_str = <span class="string">''</span>.join(cap)</span><br><span class="line"> img = ImageCaptcha(width=<span class="number">400</span>,height=<span class="number">150</span>)</span><br><span class="line"> image = img.generate_image(token_str)</span><br><span class="line"> image.save(name)</span><br><span class="line"> <span class="keyword">return</span> token_str</span><br><span class="line"></span><br><span class="line"><span class="meta">@app.route(<span class="params"><span class="string">'/'</span>, methods=[<span class="string">'GET'</span>,<span class="string">'POST'</span>]</span>)</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">index</span>():</span><br><span class="line"> <span class="comment">#index.html,分GET和POST,我把输入验证码和验证码正确错误的返回坐在一起了,debug的时候只需要重新进入网页就可以重新开始测试</span></span><br><span class="line"> <span class="keyword">global</span> real_str</span><br><span class="line"> <span class="keyword">if</span> request.method == <span class="string">'POST'</span>:</span><br><span class="line"> result = request.form</span><br><span class="line"> r = result.get(<span class="string">'yanzheng'</span>).lower() == real_str.lower()</span><br><span class="line"> <span class="keyword">if</span> r:</span><br><span class="line"> <span class="keyword">return</span> imgsrc % <span class="string">'183127ad86d33bc4a.md'</span></span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> <span class="keyword">return</span> imgsrc % <span class="string">'2731445bae82f42e5'</span></span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">"index.html"</span>) <span class="keyword">as</span> f:</span><br><span class="line"> content = f.read()</span><br><span class="line"> <span class="keyword">return</span> content</span><br><span class="line"></span><br><span class="line"><span class="meta">@app.route(<span class="params"><span class="string">'/code.png'</span></span>)</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">view</span>():<span class="comment">#显示code.png,其实这个函数写的很烂,会的都知道可以怎么写来提升代码整体质量</span></span><br><span class="line"> <span class="keyword">global</span> real_str</span><br><span class="line"> real_str = generator()</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">'code.png'</span>, <span class="string">'rb'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> content = f.read()</span><br><span class="line"> <span class="keyword">return</span> content</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">'__main__'</span>:</span><br><span class="line"> app.run(host=<span class="string">'127.0.0.1'</span>,port=<span class="string">'2333'</span>) <span class="comment">#启动服务器</span></span><br></pre></td></tr></table></figure><h2 id="三、使用方法"><a href="#三、使用方法" class="headerlink" title="三、使用方法"></a>三、使用方法</h2><p>打开程序,打开浏览器,输入localhost:2333。</p><p>或者你是一个聪明人,你可以从代码或者注释中自己找到该干嘛。</p><p>如果是大佬的话,那我只能说,这篇文章对您几乎毫无营养,如果您不喜欢这种风格的代码分享,请慎重考虑要不要继续浏览本博客的其他内容。</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
<entry>
<title>利用PySide2和random模块制作简单的摇人机</title>
<link href="/01/GUIedRandom.html"/>
<url>/01/GUIedRandom.html</url>
<content type="html"><![CDATA[<h2 id="一、前言与废话"><a href="#一、前言与废话" class="headerlink" title="一、前言与废话"></a>一、前言与废话</h2><p>这次是我在学校里写的,所以没有我和土土的废话。</p><p>我感觉我透过镜子看事物,仿佛一切都是那么的真实,但是却触摸不到事情的本质,因此,这镜子使我目盲。</p><p>直到我发现这镜子是我眼睛中的晶状体。</p><span id="more"></span><h2 id="二、代码(主体部分)"><a href="#二、代码(主体部分)" class="headerlink" title="二、代码(主体部分)"></a>二、代码(主体部分)</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> random</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> QApplication, QMainWindow</span><br><span class="line"><span class="keyword">from</span> PySide6 <span class="keyword">import</span> QtCore</span><br><span class="line"><span class="keyword">from</span> ui <span class="keyword">import</span> Ui_MainWindow</span><br><span class="line"></span><br><span class="line">QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">MainWindow</span>(<span class="title class_ inherited__">QMainWindow</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="built_in">super</span>(MainWindow, self).__init__()</span><br><span class="line"> self.ui = Ui_MainWindow()</span><br><span class="line"> self.ui.setupUi(self)</span><br><span class="line"> self.ui.pushButton.clicked.connect(self.solve)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">solve</span>(<span class="params">self</span>):</span><br><span class="line"> num = <span class="built_in">int</span>(self.ui.inputer.toPlainText())</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">'bonus.txt'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> data = f.read().split(<span class="string">'\n'</span>)</span><br><span class="line"> samples = random.sample(data, num)</span><br><span class="line"> self.ui.outputer.setText(<span class="string">";"</span>.join(samples))</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</span><br><span class="line"> app = QApplication(sys.argv)</span><br><span class="line"> window = MainWindow()</span><br><span class="line"> window.show()</span><br><span class="line"> sys.exit(app.exec_())</span><br></pre></td></tr></table></figure><p>写这个的时候,在听的是“飞翔在空中的不可思议的巫女的每日”。真是美妙的曲子,让人感觉卸下了眼睛,只用耳朵感受天空的世界。</p><h2 id="三、UI部分"><a href="#三、UI部分" class="headerlink" title="三、UI部分"></a>三、UI部分</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># -*- coding: utf-8 -*-</span></span><br><span class="line"></span><br><span class="line"><span class="comment">################################################################################</span></span><br><span class="line"><span class="comment">## Form generated from reading UI file 'untitled.ui'</span></span><br><span class="line"><span class="comment">##</span></span><br><span class="line"><span class="comment">## Created by: Qt User Interface Compiler version 5.15.2</span></span><br><span class="line"><span class="comment">##</span></span><br><span class="line"><span class="comment">## WARNING! All changes made in this file will be lost when recompiling UI file!</span></span><br><span class="line"><span class="comment">################################################################################</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> PySide6.QtCore <span class="keyword">import</span> *</span><br><span class="line"><span class="keyword">from</span> PySide6.QtGui <span class="keyword">import</span> *</span><br><span class="line"><span class="keyword">from</span> PySide6.QtWidgets <span class="keyword">import</span> *</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">Ui_MainWindow</span>(<span class="title class_ inherited__">object</span>):</span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">setupUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> <span class="keyword">if</span> <span class="keyword">not</span> MainWindow.objectName():</span><br><span class="line"> MainWindow.setObjectName(<span class="string">u"MainWindow"</span>)</span><br><span class="line"> MainWindow.resize(<span class="number">500</span>, <span class="number">368</span>)</span><br><span class="line"> self.centralwidget = QWidget(MainWindow)</span><br><span class="line"> self.centralwidget.setObjectName(<span class="string">u"centralwidget"</span>)</span><br><span class="line"> self.label = QLabel(self.centralwidget)</span><br><span class="line"> self.label.setObjectName(<span class="string">u"label"</span>)</span><br><span class="line"> self.label.setGeometry(QRect(<span class="number">9</span>, <span class="number">9</span>, <span class="number">192</span>, <span class="number">72</span>))</span><br><span class="line"> font = QFont()</span><br><span class="line"> font.setFamily(<span class="string">u"\u54e5\u7279\u5f0f\u5b57\u4f53"</span>)</span><br><span class="line"> font.setPointSize(<span class="number">48</span>)</span><br><span class="line"> self.label.setFont(font)</span><br><span class="line"> self.pushButton = QPushButton(self.centralwidget)</span><br><span class="line"> self.pushButton.setObjectName(<span class="string">u"pushButton"</span>)</span><br><span class="line"> self.pushButton.setGeometry(QRect(<span class="number">11</span>, <span class="number">308</span>, <span class="number">481</span>, <span class="number">34</span>))</span><br><span class="line"> font1 = QFont()</span><br><span class="line"> font1.setFamily(<span class="string">u"\u65b9\u6b63\u7c97\u9ed1\u5b8b\u7b80\u4f53"</span>)</span><br><span class="line"> font1.setPointSize(<span class="number">16</span>)</span><br><span class="line"> self.pushButton.setFont(font1)</span><br><span class="line"> self.outputer = QTextBrowser(self.centralwidget)</span><br><span class="line"> self.outputer.setObjectName(<span class="string">u"outputer"</span>)</span><br><span class="line"> self.outputer.setGeometry(QRect(<span class="number">10</span>, <span class="number">201</span>, <span class="number">482</span>, <span class="number">101</span>))</span><br><span class="line"> font2 = QFont()</span><br><span class="line"> font2.setFamily(<span class="string">u"8514oem"</span>)</span><br><span class="line"> font2.setPointSize(<span class="number">28</span>)</span><br><span class="line"> self.outputer.setFont(font2)</span><br><span class="line"> self.outputer.setCursorWidth(<span class="number">0</span>)</span><br><span class="line"> self.label_2 = QLabel(self.centralwidget)</span><br><span class="line"> self.label_2.setObjectName(<span class="string">u"label_2"</span>)</span><br><span class="line"> self.label_2.setGeometry(QRect(<span class="number">9</span>, <span class="number">87</span>, <span class="number">120</span>, <span class="number">25</span>))</span><br><span class="line"> font3 = QFont()</span><br><span class="line"> font3.setFamily(<span class="string">u"\u65b9\u6b63\u7c97\u9ed1\u5b8b\u7b80\u4f53"</span>)</span><br><span class="line"> font3.setPointSize(<span class="number">15</span>)</span><br><span class="line"> self.label_2.setFont(font3)</span><br><span class="line"> self.inputer = QPlainTextEdit(self.centralwidget)</span><br><span class="line"> self.inputer.setObjectName(<span class="string">u"inputer"</span>)</span><br><span class="line"> self.inputer.setGeometry(QRect(<span class="number">9</span>, <span class="number">118</span>, <span class="number">482</span>, <span class="number">41</span>))</span><br><span class="line"> self.label_3 = QLabel(self.centralwidget)</span><br><span class="line"> self.label_3.setObjectName(<span class="string">u"label_3"</span>)</span><br><span class="line"> self.label_3.setGeometry(QRect(<span class="number">10</span>, <span class="number">170</span>, <span class="number">120</span>, <span class="number">25</span>))</span><br><span class="line"> self.label_3.setFont(font3)</span><br><span class="line"> MainWindow.setCentralWidget(self.centralwidget)</span><br><span class="line"> self.statusbar = QStatusBar(MainWindow)</span><br><span class="line"> self.statusbar.setObjectName(<span class="string">u"statusbar"</span>)</span><br><span class="line"> MainWindow.setStatusBar(self.statusbar)</span><br><span class="line"></span><br><span class="line"> self.retranslateUi(MainWindow)</span><br><span class="line"></span><br><span class="line"> QMetaObject.connectSlotsByName(MainWindow)</span><br><span class="line"> <span class="comment"># setupUi</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">retranslateUi</span>(<span class="params">self, MainWindow</span>):</span><br><span class="line"> MainWindow.setWindowTitle(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6447\u4eba\u673a"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.label.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6447\u4eba\u673a"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.pushButton.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6447\u4eba\u55bd"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.label_2.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u8981\u6447\u51e0\u4e2a\u4eba\uff1a"</span>, <span class="literal">None</span>))</span><br><span class="line"> self.label_3.setText(QCoreApplication.translate(<span class="string">"MainWindow"</span>, <span class="string">u"\u6447\u51fa\u6765\u7684\u4eba\uff1a"</span>, <span class="literal">None</span>))</span><br><span class="line"> <span class="comment"># retranslateUi</span></span><br></pre></td></tr></table></figure><h2 id="四、末语"><a href="#四、末语" class="headerlink" title="四、末语"></a>四、末语</h2><p>土土在帮我测试代码的时候,因为他使用的是装载M1芯片的MacBook Air,装不了PySide2,所以我把所有的PySide2改成了PySide6。</p><p>代码照常运行。(neta自《太阳照常升起》)</p>]]></content>
<tags>
<tag> Python </tag>
<tag> 编程 </tag>
</tags>
</entry>
</search>