forked from brejc8/ComPressure-lang.json
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lang.json
3640 lines (3632 loc) · 542 KB
/
lang.json
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
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"English":
{
"tooltips":
{
"Save" : "Save",
"Restore" : "Restore",
"Best solution" : "Best solution",
"Customize" : "Customize",
"Import level" : "Import level",
"Delete" : "Delete",
"Copy design\nto current" : "Copy design\nto current",
"Delete level" : "Delete level",
"Return" : "Return",
"Level Editor" : "Level Editor",
"Level select" : "Level select",
"Design" : "Design",
"Test" : "Test",
"Experiment" : "Experiment",
"Scores" : "Scores",
"Help" : "Help",
"Repeat\ndialogue" : "Repeat\ndialogue",
"Hint" : "Hint",
"New design" : "New design",
"Valve" : "Valve",
"Steam Inlet" : "Steam Inlet",
"Rotate left" : "Rotate left",
"Rotate right" : "Rotate right",
"Reflect\nvertically" : "Reflect\nvertically",
"Reflect\nhorizontally" : "Reflect\nhorizontally",
"Lock blocks" : "Lock blocks",
"Add sign" : "Add sign",
"Stop tests" : "Stop tests",
"Repeat 1 test" : "Repeat 1 test",
"Run all tests" : "Run all tests",
"Export to\nclipboard" : "Export to\nclipboard",
"Import from\nclipboard" : "Import from\nclipboard",
"Accuracy mode" : "Accuracy mode",
"Price mode" : "Price mode",
"Steam mode" : "Steam mode",
"Confirm" : "Confirm",
"Cancel" : "Cancel",
"Exit" : "Exit",
"Full Screen" : "Full Screen",
"Join our Discord group" : "Join our Discord group",
"Info" : "Info",
"Select language" : "Select language",
"Number resolution" : "Number resolution",
"If you are stuck, consider discussing your challenges with the brightest minds of our High Pressure Steam Society on Discord. Press Esc and click the \"Join our Discord group\" button." :
"If you are stuck, consider discussing your challenges with the brightest minds of our High Pressure Steam Society on Discord. Press Esc and click the \"Join our Discord group\" button.",
"Alas our journey must stop somewhere. The adventure continues\nin the full game.\n\nTo be continued..." :
"Alas our journey must stop somewhere. The adventure continues\nin the full game.\n\nTo be continued...",
"Cross" : "Cross",
"50" : "50",
"Normally Open" : "Normally Open",
"Normally Closed" : "Normally Closed",
"Switch" : "Switch",
"Buffer" : "Buffer",
"Inverter" : "Inverter",
"Comparator" : "Comparator",
"Amp50" : "Amp50",
"Div2" : "Div2",
"Mul2" : "Mul2",
"Encrypt" : "Encrypt",
"Decrypt" : "Decrypt",
"Sensor" : "Sensor",
"Subtractor" : "Subtractor",
"Adder" : "Adder",
"Latch" : "Latch",
"Tabulator" : "Tabulator",
"Broken Link" : "Broken Link",
"Zoom" : "Zoom",
"Flow Detector" : "Flow Detector",
"LatchE" : "LatchE",
"Latch2" : "Latch2",
"Latch5" : "Latch5",
"Latch10" : "Latch10",
"Min" : "Min",
"Max" : "Max",
"Fuse" : "Fuse",
"Counter" : "Counter",
"ROM" : "ROM",
"Poem" : "Poem",
"Clock" : "Clock",
"Cross v2" : "Cross v2",
"CounterE" : "CounterE",
"Delay" : "Delay",
"Self-timed latch" : "Self-timed latch",
"Lock Picking" : "Lock Picking",
"Code filter" : "Code filter",
"Steamputer" : "Steamputer",
"END" : "END"
},
"help":
[
"In the level select menu, the bottom panel describes the design requirements. Each design has four ports and the requirements state the expected output in terms of other ports. Each port has a colour identifier. Click on the requirements to receive a hint.",
"Once you pass all the tests, the next design becomes available. You can always come back to refine your solution.\n\nPress the pipe button below to continue the tutorial. You can return to the help by pressing F1.",
"Pipes can be laid down by either left mouse button dragging the pipe from the source to the destination, or by clicking left mouse button to extend the pipe in the direction of the mouse. Right click to cancel pipe laying mode.",
"Hold the right mouse button to delete pipes and other elements.",
"The build menu allows you to add components into your design. Select the steam inlet component and hover over your design. The arrow buttons change the orientation. This can also be done using keys Q and E or the mouse scroll wheel. Clicking the left mouse button will place the component. Right click to exit steam inlet placing mode.",
"Valves can be placed in the same way. Pressing Tab, or middle mouse button, is a shortcut to enter valve placement mode. Pressing Tab, or middle mouse button, again switches to steam inlet placement.",
"A steam inlet will supply steam at pressure 100. Any pipes with open ends will vent the steam to the atmosphere at pressure 0.",
"Pressure at different points is visible on pipe connections. Note how each pipe has a little resistance.",
"Valves allow steam to pass through them if the (+) side of the valve is at a higher pressure than the (-) side. The higher it is, the more the valve is open. Steam on the (+) and (-) sides is not consumed.\n\nHere, the (-) side is vented to atmosphere and thus at 0 pressure. With (+) at 100 PSI and (-) at 0 PSI, the valve is 100% open. If (+) is at 75 and (-) is at 25, the valve will be 50% open.",
"If the pressure on the (+) side is equal or lower than the (-) side, the valve becomes closed and no steam will pass through.",
"By pressurising (+) side with a steam inlet, the valve will become open only if the pressure on the (-) side is lower than 100 PSI.\n\nAs before, the openness of the valve is the pressure on the (+) side minus the pressture on the (-) side.",
"Applying high pressure to the (-) side will close the valve as the pressure on the (-) side becomes equal or higher than the (+) side.",
"The test menu allows you to inspect how well your design is performing. The first three buttons pause the testing, repeatedly run a single test and run all tests respectively. You can also use hotkeys 1, 2 and 3.\n\nThe current scores for individual tests are shown with the scores of best design seen below. On the right is the final score formed from the worst of all tests.",
"The next panel shows the sequence of inputs and expected outputs for the current test. The current phase is highlighted. The output recorded on the last run is shown to the right. You can press Space to fast forward to the next phase.\n\nThe score is based on how close the output is to the target value. The graph shows the output value during the final stage of the test. The faded line in the graph shows the path of the best design so far.",
"The experiment menu allows you to manually set the ports and examine your design's operation. The vertical sliders set the desired value. The horizontal sliders below set force of the input. Setting the slider all the way left makes it an output. Initial values are set from the current test.",
"The graph at the bottom shows the history of the port values.",
"Components can be selected by either clicking while holding Ctrl, or dragging while holding Shift. Selected components can be moved using WASD keys, or rotated using Q and E, if the destination is empty. Keys to copy and paste are: C for copy, X for cut and V for paste. To delete selected components, press Delete.\n\nUndo is reached through Z key (Ctrl is optional) and Redo through either Y or Shift+Z. Undo can also be triggered by holding right mouse button and clicking the left one.",
"Pressing Esc shows the game menu. The buttons allow you to exit the game, switch between windowed and full screen, join our Discord group and show credits.\n\nThe sliders adjust the sound effects and music volumes.",
"Completed designs are available for use as components. Available components are shown in the build menu. Changing a design will update its implementation in all components.\n\nDouble-clicking on the component allows you to inspect it. You can pop back up the stack by clicking the design icon in the top left. Pressing the customize button, while inspecting, creates a local design which can be edited and is no longer updated when the original is changed. The design will turn red to signify this.",
"There are four slots to save designs. The best design is also saved so it can be recalled later. Designs can be exchanged using a clipboard string.\n\nClicking the score shows the global score graph, and your score compared to your friends. Their designs are available to be examined.",
"One method of creating a specific pressure is by simultaneously supplying and venting a pipe at a specific ratio. A valve is as open as the pressure on the (+) side minus the pressure on the (-) side.\n\nOpenness = P - N\n\nWhere P is the pressure on the Positive side of the valve and N is the pressure on the Negative side. Here the lower valve openness is 40 (60 - 20).",
"The pressure generated in this arrangement is, in percent, the openness of the source valve divided by the sum of the openness of both valves.\n\nPressure = S / (S + V)\n\nWhere S is Supply valve openness and V is Venting valve openness.\nIn this case, Supply is 40 (40 - 0). Venting is also 40 (60 - 20). The expected value between is 40 / (40 + 40) = 50%, thus 50 PSI.",
"Three scoring modes are available. The default (Accuracy) mode scores the proximity to the target value (for the worst test).\n\nPrice mode ranks designs by cost. Pipes cost £1 per port, valves cost £10 and steam inlets cost £5. There is an extra £4 charge for each subdesign.\n\nSteam mode measures the amount of steam supplied by the steam inlets.",
"It is possible to create user defined levels. These have a user defined icon, tests and can be exchanged through the clipboard.\nTests and test steps can be added/removed using the +/- buttons. The time period per step is configurable. If, when playing all tests, some steps can be skipped, the skip all button selects the subtest to start on. The design can be optionally reset on all or only in play one test mode. The port icons select which ports are used. Clicking the ports on the left of the value selects the ports used as the output. The values are changed in the experiment menu."
],
"dialogue":
[
[
{"who":"charles", "text":"Greetings Gertrude! My name is Charles Chavvington, the proprietor of these General High Pressure Steam Works. From here we supply High Pressure Steam across half the city, powering everything from steam umbrellas to steam xylophones.\n\nMy dearly departed wife, Ada, stipulated that her research into the mathematical properties of steam should continue beyond her time with us. Which leads us to the reason for you coming into my employ. Your undertaking shall be to preserve her legacy and continue these scientific inquiries."},
{"who":"charles", "text":"I trust you have mastered elementary steam engineering in your prior studies, but before we allow you access to her laboratory, you must first demonstrate you are adept at basic steam pipe construction.\n\nConnect the West generator to the East facilities, and the North generator to the South facilities. Under no circumstance should you connect the pipes together! Doing so will deliver free steam to the South facilities, and they never pay their bills on time!"},
{"who":"charles", "text":"If you are unfamiliar with our High Pressure Steam pipes, there is an engineering manual available up on the top right with the \"?\" symbol."}
],
[
{"who":"charles", "text":"Darn it! The secure door to Ada's laboratory is operated with low pressure steam! I could never figure out how she would get this blasted thing open.\n\nHere at General High Pressure Steam Works we generate steam at 100 Pounds per Square Inch. The door uses Moorhouse's low pressure steam which operates at 50 Pounds per Square Inch (PSI). I'll be damned if I pipe that degenerate Moorhouse steam onto my property!"},
{"who":"charles", "text":"Unless you can magic up a supply of low pressure steam at 50 PSI, we might as well give up.\n\nIn the build menu, you will find a steam inlet which can supply you plenty of High Pressure Steam at 100 PSI. It is up there, marked with a spanner. You can also press Tab twice to get access to it."}
],
[
{"who":"charles", "text":"By Jove! You did it! Terrible waste of good steam, but it got the job done. I apologise for the untidy state, but some hoodlums have gained access and left a frightful mess.\n\nIn this laboratory, my dearest Ada conducted experiments on the valves I constructed to her exact specifications. By applying a good dose of High Pressure Steam to the port marked with a \"+\", we can open the valve, allowing steam to pass freely between the two unmarked ends."},
{"who":"charles", "text":"Give it a try. Connect West and East, but only when North is at a High Pressure."}
],
[
{"who":"nicola", "text":"Impressive!"},
{"who":"charles", "text":"Ah, Nicola, you are just in time. Gertrude, Nicola will be your assistant. He has already begun studying the notes Ada left. Now, the next bit is a little more challenging for the old grey matter.\n\nWhile applying steam to the \"+\" port opens the valve, applying steam to the \"-\" side closes it. The valve is only open when \"+\" is under a Higher Pressure than the \"-\" side."},
{"who":"charles", "text":"Ada asked me to add this so she could make a valve that closes upon application of High Pressure to the control pipe. Let's see if these valves still operate correctly.\n\nConnect the East and West, but only when the pressure coming from the South is lower than 100 PSI.\n\nYou can use the steam inlet as a source of good High Pressure Steam."}
],
[
{"who":"charles", "text":"Excellent! Now, combining these two designs, we can construct a component that switches between two sources.\n\nWhen the West control house supplies 100 PSI High Pressure Steam, the North generator should be connected to the East facilities. But when the West control house is at 0 PSI atmospheric pressure, the South generator should be connected to the East facilities."},
{"who":"nicola", "text":"What happens when the control house supplies a pressure between 0 and 100?"},
{"who":"charles", "text":"What!?! That would be low pressure steam! We do not work with low pressure steam! I did not make my fortune by supplying people with low pressure steam!\n\nNever mind all that low pressure nonsense. When West control is High Pressure, connect the North generator, otherwise connect the South generator."}
],
[
{"who":"nicola", "text":"Lady Chavvington's notes talk about a steam connection between the laboratory and Lady Easley's residence that was used for communication."},
{"who":"charles", "text":"Yes, I had it removed. New procedures. Too much of our High Pressure Steam was going missing. The only steam permitted to leave our facility is metered and provided to paying customers. None of my High Pressure Steam may leave these walls."},
{"who":"nicola", "text":"I think we can still establish a connection without delivering any steam out. According to these notes..."},
{"who":"charles", "text":"Hah! Impossible! This is elementary steamology, my dear boy! Steam communication relies on the transfer of steam, and thou shalt not \"Transfer\" any of my steam out!\n\nIn any case, I am needed elsewhere. This matter does not appear as urgent as the investigations into my missing steam."},
{"who":"nicola", "text":"According to Lady Chavvington, Charles was not known as the greatest listener. She describes the design in some detail."},
{"who":"ada", "text":"June 5th\nI created a fantastic pressure replicating device today. To create a pressure of a specific value, I used valves, supplying and venting steam, at a precise ratio. By opening the steam valve to 80%, and opening the atmospheric venting valve to 20%, I could recreate the original pressure of 80 PSI. Charles's valves appear to open to the pressure on the \"+\" side, minus the pressure on the \"-\" side."},
{"who":"ada", "text":"This appears to work for a whole range of values with the minimal of error. Due to its isolating properties I shall name it a \"buffer\".\n\nCommunication through pressure, rather than the flow of steam, offers wondrous possibilities as the value is not distorted by the resistance of long pipes. I explained the idea to Charles, although he was more consumed with matters of company profit."},
{"who":"nicola", "text":"It appears some parts of the original design still remain installed in the wall. As long as we use Lady Easley's steam to power the devices beyond the wall, Charles will have no complaint."}
],
[
{"who":"nicola", "text":"Not perfect, but we can always come back and improve it. Fascinating, is it not? The combination of valves reproduces any pressure value. The incoming pressure opens the steam inlet and the atmosphere venting valves to the exact levels to correctly reproduce the pressure in the output pipe.\n\nLet us send our first message and visit Lady Easley to see if it works."},
{"who":"annie", "text":"[Some time later]\nYou gave me such a scare! For a minute I thought it was Ada talking to me from beyond the grave."},
{"who":"nicola", "text":"Our apologies Lady Easley. We are attempting to continue Lady Chavvington's research. We were trying to send 80 PSI which according to our codebook means \"Hello\""},
{"who":"annie", "text":"No! 80 PSI means, \"Help! I am trapped in the afterlife!\". It is 20 PSI that means \"Hello\".\n\nWhen Ada installed the system she made a mistake on the valves and all the pressures were received upside down. It was when investigating the issue she got her epiphany on the possibilities of steam. We never fixed it, and instead I inverted all the pressure values in my codebook."},
{"who":"nicola", "text":"Interesting. Perhaps we should see if we can make the same mistake."}
],
[
{"who":"charles", "text":"Drat! For the life of me I cannot find the pressure comparator Ada made. Every year, the highly prestigious High Pressure Steam Society compares the pressures provided by all the High Pressure Steam Works to determine the supplier of the Highest Pressure Steam. Without an accurate comparator, we will have to cancel this year's competition.\n\nMy five year winning record will be ruined! I am sure she had another one around here somewhere..."},
{"who":"nicola", "text":"We should try and make it, otherwise he will just keep interfering..."},
{"who":"charles", "text":"What was that you say, boy?"},
{"who":"nicola", "text":"I said we could make one, sir."},
{"who":"charles", "text":"Splendid! Just remember, it is not enough to connect the output to High Pressure Steam when one input is greater than the other, one must also vent the output when the opposite is true. My pipes are fully sealed and never leak steam unless a valve is opened to permit them to vent."}
],
[
{"who":"charles", "text":"Excellent! Such precision! I am sure it could detect the pressure of a feather on a cricket pitch.\n\nI need but one more device before I shall leave you to your investigations. In order to be admitted to the High Pressure Steam Society, one must show their steam works produce High Pressure Steam."},
{"who":"charles", "text":"Here at General High Pressure Steam Works, we produce High Pressure Steam at 100 PSI, the only pressure I would recognise as true High Pressure Steam. But technically any steam pressure above 50 PSI is considered High Pressure Steam. As the chair of the High Pressure Steam society, it is my responsibility to make sure inferior low pressure steam producing deviants are not permitted to join.\n\nI require a device to correctly determine the quality of the applicant's steam."},
{"who":"nicola", "text":"We still have your design for the 50 PSI steam generator in the tool box. We can use the designs we already made as components."}
],
[
{"who":"charles", "text":"Bravo! With this contraption I will keep those low pressure steam producers out of our exclusive society."},
{"who":"nicola", "text":"How many members are there so far?"},
{"who":"charles", "text":"Well... One... As I said \"Very Exclusive\".\n\nIn any case, I must be off lest I miss the reception drinks!"},
{"who":"nicola", "text":"Finally...\n\nAccording to Lady Chavvington's diary, a second communication pipeline was installed leading to the residence of none other than Lord Moorhouse! Charles would not have been happy if he had found it. Look."},
{"who":"ada", "text":"June 17th\n\nWith the pipeline to Lord Moorhouse's estate complete, I am beginning work on a device to compact the high range of pressure values (0-100), to ones acceptable by the low pressure system (0-50). To my complete surprise, when powered by Lord Moorhouse's low pressure steam, but still using 100 PSI as the reference input, the pressure buffer was able to scale the input pressure to precisely one half."},
{"who":"nicola", "text":"Really!?! How can that possibly work?"}
],
[
{"who":"nicola", "text":"Astonishing! Well, that got us half way there. We can send; but now we need to receive. We must amplify their steam pressure to our range. According to Lady Chavvington, we must power the device with our 100 PSI steam, but use 50 PSI as the reference pressure."}
],
[
{"who":"nicola", "text":"Let's see if this works.\n\n80 PSI [Hello]\n55 PSI [Request meeting]\n57 PSI [Afternoon tea at Madingley Hall]"},
{"who":"george", "text":"...\n23 PSI [Negative]\n...\n6 PSI [6]\n12 PSI [/]\n7 PSI [7]"},
{"who":"nicola", "text":"What?!? 6/7? Let me check the diary.\n...\nAll the entry for June 7th talks about is the design of the pressure inverter. How could he even communicate with us if the pressures were reversed? ... reversed ... reversed? ... Of course!\n\nMy apologies. Too much time spent in the colonies. Here is the correct entry."},
{"who":"ada", "text":"July 6th\n\nI suspect our communications have been compromised! After days of pleading, Lord Moorhouse agreed to combine our research efforts. We exchanged the codes to the doors of our respective laboratories over our steam communicator. Just hours later, a hand-delivered note was received at our residence informing me his laboratory has been ransacked and I was no longer welcome. I rushed to find mine had also been broken into! So much work lost."},
{"who":"ada", "text":"I stored the code securely. Surely Charles would not have done such a thing. I immediately had the door on my laboratory replaced. Charles would rather die than operate a Moorhouse steam door."},
{"who":"ada", "text":"I no longer feel safe here. I contacted my sister to expect my imminent arrival. It was a perfect time to test my new encryption system, which will keep our communications secure. I still have not received the sign Charles promised to put on the pipe that leads to her residence. He can be so forgetful at times."},
{"who":"nicola", "text":"That was her last diary entry.\n\nOh dear! I didn't think that pipe was leading anywhere so I used the components for our other designs. Luckily some were welded down so I left them in place. The encryption unit seems mostly functional."}
],
[
{"who":"nicola", "text":"Well that was simple. The encryption is simply an unbalanced buffer. But how could you possibly make a design which accurately reverses such a cypher?\n\nPerhaps Lady Easley could help. I shall enquire if she is available to assist us.\n..."},
{"who":"annie", "text":"Among Ada's papers, did you happen to find a napkin from the Madingley Hall tea rooms? I believe it was dated June 24th. We were discussing the new Royal Society paper on \"convergence in monotonic series\" when Ada began scribbling things down on a napkin. She then proceeded to run out exclaiming how she may have solved the decryption problem. Without settling the bill, I might add."},
{"who":"ada", "text":"June 24th\nA decryption device can be formed by repeatedly guessing the value, encrypting it and comparing it to the encrypted input. Should the input be higher, we increase the guess. Should it be lower, we reduce it. Such a device could reverse numerous functions.\n\nCharles's steam comparator was just what I needed, although I must remember to return it to him before this year's high pressure steam society meeting."},
{"who":"nicola", "text":"At least we know where his comparator got to."}
],
[
{"who":"nicola", "text":"Incredible! Using this technique we could improve the precision of all our designs. Lady Chavvington's sister must have more information about these techniques.\n\n80 PSI [Hello]"},
{"who":"ada", "text":"80 PSI [Hello]\n93 PSI [This is Ada Chavvington]\n"},
{"who":"nicola", "text":"60 PSI [Who?]\n73 PSI [Repeat]"},
{"who":"ada", "text":"25 PSI [A], 28 PSI [D], 25 PSI [A]\n24 PSI [_]\n27 PSI [C], 32 PSI [H], 25 PSI [A], 46 PSI [V], 46 PSI [V], 33 PSI [I], 38 PSI [N], 31 PSI [G], 44 PSI [T], 39 PSI [O], 38 PSI [N]"},
{"who":"nicola", "text":"This is unexpected. We must inform Lord Chavvington at once.\n...\nLord Chavvington! We established a link to Lady Chavvington's sister's residence, but the person at the other end claims to be Lady Chavvington herself!"},
{"who":"charles", "text":"Ah, yes, that would be Ada."},
{"who":"nicola", "text":"B... But Lord Chavvington, you said Ada had died."},
{"who":"charles", "text":"What nonsense! Ada is perfectly fine and staying with her sister until we resolve this matter of the missing High Pressure Steam."},
{"who":"nicola", "text":"You called her your \"dearly departed\"."},
{"who":"charles", "text":"Yes... She has departed... To her sister's..."},
{"who":"nicola", "text":"Everyone assumed she died..."},
{"who":"charles", "text":"Hmm... Yes... On reflection, that would explain the flowers and cards expressing sympathy for my loss. I was touched by people's concern for the loss of my High Pressure Steam.\n\nNevertheless. The sooner you complete the steam calculation machine, the sooner we can get to the bottom of this. Continue the research post haste."},
{"who":"ada", "text":"June 27th\nTogether with Lord Moorhouse such progress has been made in our research into steam computation. Our previous designs suffered from inaccuracies. Only when the valves were perfectly balanced and produced an output of 50, was the result perfect. With this I was struck with an idea.\n\nI could sense how open any valve is, by placing a second valve which vented the steam and adjusting its openness. Only when the two valves are equally open, will the pressure between them be precisely 50. All I had to do is to adjust the value until this was the case."},
{"who":"ada", "text":"Using this, Lord Moorhouse was able to create a steam pressure adding component, which I hope he will reveal to me.\n\nLord Moorhouse is most shy yet smart as a whip, alas often he becomes too afraid to share his innovations."}
],
[
{"who":"nicola", "text":"Well it works. We can now sense how open a valve is, but I don't see how this gets us closer to steam computation. I suppose we must ask Lord Moorhouse."},
{"who":"nicola", "text":"Lord Moorhouse. Thank you for allowing us to call upon you. In her absence, we are attempting to continue the steam computation work of Lady Chavvington. Only you know the construction of the pressure adding unit and we beg you share it with us."},
{"who":"george", "text":"I do agree. Having thought on this, the advancement of knowledge must continue despite her collusion with Charles against me. I will disclose the secret of addition in exchange for the assurance that she is safe from him. Hearing the rumours that pass through these halls, I suspect her dead by his hand."},
{"who":"nicola", "text":"Lady Chavvington is alive and well, staying with her sister."},
{"who":"george", "text":"That is a relief. The idea of her spending any more time in that high pressure death trap keeps me up at night. If one of those high pressure tankers were to explode, perish the thought, the destruction would be immense. I would not rest until the world was rid of this high pressure horror...\n\nOh... Where was I? The addition design. Before you can make one, you must make one of subtraction. A valve is as open as the pressure on the (+) side minus the pressure on the (-) side. Once you create such a valve, you can then measure its openness."},
{"who":"george", "text":"But now, you must leave. With Ada safe, I have an important task I must prepare for."}
],
[
{"who":"charles", "text":"I have brought the sign for the pipe that Ada asked for."},
{"who":"nicola", "text":"That must have been months ago."},
{"who":"charles", "text":"Yes, well, when a Chavvington says he will do something, it will get done. You don't have to remind him every month.\n\nCould you please send her a message from me?\n\n80, 94, 76, 52, 68, 70"},
{"who":"nicola", "text":"I see you have learned the codes!"},
{"who":"charles", "text":"Learned?!? I designed them! It was during my time in the military. A combination of the most frequent messages exchanged between captains.\n\nBe a good chap and send it off at once."},
{"who":"nicola", "text":"80 PSI [Hello]\n94 PSI [This is Charles Chavvington]\n76 PSI [My sweetest angel]\n52 PSI [My heart yearns for you]\n68 PSI [I longingly await your return]\n70 PSI [Without you life has lost all meaning]"},
{"who":"charles", "text":"Good, now, I see the subtractor design is complete. Excellent! As my dearly departed Ada once said..."},
{"who":"nicola", "text":"Sir! You must stop using that phrase! People are beginning to think you a murderer..."},
{"who":"charles", "text":"Hmm... Yes. As Ada..., who is no longer with us, once said, \"An adder is but an inversion of a subtractor. The output minus one of the inputs must be equal to the other input\". But which input?\n\nShe spent some time frustrated as the design would get stuck when that input was zero and switching the inputs just made the design stuck when the other input was zero. Her eureka moment came when she realised it needed to be a combination of both approaches."}
],
[
{"who":"annie", "text":"Why have you not been responding to my messages?"},
{"who":"nicola", "text":"Our apologies Lady Easley, we did not know you had sent any."},
{"who":"annie", "text":"They should be recorded on your message latches over here.\n...\n\nThey're missing! The latches must have been stolen by whoever broke into the laboratory. You should recreate them at once lest you miss any other important communications."},
{"who":"annie", "text":"When a message is stable, a pulse of steam is sent on the timing pipe. This causes the latch to capture the value at that time. The latch will record the value, but will maintain the old value until the timing pipe has returned to a low pressure level.\n\nBecause these latches can be placed in sequence to record a series of messages, it is important that the new value is only released once the timing pipe has returned to low pressure."},
{"who":"annie", "text":"I was always impressed about how well sealed Charles's valves are with a closed valve able to maintain the pressure within a pipe indefinitely.\n\nI do hope the design isn't lost, for I had such hopes for expanding it in a variety of ways."}
],
[
{"who":"charles", "text":"Great news everyone! Allow me to introduce Professor Joseph Cogsworth. One of, if not THE, brightest mind in all of the lands. His gear based tabulating machines have done wonders for our accounting department.\n\nHe has been aiding in our missing High Pressure Steam situation and has condescended to take an interest in Ada's work."},
{"who":"joseph", "text":"Interesting to see how far you have come. I see you have reconstructed the latch to the same specification as Ada described in her notes."},
{"who":"nicola", "text":"Those notes went missing during the break in. How did you know of them?"},
{"who":"joseph", "text":"Ada was always a great admirer of my work. Although I thought her steam based approach to be crude and inaccurate, she would often seek my advice in hopes that it could be made adequate."},
{"who":"charles", "text":"Once you complete the steam tabulator, we will be able to determine which of my accountants has been embezzling my High Pressure Steam.\n\nEach tabulator either adds, or subtracts a value from the current tally. The North connection selects between adding or subtracting and the South connection provides a timing pulse of High Pressure Steam.\n\nAda had to improve all her previous designs to increase the accuracy of all the used components. Work she never managed to complete."}
],
[
{"who":"charles", "text":"Very good, but alas too late, for Professor Cogsworth has already identified the guilty accountant."},
{"who":"joseph", "text":"Indeed, but in return all I ask is to take possession of this crude attempt at a steam based tabulating device. Ada wished for me to be the custodian of all her research. Gertrude? Nicola? Your work here is done."},
{"who":"ada", "text":"I hardly think so! Unlikely I would pass my work over to a man with both character and intellect of a parasitic wasp."},
{"who":"joseph", "text":"Ada! I was under the impression you had died."},
{"who":"ada", "text":"Charles! Apprehend this man, for he is the cause of all of this perturbation."},
{"who":"charles", "text":"What!?! I hardly think a man of his stature would be involved in such petty crimes."},
{"who":"george", "text":"It's true Charles. Joseph poisoned me against you with mistruths, manipulating us to detest one another. At first I collaborated with him due to his dislike of high pressure steam, but it was only later I realised his hatred of ALL steam!"},
{"who":"charles", "text":"Is this true Joseph? You have no passion for High Pressure Steam?"},
{"who":"joseph", "text":"Of course it is true! Ghastly substance. But to have me apprehended? For what? But you have no proof of any misdeeds."},
{"who":"ada", "text":"Actually we do. Your gear tabulating machines have been removing tiny fractions from each transaction. It was only when we compared the results to the steam tabulator that we spotted these errors. All this so you could slowly syphon off high pressure steam. Were it not for Charles's sense of something being amiss, this would have never been spotted."},
{"who":"joseph", "text":"Preposterous! What would I want with this revolting substance!"},
{"who":"george", "text":"To slowly fill the pressure vessel you asked me to construct under the town hall."},
{"who":"charles", "text":"What!?! But that's a low pressure vessel! Have you no idea of the consequences of filling it with High Pressure Steam!?!"},
{"who":"joseph", "text":"The only consequences would be the world finally rejecting steam once and for all! It should be reserved for executions and only seen in museums. To think! Steam invading the offices and displacing my machines! For it is only gears that can produce a...\n\nWHAT!?! Let go of me! Unhand me, you wretched fools! You cannot do this to me! Wait until the Academy hears about this!"},
{"who":"charles", "text":"The Academy certainly will hear about this!\n\nWell that's a satisfying conclusion to this matter. My High Pressure Steam is safe as is my dear Ada."},
{"who":"ada", "text":"Actually darling, I think the story of steam computation is only just beginning."},
{"who":"charles", "text":"Indeed. But, perhaps we should diffuse that steam bomb first."}
],
[
{"who":"ada", "text":"Thank you Gertrude. If not for your quick thinking, we would have had a disaster on our hands."},
{"who":"george", "text":"I am also rather impressed. Ada, I cannot apologise enough for accusing you of ransacking my residence. Would it be possible for Gertrude and Nicola to aid me in my designs? I think their input will be highly constructive."},
{"who":"ada", "text":"Speak no more of this, for I must be forgiven also. As a gesture of good will, feel free to use my... our laboratory. Lady Easley already has access. I do believe Charles and I need a bit of a break from all this commotion. We shall return in a few days and I already look forward to inspecting your discoveries."},
{"who":"george", "text":"Thank you, and safe journey.\n\nNicola, could you find me that x2 pressure amplifier."},
{"who":"nicola", "text":"It's right here.\n\nThe construction is simple, yet I find the operation stunningly useful."},
{"who":"george", "text":"Indeed. Although this device amplifies values from a specific range of 0 to 50 to the range of 0 to 100. Given a minimum and maximum value, I do believe we can construct an amplifier which will zoom into any given range."},
{"who":"nicola", "text":"We shall name it the Zoom element."},
{"who":"george", "text":"Quite, although we should invent it first. The North can be our maximum and the South our minimum. The East output will tell us where the West input lies within the range."}
],
[
{"who":"george", "text":"Good, now we can zoom into any pressure range we choose. What I need next is a way of detecting if we are within a range. Take a look at this \"steam speedometer\".\n\nAda made it for Charles to measure the amount of steam passing through it. When steam passes through a long pipe, it will lose some pressure. The faster the steam is passing through, the more pressure it loses. If the two sides are at same pressure, there must be no moving steam. She even put some valves in the pipe to increase the resistance and make the difference greater."},
{"who":"george", "text":"What I need is a way of telling if the West input reference is between the two pressures. It must be lower than the North, but higher than the South."}
],
[
{"who":"george", "text":"Now, by zooming into a range, I can tell more precisely how much steam someone is using, but I can also tell if I am within the range I am inspecting. I shall tell my customers to prepare for an extra decimal place on their next steam bills!"},
{"who":"annie", "text":"Has all this research been to solely to aid your company profits? This is not what our agreement was."},
{"who":"george", "text":"But Lady Easley! I made these for you. Believe me, these will be very useful components in the future."},
{"who":"annie", "text":"I highly doubt that. I think it is time for some pure research.\n\nLet's go back to the Latch design Ada and I were working on. I wanted a latch which can be enabled or disabled. If the North input is high, the latch operates as normal, but if it is low, it should neither drive the output, nor accept a new input upon seeing a timing pulse. We can use the old design, although it may be more efficient to make a custom one."}
],
[
{"who":"annie", "text":"Now, the reason I wanted that design was to be able to construct an \"addressable latch\" where the North input selects between one of several latches. This way I could store several values and access each at will.\n\nLet's start with two. The North input selects between two latches. North value 0 to 50 will select one, and North value 50 to 100 will select the second."}
],
[
{"who":"annie", "text":"Exactly, unfortunately this is as far as we got. Next I wanted a latch that could store five values, but Ada and I could never fit it all into a single design. The select ranges would be 0-20, 20-40, 40-60, 60-80 and 80-100. Unfortunately detecting which of the ranges the select signal was in was too difficult."},
{"who":"george", "text":"If only one had a range detecting design."},
{"who":"annie", "text":"Your design detects flow, not a pressure range."},
{"who":"george", "text":"Well, yes and no. It detects a pressure range of flowing steam. If placed in chain, and steam is passed through, they will detect a range of pressures."}
],
[
{"who":"annie", "text":"I admit, that flow detector was quite ingenious and was just the trick we needed. But now, how would we go about strapping two of these Latch5 block to make a Latch10?\n\nThe select ranges would be 0-10, 10-20, 20-30..."},
{"who":"george", "text":"And this is why I asked for the zoom element to be designed. I have seen the genius in your ideas and have already planned ahead."}
],
[
{"who":"ada", "text":"Well, I am impressed. We had only been gone a couple days and you have created the storage part of the Steamputer."},
{"who":"nicola", "text":"The what?"},
{"who":"annie", "text":"All will be revealed in good time.\n\nWell, I think my job here is done! I managed to design the storage. I will leave you to investigate the calculations and control?"},
{"who":"ada", "text":"Well let's start small. We need a component which gives us the smaller of the two input values. Should be simple enough."}
],
[
{"who":"charles", "text":"Ada! My darling! Try this exciting new beverage George introduced me to! It is called \"Froffee Coffee\". Taste it!"},
{"who":"ada", "text":"Hmmm, yes it is rather ni..."},
{"who":"charles", "text":"You know what would make it even better!?!"},
{"who":"ada", "text":"High press..."},
{"who":"charles", "text":"High Pressure Steam!"},
{"who":"ada", "text":"Darling. I very much appreciate you have made amends with George, but were you two not supposed to be planning the programme elements?"},
{"who":"charles", "text":"Already done! George is finalising the poem... or should I say requirements."},
{"who":"ada", "text":"Oh! Well we must quickly create the Max component and then you can have access to our engineers.\n\nThe output this time must be the maximum of the two inputs."}
],
[
{"who":"charles", "text":"If we have some time before George comes, we should spend it making his pressure vessels safer. They are safe up to 90 PSI, but beyond that they are liable to explode. What I require is a \"steam fuse\". Allow the flow of steam from West to East, but once the pressure reaches beyond 90PSI, disconnect the supply and vent the vessel. Remember to disconnect the supply first, and only then vent the tank."}
],
[
{"who":"charles", "text":"Come George! I think we have some privacy!"},
{"who":"george", "text":"Are you sure about this Charles? Lady Easley barely acknowledges my existence."},
{"who":"charles", "text":"Stiff upper lip old chap!"},
{"who":"george", "text":"Very well. This is somewhat of a sensitive matter. I require a device which increases by 10 PSI each cycle. It should start at 0 PSI and at each timing pulse should increase by 10 PSI. Instead of reaching 100 PSI, it should reset back to 0 PSI.\n\nPlease, do be discreet about its construction."}
],
[
{"who":"george", "text":"Charles, I cannot thank you enough for letting me use your poems. This one perfectly articulates my feelings for Lady Easley. It describes her beauty, her kindness and her ingenious latch designs. All I needed to do is replace the object of affection from your \"High Pressure Steam\" to my \"Lady Easley\"."},
{"who":"george", "text":"Take a look at Easley's Latch10 design. We require something simpler, yet more complex. For each input value range, I need a specific pressure to be output. There is no need to ever update the values held.\n\nNow might be a good time to examine how to make custom components. You can use any old design as a basis and change the implementation for that instance."}
],
[
{"who":"george", "text":"We are nearly there. Let's connect these parts together so it will replay my poem. At every steam pulse, the next value should be read out. This won't be trivial as our counter goes through a sequence 0, 10, 20, 30... while our poem storage wants a sequence 5, 15, 25, 35..."}
],
[
{"who":"charles", "text":"Excellent stuff! It is just a shame we have to rely on these horrid Cogsworth clocks to provide the timing pulses."},
{"who":"nicola", "text":"Gertrude, do you remember how you diffused that bomb? I think we can make a clock just as precise."},
{"who":"charles", "text":"However you do it, I want it flip once every tick and I don't want it changing time depending on what it is connected to."}
],
[
{"who":"ada", "text":"What have you two been up to?"},
{"who":"charles", "text":"George and I have just delivered a most marvellous poetry reciting machine to Lady Easley. It has been programmed to recite George's feelings towards her.\n\nWith sufficient refinement one could reduce such a device to the size of a horse."},
{"who":"ada", "text":"That sounds lovely. Although I do hope you reversed the pressures as Annie's codes are all negated."},
{"who":"george", "text":"WHAT!?! Nicola! What did I just send her?"},
{"who":"nicola", "text":"Hmm... It appears you complemented her on her magnificent beard ... requested her lewd etchings ... and instructed her to attack the enemy at dawn."},
{"who":"george", "text":"...\nOn that note, I shall return to my residence to spend some time with a bottle of brandy."},
{"who":"ada", "text":"Charles! Go and help him!\n\nWhile they are gone, perhaps you two can help. Charles was supposed to install two pipes into this wall, but it only has one. I need North connected to South, and West to East. Is there any way we can do this without waiting for a new pipe to be installed?"},
{"who":"nicola", "text":"Good thing we live in a clockwork universe because I think I have an idea."}
],
[
{"who":"annie", "text":"Hello Ada. Is George here? I have come to speak with him about this machine that has been delivered to my residence."},
{"who":"ada", "text":"Oh Annie! I am so sorry. He and Charles were completely ignorant of the codebook differences."},
{"who":"annie", "text":"Oh, I figured that out immediately. It would have made it such a silly farce otherwise."},
{"who":"ada", "text":"Nicola! Go and fetch George and Charles, wherever they got to."},
{"who":"annie", "text":"This poetry device they made is quite a marvellous contraption. The components used are ingenious. Gertrude? This counter. I assume you had a hand in its construction. Could you adapt the design to include a way of setting the value? The new value would come on the West port, and the North port will select whether to use the new value."}
],
[
{"who":"ada", "text":"I have to say Annie, do you not find all this rather complicated?"},
{"who":"annie", "text":"I do, but look how far we have come. Remember the week you spent trying to get the adder to work? Looking back, it all looks so simple now. Not only has our research progressed, but I think we have such a better understanding of steam."},
{"who":"ada", "text":"Then perhaps you could aid me in looking at one of your message latches. I can't figure out what's wrong. All the messages from Lady Bechdel come out as nonsense."},
{"who":"annie", "text":"Interesting. It appears that the timing pulse arrives little too early, before the value has become stable. If I could delay the pulse by a little less than a tick, then that would fix it. It would need to have a very quick shift between 0 and 100 PSI. Let us make something."}
],
[
{"who":"annie", "text":"What does this gauge show?"},
{"who":"ada", "text":"That would be the steam pressure going to the Cogsworth Clockworks. Why?"},
{"who":"annie", "text":"Look. It is such a peculiar pattern. Also, are they not closed? It is a Sunday after all.\n\nIt jumps up to 100 PSI for one tick, then another value for another tick, before returning to 0 PSI."},
{"who":"ada", "text":"That is intriguing. I wonder if we could decode it."}
],
[
{"who":"nicola", "text":"Lady Chavvington! I have searched all across the city and I have failed to locate..."},
{"who":"ada", "text":"We know where they are! George managed to get a message through to us by turning an inlet on and off. They have been locked in the Cogsworth Clockworks steam room. Let us go there at once!"},
{"who":"charles", "text":"[BANG] [BANG] [BANG]\nGet us out! The room is filling with High Pressure Steam! Oh, the cruel irony of being killed by the thing I love."},
{"who":"nicola", "text":"The key that should open this door doesn't work! It appears someone has shot at the lock and ruptured a pipe inside! I know nothing of picking locks, let alone broken ones."}
],
[
{"who":"charles", "text":"Gertrude! I cannot thank you enough, not only for saving our lives, but also doing so using High Pressure Steam!"},
{"who":"ada", "text":"Darling, how did you get into this dreadful situation?"},
{"who":"charles", "text":"George and I were enjoying a couple drinks at the Old Brass tavern when things turned blurry. The next thing I remember is waking up in this room with Cogsworth accusing us of ruining his life. After being dismissed from the Academy, his investors began asking questions. His only choice was to silence us, giving him enough time to take his investors' money and beat a hasty retreat.\n\nQuick! To the aerodrome! We must not let him get away."},
{"who":"george", "text":"This pipe carries launch codes from West to East. Each one is three codes long and transmitted at two ticks per code. Once we see Cogsworth's code of 27, 39, 31, we will know he is here and trying to get away."},
{"who":"ada", "text":"Then it would be too late. By then he will have permission to launch and could get away. We must tell the aerodrome manager not to allow him to leave."},
{"who":"george", "text":"Alas, the manager has been replaced with a Cogsworth machine. Likely a compromised one.\n\nWe must not allow Cogsworth's launch code to get through, yet we must not disrupt the aerodrome lest he discovers we are onto him.\n\nWhat if we delayed the signal by a few ticks and if we see it, we could remove it? This will give us time to locate and apprehend him."}
],
[
{"who":"ada", "text":"At last. With Cogsworth behind bars, we can finally complete our Steamputer.\n\nAll the parts are now in place. I have written what I shall name a \"programme\", to calculate Fibonacci numbers, but the results are incorrect.\n\nWe will need to refine the components until we get a functioning machine. There may be considerable time spent diagnosing the issues and fine tuning."}
],
[
{"who":"charles", "text":"It is here! The response from the Academy.\n\n\"We thank you for your submission of the Steamputer for review by the Academy of Sciences. We find it has considerably extended our knowledge in steam computation. Therefore we are pleased to say your application for membership has been approved!\""},
{"who":"nicola", "text":"Congratulations Lady Chavvington."},
{"who":"ada", "text":"Actually, the application was not for me. It was on Gertrude's behalf.\n\nGertrude, you were the one who constructed all these components and have shown us how to manipulate steam to wondrous uses. It is you who should be teaching others of the steam computation."},
{"who":"charles", "text":"Huzzah!\n\nLet us celebrate this afternoon!"},
{"who":"george", "text":"Lady Easley? Will you join us for the occasion?"},
{"who":"annie", "text":"I am afraid I cannot, for I have an appointment this afternoon with a dashing gentleman."},
{"who":"george", "text":"Oh."},
{"who":"annie", "text":"That would be you George. Afternoon tea at Madingley Hall was offered and I graciously accept."},
{"who":"ada", "text":"Thank you for playing ComPressure."}
]
],
"hints":
[
[
{"who":"charles", "text":"Click and hold the left mouse button to place a new pipe from the start point to the end. If you drag a new pipe over the old one, it will not connect them. If you get something wrong, you can remove the pipes using the right mouse button."}
],
[
{"who":"charles", "text":"The build menu lets you place a steam source which supplies steam at 100 PSI. An open ended pipe will release the pressure to 0. By tapping off a pipe somewhere in the middle, it may be possible to create a pressure somewhere in between."}
],
[
{"who":"charles", "text":"The build menu has the valve component. By connecting the \"+\" side of the valve to the North, it allows the North input to control how open the valve is. You can then simply connect East and West to connect the two when North is at High Pressure."}
],
[
{"who":"nicola", "text":"If I understand correctly, we need to connect the \"+\" port of the valve to a high pressure steam source, and the port marked \"-\" to the South input. This will connect East and West only when the South port pressure is low. If it is high, it will close the valve."}
],
[
{"who":"nicola", "text":"When the input is high, we connect the North. We know how to do that from the \"Normally Open\" design. And when the input is low, we connect the South. That's our \"Normally Closed\" design."}
],
[
{"who":"nicola", "text":"Well, let's start with the basics. When the input is high, we will connect the output to a steam source. When it is low, we will connect to the atmosphere. To connect to atmosphere, we simply leave the pipe end open.\n\nAs Lady Chavvington noted, the valves are analogue and it appears when values are between 0 and 100, the valves will partly open and recreate the exact ratio."}
],
[
{"who":"nicola", "text":"This time, when the input is high pressure, we want it to be connected to atmosphere. When the input is low is when we supply the steam. Our switch design was able to select between two values. Those values could be steam and atmosphere."}
],
[
{"who":"nicola", "text":"We can use valves to measure which of North and South is higher. If North is higher, we connect the output to steam. If South is higher, we connect it to atmosphere.\n\nRemember, the steam in the output pipe will not drain away by itself, we need to actively release it using a valve."}
],
[
{"who":"nicola", "text":"I guess we already have a comparator, and we have a source of a precise value of 50."}
],
[
{"who":"nicola", "text":"When the input is 100, we want the output to be 50. So I guess we connect our 50 generator to the output using a valve. And when the input is 0, we vent the output to atmosphere."}
],
[
{"who":"nicola", "text":"This sounds like our buffer design again, but when the input is 50, we want the output to be 100. So the atmosphere venting valve should be closed once we reach 50. I guess, instead of using the 100 PSI on \"+\" side of the venting valve, we could switch it to 50. "}
],
[
{"who":"nicola", "text":"I don't remember there being any other components in this. I think we just need to connect what is there to the output."}
],
[
{"who":"nicola", "text":"If we pass the output through our encryption component, we can determine what the input must have been.\n\nWhen the two inputs on the comparator are equal, the output is neither pressurised, nor vented. If we get too much wobble, we should go back to our comparator design and make it less strong."}
],
[
{"who":"nicola", "text":"We can use the same trick as in our decrypt design. We increase or decrease the amount we open the bottom valve until the pressure between them is exactly 50. We have an Amp50 which does this."}
],
[
{"who":"nicola", "text":"We open one valve to the value of the West input minus the South input, we can then open a second valve to the same level of openness by looking for when the pressure between them is 50."}
],
[
{"who":"nicola", "text":"This one is somewhat harder. Using a subtractor gives us too much wobble.\n\nComparing the output minus one of the inputs to the other input fails if the second input is 0 and the valve is fully closed. But in that case we can use a second valve pair to do the same comparison and switching the inputs. We can then use an Amp50 to make sure the pressure between the four valves is 50 PSI.\n\nClick the requirements for a diagram of this setup."}
],
[
{"who":"annie", "text":"When the South input is high, we open our storage pipe. We can the use a buffer to pressurize the output to the same level as we captured. We have to close off the output while the South input is high so as to not let the new pressure propagate through. The easiest way to guarantee this is to use threshold of 50 on the timing and output valves."}
],
[
{"who":"nicola", "text":"The output is the value of a latch controlled by the South input. The input to the latch is either the latch output plus or minus the West input. The North input selects between them. We have an adder, a subtractor and a switch."}
],
[
{"who":"nicola", "text":"For a change a wobble is actually desirable. Amplifiers in a ring configuration will make the design unstable and will wobble up and down."}
],
[
{"who":"nicola", "text":"When West is higher than South, start adding more steam. When West is lower than North, start releasing more steam."}
],
[
{"who":"nicola", "text":"You can put valves in series. Only if all the valves are open will steam flow through."}
],
[
{"who":"nicola", "text":"This is not much different than our normal latch design, except the output and the timing pulse are not connected when the North input is low."}
],
[
{"who":"nicola", "text":"If the North select input is higher than 50, we enable one latch, otherwise we enable the other."}
],
[
{"who":"nicola", "text":"We need so many select signals! What if we chain a row of flow detectors with steam inlet at one end and atmosphere at the other? This would give us all the values we need to create."}
],
[
{"who":"nicola", "text":"We can use two Latch5 elements and switch between them depending if the select is below or above 50. But then we would need to scale the select from one of the two ranges (0 - 50, or 50 - 100) to the range the Latch5 design takes (0 - 100).\n\nI guess that Zoom element is useful after all, but in this instance it may need to be quite powerful. Each zoom would be connected to five flow detectors, and it will take it a while to pressurize all those pipes. To make a design stronger, we could simply duplicate it."}
],
[
{"who":"ada", "text":"It should be as easy as a comparator and a switch."}
],
[
{"who":"ada", "text":"Is this not just the same as our Min component but selecting the other way round?"}
],
[
{"who":"charles", "text":"We can form a value of 90 PSI using a long pipe venting pipe. A comparator between that and out input will tell us when to vent the vessel. As our comparator pressure rises from 0 PSI to 50 PSI, it should close off the input. Once it rises above 50 PSI it should open a valve to release the content of the vessel to the atmosphere."}
],
[
{"who":"george", "text":"We can use an adder with a static 10 PSI on one input. Then use a latch to capture the new value. Finally a Fuse in the loop will reset the counter to 0 PSI."}
],
[
{"who":"george", "text":"We can use the same method we used in the Latch10 design to select between ten values. Each value will need to be custom made and connected to the output when selected. This involves several custom designs."}
],
[
{"who":"george", "text":"We can connect our counter to the ROM, but first we will need to add 5 using an adder."}
],
[
{"who":"nicola", "text":"If we form a ring of Amp50 components with an inversion somewhere, we can get a regular beat. Once we get it close, we can tune it by adding pipe elements to slow it down a little."}
],
[
{"who":"nicola", "text":"A clock can select between the two inputs and on the other side of the wall, a synchronised clock can select between the outputs. Although we should not connect both inputs. By the time we open one, the second should be sealed off. We can use a 50 PSI as a reference."}
],
[
{"who":"annie", "text":"We can amend the counter to insert a switch to select between a new value or the incremented one."}
],
[
{"who":"annie", "text":"We only need to delay values of 0 PSI and 100 PSI. A chain of Amp50 elements will delay the pulse, with some minor tuning."}
],
[
{"who":"annie", "text":"A delay element will give us the timing pulse we need. Once we see the delayed pulse, we can capture the value, but also force the delay input to 0 PSI."}
],
[
{"who":"nicola", "text":"Instead of just plugging the hole, we could attach it to 100 PSI. That would make it easier. To make a steam key, one can replicate the pressures that are formed inside the lock."}
],
[
{"who":"george", "text":"We need three latches to delay the input sufficiently. A clock generator with a custom additional delay can clock them. To detect if all values are correct, a pipe can be slowly filled and if any latch value is either greater or less than the searched value, it can vent the pipe."}
],
[
{"who":"ada", "text":"Take your time and understand how the machine works. Once you do, you can improve your designs so they improve the operation of the Steamputer."}
],
[
{"who":"ada", "text":"No more hints. Enjoy your win."}
]
]
},
"中文":
{
"tooltips":
{
"Save" : "保存",
"Restore" : "查看",
"Best solution" : "最优设计",
"Customize" : "自定义",
"Import level" : "导入关卡",
"Delete" : "删除",
"Copy design\nto current" : "覆盖当前",
"Delete level" : "删除",
"Return" : "返回",
"Level Editor" : "编辑器",
"Level select" : "选关",
"Design" : "元件",
"Test" : "测试",
"Experiment" : "调试",
"Scores" : "分数",
"Help" : "帮助",
"Repeat\ndialogue" : "对话",
"Hint" : "提示",
"New design" : "新元件",
"Valve" : "阀门",
"Steam Inlet" : "蒸汽源",
"Rotate left" : "左旋",
"Rotate right" : "右旋",
"Reflect\nvertically" : "垂直翻转",
"Reflect\nhorizontally" : "水平翻转",
"Lock blocks" : "锁定方块",
"Add sign" : "注释",
"Stop tests" : "停止",
"Repeat 1 test" : "运行当前样例",
"Run all tests" : "运行所有样例",
"Export to\nclipboard" : "导出至剪贴板",
"Import from\nclipboard" : "导入自剪贴板",
"Accuracy mode" : "精准度模式",
"Price mode" : "价格模式",
"Steam mode" : "蒸汽量模式",
"Confirm" : "确认",
"Cancel" : "取消",
"Exit" : "退出",
"Full Screen" : "全屏",
"Join our Discord group" : "加入Discord服务器",
"Info" : "关于",
"Select language" : "语言",
"Number resolution" : "Number resolution",
"If you are stuck, consider discussing your challenges with the brightest minds of our High Pressure Steam Society on Discord. Press Esc and click the \"Join our Discord group\" button." :
"如果您在游玩过程中遇到困难, 可以前来Discord上与优秀的高压蒸汽协会成员一同讨论您遇到的挑战。 按下Esc并点击“加入Discord服务器”来加入。",
"Alas our journey must stop somewhere. The adventure continues\nin the full game.\n\nTo be continued..." :
"看来我们的旅程必须在此停下了。 您将能够在完整游戏中继续您的冒险。\n\n敬请期待。",
"Cross": "交叉",
"50": "50源",
"Normally Open": "常开开关",
"Normally Closed": "常闭开关",
"Switch": "选择器",
"Buffer": "缓冲器",
"Inverter": "翻转器",
"Comparator": "比较器",
"Amp50": "鉴别器",
"Div2": "除二器",
"Mul2": "乘二器",
"Encrypt": "加密器",
"Decrypt": "解密器",
"Sensor": "测量器",
"Subtractor": "减法器",
"Adder": "加法器",
"Latch": "锁存器",
"Tabulator": "制表器",
"Broken Link": "解除连接",
"Zoom": "放大器",
"Flow Detector": "流量探测器",
"LatchE": "可控锁存器",
"Latch2": "二锁存器",
"Latch5": "五锁存器",
"Latch10": "十锁存器",
"Min": "最小值器",
"Max": "最大值器",
"Fuse": "保险器",
"Counter": "计数器",
"ROM": "只读存储器",
"Poem": "诗歌朗诵器",
"Clock": "时钟",
"Cross v2": "交叉2",
"CounterE": "可控计数器",
"Delay": "延时器",
"Self-timed latch": "定时锁存器",
"Lock Picking": "撬锁",
"Code filter": "过滤器",
"Steamputer": "蒸汽计算机",
"END": "尾声"
},
"help":
[
"在选关页面中, 下方的面板展示了此关的设计目标。 每一关四周都有四个管道, 每个管道有其对应的颜色。 设计目标说明了管道的之间应当如何相互作用。 点击设计目标面板可获得提示。",
"当您通过了所有测试样例时, 您便可进入下一关。 您可随时返回调整先前的解法。\n\n点击下方的管道按钮以继续进行教程。 您可以按F1打开此帮助。",
"管道可通过两种方法放置: 一是按住左键, 从起点拖动至终点来放置管道; 二是点击左键, 使管道向鼠标方向延伸。 点击右键可退出管道放置状态。",
"按住右键可删除管道以及其他元件。",
"您可通过元件页面向关卡中添加元件。 选中蒸汽源并将鼠标停留在关卡中时, 可通过方向键改变蒸汽源朝向。 您也可通过按Q键与E键或是滚动滚轮来旋转。 点击左键可放置元件,点击右键可退出元件放置模式。",
"阀门可通过同种方式放置。 按下Tab键或是滚轮, 可快速选中阀门; 而再次按下Tab键或是滚轮,可选中蒸汽源。",
"蒸汽源会提供压强为100 PSI的蒸汽, 而断开的管道会将蒸汽排放至大气中, 压强变为0 PSI。",
"在管道的连接处可以读出该点的压强。 注意每段管道都有一部分阻抗。",
"当阀门的“+”端压强大于“-”端压强时, 蒸汽可以通过。 二者差值越大, 阀门的开度越大。 “+”端与“-”端的蒸汽不会被消耗。\n\n在图中, “-”端连接大气, 因此为0 PSI; 而“+”端为100 PSI, 故阀门的开度为100%。 如果“+”端为75 PSI而“-”端为25 PSI, 则阀门的开度为50%。",
"“+”端的压强不大于“-”端的压强时, 阀门将会关闭, 蒸汽无法通过。",
"如果在阀门的“+”端连接蒸汽源, 那么只有当“-”端的压强小于100 PSI时, 阀门才会打开。\n\n和之前一样, 阀门的开度与“+”端与“-”端的差值成正比。",
"在阀门的“-”端连接蒸汽源会关闭阀门, 因为“-”端的压强总是不小于“+”端的压强。",
"您可通过测试页面观察您的设计运行结果如何。 该页面中前三个按钮的作用分别是停止、 运行当前样例和运行所有样例, 对应的快捷键是1、2、3。\n\n每一样例上标注的是当前的分数, 下方标注的是最优设计的分数。 在最右端是通过取各分数最小值得到的最终分数。",
"下方面板展示了当前样例的输入序列和预期输出。 当前运行的样例将被高亮显示。 上一次运行的结果记录在了输入序列右端。 您可按空格键切换至下一个样例。\n\n您每一样例所得的分数由最终输出与预期输出的差值决定。 图像将显示样例中最后一个状态的输出曲线。\n淡线代表最优设计的曲线。",
"在调试页面中, 您可以手动改变各个管道的值, 观察设计是如何运行的。 竖直滑块可调整所需的值, 水平滑块可调整输入强度。 将水平滑块移至最左会变为输出管道。 各管道道初始值由当前样例决定。",
"下方的图像记录了各个管道的值的变化。",
"有两种方式同时选中多个元件: 按住Ctrl时点击, 或是按住Shift时拖动。 选中的元件在不被阻挡的情况下, 可通过WASD移动, 通过Q和E旋转。 选中的元件可通过C键复制, X键剪切, V键粘贴。 按下Delete可删除选中元件。 可通过Z键或同时按下左右键撤销, Y键或是Shift+Z重做。",
"按下Esc可打开游戏菜单。 菜单中可退出游戏、 切换窗口与全屏、 加入Discord服务器或查看制作信息。\n\n右端滑块可调整音效与音乐的音量大小。",
"已完成的设计可作为元件使用。 元件页面中会列出所有可用的元件。 改变元件的设计将会影响到所有使用该元件的关卡。\n\n双击元件可查看元件内部设计, 点击左上元件图标可退出。 查看元件内部时, 点击自定义变为自定义元件可自由修改内部设计, 不受原元件影响。 红色元件表明这是一个自定义元件。",
"每关有四个可保存设计的档位, 最优设计也会自动保存以便使用。 设计可以通过剪贴板导入与导出。\n\n进入分数页面可展示全球分数分布曲线与您和您的好友的分数。 您可以自由查看您与您的好友的设计。",
"在同时通过蒸汽源导入蒸汽并排放蒸汽至大气的情况下, 适当调整导气与排气的比例可以产生特定的压强。 阀门的开度由“+”端与“-”端的差值决定。\n\n开度 = ( P - N )%\n\n其中P代表“+”端压强, N代表“-”端压强。 左端下方的阀门开度为40% (60 - 20)。",
"左图中的设计产生的压强, 可通过导气阀开度除以二者开度的和近似计算。\n\n压强 = 100 * S / (S + V)\n\n其中S表示导气阀的开度, V表示排气阀的开度。 左图中, 导气阀开度为40% (40 - 0), 排气阀开度也为40% (60 - 20)。\n二者之间的输出值是100 * 40% / (40% + 40%) = 50, 即50 PSI。",
"有三种计分模式可供选择。\n默认模式(精确度模式)通过最差情况下与预期输出的差值计分排名。\n\n价格模式通过造价多少排名。 管道开口各花费£1, 阀门花费£5, 蒸汽源花费£10, 集成元件额外花费£4。\n\n蒸汽量模式通过计算蒸汽源的蒸汽消耗量排名。",
"玩家可制造自制关卡, 绘制关卡图标、 设计样例并通过剪贴板分享。 测试样例可以通过+或-按钮来增加或删去, 每个状态的时长都可自行调整。 如果在运行所有样例时有些状态可被跳过, 也可通过对应按钮来设置。 设计可只在当前样例下重置, 也可在所有样例下重置。 可通过管道图标选择需要的管道以及输出管道。 输入值均可通过调试页面更改。"
],
"dialogue":
[
[
{"who":"charles", "text":"你好, Gertrude! 我是Charles Chavvington, 是这项通用高压蒸汽工程的所有人。 我们从这里向半个城市提供高压蒸汽, 从蒸汽伞到蒸汽木琴的各式物品都由我们提供动力。\n\n我已离去的妻子Ada要求, 在她离开我们之后, 我们要继续她对于蒸汽的数学性质的研究, 因此我们雇用了你。 你的职责是维护她留下的设计, 并继续进行这些研究。"},
{"who":"charles", "text":"相信你在之前的学习中已经掌握了基本的蒸汽工程知识, 但在你进入她的实验室之前, 必须先证明你能熟练做到基础的蒸汽管道建造。\n\n将西部的蒸汽厂连接到东部设施, 并将北部的蒸汽厂连接到南部设施。 不要把管子连在一起! 这样做会为南部的设施提供免费蒸汽, 而且他们从不按时付账!\n\n如果你还不太熟悉我们的高压蒸汽管道, 右上角有一本标着“?”的工程手册。"}
],
[
{"who":"charles", "text":"见鬼, Ada的实验室安全门居然是用低压蒸汽操作的! 不知道她是怎么把这玩意打开的。\n\n在通用高压蒸汽工程里, 我们生产的蒸汽压强都是100磅每平方英寸(PSI), 而这个门用的是Moorhouse的低压蒸汽, 工作压强是50磅每平方英寸(PSI)。 如果我把他那变质的蒸汽引到我的屋里, 我会被诅咒的!"},
{"who":"charles", "text":"如果你不能提供50 PSI的低压蒸汽, 我们就只能放弃了。\n\n在元件页面中, 你可以找到蒸汽源, 它可以为你提供大量的100 PSI高压蒸汽。 就在上面, 用扳手标记着。 你也可以按两次Tab来选中。"}
],
[
{"who":"charles", "text":"天哪, 你做到了! 虽然这白白浪费了大量的优质蒸汽, 但它确实能用。 抱歉, 这里面并不太整洁, 因为曾经有一些流氓闯入过, 把这里弄得一团糟。\n\n在这个实验室里, 我亲爱的Ada对我按照精确规格制造的阀门进行了研究。 在标有“+”的端口上施加高压蒸汽时, 阀门会被打开, 蒸汽可以在两个未标记的端口之间自由流动。\n\n试一试吧, 当北部处于高压时, 连接西部和东部。"}
],
[
{"who":"nicola", "text":"做得好!"},
{"who":"charles", "text":"啊, Nicola, 你来得正是时候。 Gertrude, Nicola将成为你的助手, 他已经开始研究Ada留下的笔记了。 下一个部分对你将会是更大的挑战。\n\n向“+”端通入蒸汽时会打开阀门, 而向“-”端通入蒸汽会关闭阀门。 阀门只有在“+”端的压强高于“-”端时才会打开。\n\nAda让我加上这个, 这样她就能在向控制管施加高压时关闭阀门。 让我们试试这些阀门还能不能正常工作。"},
{"who":"charles", "text":"当南部的压强低于100 PSI时, 连接西部和东部。\n\n你可以使用蒸汽源提供良好的高压蒸汽。"}
],
[
{"who":"charles", "text":"好极了! 现在把这两种设计结合, 应该可以构造一个在两个源之间切换的元件。\n\n当西控制室提供100 PSI的高压蒸汽时, 东设施应连接到北蒸汽厂; 但当西控制室的压强为0 PSI时, 东设施应连接至南蒸汽厂。"},
{"who":"nicola", "text":"控制室提供的压强在0到100 PSI之间时会发生什么?"},
{"who":"charles", "text":"什么!?! 那就是低压蒸汽了, 我们可不用低压蒸汽! 我可不是靠给人们提供低压蒸汽挣钱的!\n\n总之别管那些没用的低压蒸汽。 当西控制室给高压蒸汽时,接北蒸汽厂,否则接南蒸汽厂。"}
],
[
{"who":"nicola", "text":"Chavvington女士的笔记提到, 实验室和Easley女士的住所之间连接有用来通讯的管道。"},
{"who":"charles", "text":"是的, 不过我已经把它拆了。 太多高压蒸汽不知道导哪儿去了, 所以现在有了新规定, 只有按量供应给付费客户的蒸汽才允许离开我们工厂, 其他所有高压蒸汽都不能通过这些墙导出去。"},
{"who":"nicola", "text":"但根据这些笔记, 我想还是有办法在不导出蒸汽的情况下建立一个连接的……"},
{"who":"charles", "text":"哈哈, 那是不可能的! 这可是最基础的蒸汽学! 蒸汽信号的传递依赖于蒸汽的传递, 而现在任何蒸汽都不能“传递”出去。\n\n无论如何, 我还有其他事情需要去办。 调查我那不知去向的蒸汽可比现在这件事紧急多了。"},
{"who":"nicola", "text":"正如Chavvington女士在笔记里写的那样, Charles并不是个好的倾听者。 她在笔记里具体地描述了这个设计。"},
{"who":"ada", "text":"6月5日\n我今天制造了一个神奇的压强复制元件。 为了产生一个特定的压强值, 我使用两个阀门, 以精确的比例导入并排放蒸汽。 把导气阀开到80%, 把排气阀开到20%, 就能产生与原来相同的80 PSI。 Charles的阀门开度看起来是“+”端的压强减去“-”端的压强。\n\n这适用于整个数值范围, 误差也很小。 由于它能隔离开前后管道之间的影响, 我将它命名为“缓冲器”。"},
{"who":"ada", "text":"不是通过蒸汽流, 而是通过压强进行通讯。 这个想法能够带来很多神奇的可能性, 因为压强不会因长管道的阻抗产生偏差。 我向Charles解释了这个想法, 但他显然更关心公司的利益。"},
{"who":"nicola", "text":"原来的一些部分设计似乎还安装在墙上。 只要我们用Easley女士的蒸汽为墙外的装置提供动力, Charles就没法抱怨了。"}
],
[
{"who":"nicola", "text":"还不是很好, 但我们可以随时回来改进。 太神奇了, 通过两个阀门的组合能重现任何压强值。 输入的压强把导气阀和排气阀打开到对应的程度, 就可以正确地在输出端重现原管道中的压强。\n\n让我们给Easley女士发送一条消息, 看看这个管道还是不是有效。"},
{"who":"annie", "text":"[一段时间后]\n你吓了我一跳! 有那么一瞬间, 我以为是Ada在坟墓另一边跟我说话!"},
{"who":"nicola", "text":"我们向您道歉, Easley女士。 我们正尝试继续Chavvington女士的研究。 我试图发送80 PSI, 因为根据我们的代码本, 它的意思是“你好”。"},
{"who":"annie", "text":"不! 80 PSI意味着 “救命! 我被困在来世! ”。 20 PSI的意思才是“你好”。\n\nAda安装系统时, 在阀门上犯了一个错误, 所以所有的压强都被翻转过来了。 正是在调查这个问题时, 她突然意识到蒸汽的可能性。 我们没有修复它, 而是在代码本中翻转了所有的压强值。"},
{"who":"nicola", "text":"有意思。 也许我们应该试试能不能犯同样的错误。"}
],
[
{"who":"charles", "text":"可恶, 无论如何我都找不到Ada制造的压强比较仪! 著名的高压蒸汽协会每年都会对所有高压蒸汽工厂提供的蒸汽压强进行比较, 确定哪一家供应商提供压强最高的蒸汽。 如果没有准确的比较器, 我们就不得不取消今年的比赛了。\n\n我蝉联五年的获奖记录会被毁掉的! 我敢肯定她放了一个比较器在这附近的某个地方……"},
{"who":"nicola", "text":"我们得给他做一个, 不然他会在这里一直打扰……"},
{"who":"charles", "text":"你刚才说了什么?"},
{"who":"nicola", "text":"我说我们可以做一个比较器, 先生。"},
{"who":"charles", "text":"好极了! 记住, 只做到在一个输入大于另一个时将输出连接到高压蒸汽是不够的。 相反的情况发生时, 还必须将输出排空。 我的管道是完全密封的, 永远不会泄漏蒸汽, 所以必须打开一个阀门让它们排气。"}
],
[
{"who":"charles", "text":"非常好, 十分精确! 我相信它连一根羽毛在一整个球场上产生的压强都能探测到。\n\n不过在你继续研究之前, 我还需要一个装置。 要想加入高压蒸汽协会, 就必须证明自己的蒸汽厂生产的是高压蒸汽。"},
{"who":"charles", "text":"在我的通用高压蒸汽工程中, 生产的都必须是100 PSI的高压蒸汽, 这也是我唯一真正认可的的高压蒸汽。 但从技术上讲, 任何超过50 PSI的蒸汽压力都能被视为高压蒸汽。 作为高压蒸汽协会的主席,我有责任确保没有任何生产劣质低压蒸汽的人员加入。\n\n我需要一个装置来确定申请人的蒸汽的质量。"},
{"who":"nicola", "text":"你设计的50 PSI发生器还在工具箱里。 我们可以用已经完成的设计作为元件。"}
],
[
{"who":"charles", "text":"很好! 有了这个装置, 我就不会让那些生产低压蒸汽的人进入我们的独家协会。"},
{"who":"nicola", "text":"协会里到目前为止有多少成员?"},
{"who":"charles", "text":"嗯……一个……正如我所说的“独家”……\n\n无论如何, 我现在必须离开, 以免错过我的酒会!"},
{"who":"nicola", "text":"最后……\n\n根据Chavvington女士的笔记, 还有第二条通讯管道被安装, 通往了Moorhouse先生的住所! 如果Charles知道了, 他不会高兴的。 你看:"},
{"who":"ada", "text":"6月17日\n\n随着通往Moorhouse先生庄园的管道逐渐完工, 我开始研制一种装置, 将高压值(0-100)压缩到低压系统可接受的范围(0-50)。 令我惊讶的是, 由Moorhouse先生的低压蒸汽提供蒸汽源, 但仍然使用100 PSI作为参考压强时, 缓冲器能够将输入压强精确地缩放到一半。\n\n这些特性在数学领域可能有着惊人的用途。"},
{"who":"nicola", "text":"真的吗!?!那怎么可能呢?"}
],
[
{"who":"nicola", "text":"太令人吃惊了! 好吧, 我们已经成功了一半了。 我们可以发送信号了, 但现在我们还需要接受信号。 我们必须把他的蒸汽压强扩大到我们的使用范围。 根据Chavvington女士的说法, 需要用100 PSI的蒸汽为元件提供蒸汽, 但是用50 PSI作为参考压强。"}
],
[
{"who":"nicola", "text":"试试看这能不能起作用。\n\n80 PSI[你好]\n55 PSI[请求会面]\n57 PSI[在Madingley大厅进行下午茶]"},
{"who":"george", "text":"……\n23 PSI [拒绝]\n……\n6 PSI [6]\n12 PSI [/]\n7 PSI [7]"},
{"who":"nicola", "text":"什么?!? 6/7? 让我查一下笔记。\n……\n6月7日的所有内容都是关于压强翻转器的设计。 如果压强翻转了,他怎么能和我们沟通呢……翻转的……翻转?……对了!\n\n抱歉, 之前我的所在地使用的日月顺序是相反的。 这才是正确的笔记。"},
{"who":"ada", "text":"7月6日\n\n我怀疑我们的通讯管道被破坏了! 经过几天的恳求, Moorhouse先生终于同意了与我一同进行研究工作。 我们通过通讯管道交换了各自实验室门的密码。 但在几小时后, 我就收到了一张他手写的便条, 告知我他的实验室已被洗劫一空, 不愿再接受我的合作了。 我赶紧前往我的实验室, 发现也已经被人闯入了! 许多工作成果都已经丢失了。"},
{"who":"ada", "text":"我把密码保存地很安全, 而Charles也肯定不会做出这种事。 我立刻把实验室的门换掉了。 Charles宁死也不愿开Moorhouse的低压蒸汽门。"},
{"who":"ada", "text":"我感觉这里不再安全了。 我联系了我姐姐, 告知她我很快就会前往她家。 这正适合测试我的新加密系统, 因为它能保持我们的通信安全。 Charles曾答应过会通过管道向姐姐的住所发送信号, 但我仍然没有收到。 他有时真的很健忘。"},
{"who":"nicola", "text":"那是她最后一篇笔记。\n\n哦等等! 我以为这根管道不会通向哪儿, 所以把这些部件都用到我们的其他设计中了。 还好有些管道是是焊住的, 我把它们留在原处了。 加密部分似乎基本上还可以正常工作。"}
],
[
{"who":"nicola", "text":"这并不难, 加密只是一个不平衡的缓冲器。 但是该怎样做出一个能精确解密的设计呢?\n\n也许Easley女士可以帮上忙, 我应该问问她有没有空帮助我们……"},
{"who":"annie", "text":"你们有没有在Ada的文件里找到一张Madingley茶室的餐巾? 那天应该是6月24日, 我们正在讨论英国皇家学会的新论文“单调序列的收敛性”时, Ada突然开始在餐巾上写些什么。 之后她就跑出了茶室, 大喊她可能已经解决了解密的问题。 顺带一提, 她没结账。"},
{"who":"ada", "text":"6月24日\n解密设备可以通过反复猜测值, 对猜测的值进行加密, 并将其与加密输入进行比较, 来不断逼近原值。 如果输入值更高, 就增大猜测值; 如果输入值低一点, 就减小猜测值。 这样的设计还能实现许多功能的翻转。\n\n我需要用用Charles的比较器, 不过我得记得在今年的高压蒸汽协会会议之前把它还给他。"},
{"who":"nicola", "text":"至少我们知道了他的比较器到哪儿去了。"}
],
[
{"who":"nicola", "text":"简直不可思议! 我们可以用这种方法提高所有设计的精度。 Chavvington女士的姐姐一定有更多关于这些技术的信息。\n\n80 PSI[你好]"},
{"who":"ada", "text":"80 PSI [你好]\n93 PSI [这里是Ada Chavvington]\n"},
{"who":"nicola", "text":"60 PSI [谁?]\n73 PSI [重复]"},
{"who":"ada", "text":"25 PSI [A], 28 PSI [D], 25 PSI [A]\n24 PSI [_]\n27 PSI [C], 32 PSI [H], 25 PSI [A], 46 PSI [V], 46 PSI [V], 33 PSI [I], 38 PSI [N], 31 PSI [G], 44 PSI [T], 39 PSI [O], 38 PSI [N]"},
{"who":"nicola", "text":"怎么会这样? 我们得马上通知Chavvington先生。\n……\nChavvington先生! 我们与Chavvington女士的姐姐的住处联系上了, 但另一端的人却自称就是Chavvington女士本人!"},
{"who":"charles", "text":"啊, 那应该就是Ada吧。"},
{"who":"nicola", "text":"但……但是Chavvington先生, 你说Ada离世了。"},
{"who":"charles", "text":"胡说八道! Ada好好活着呢, 现在和她姐姐住在一起。 等我们解决了高压蒸汽不知去向的问题后她才回来。"},
{"who":"nicola", "text":"但你说她“离去”了。"},
{"who":"charles", "text":"对啊, 她“离”开这里“去”她姐姐……"},
{"who":"nicola", "text":"每个人都觉得她离世了……"},
{"who":"charles", "text":"嗯……好吧……我想了想, 这可能就解释了为什么会有人给我送花和卡片, 对我的损失表示同情。 我真的因人们对我失去高压蒸汽的担心感到很感动……\n\n不过这些都是无关的。 你越早完成蒸汽计算器, 我们就能越早弄清真相。 赶紧继续研究。"},
{"who":"ada", "text":"6月27日\n我和Moorhouse先生在蒸汽计算方面取得了进展。 我们以前的设计不够精确, 只有当阀门完全平衡产生50 PSI的输出时, 结果才是精确的。 对于这一点我突然想到了一个主意。\n\n通过放置另一个阀门并调整其开度, 我可以探测任何阀门的开度。 因为只有当两个阀门开度相等时, 它们之间的压强才会精确到50 PSI。 我所要做的就是不断调整数值, 直到出现这种情况。"},
{"who":"ada", "text":"利用这一方法, Moorhouse先生设计出了一个蒸汽压强加法器。 我十分希望他能向我透露他是怎么制作的。\n\nMoorhouse先生非常内向, 也十分聪明。 唉, 他总是害怕分享他的创新成果。"}
],
[
{"who":"nicola", "text":"好的, 它起作用了。 我们现在可以探测阀门的开度, 但还不清楚这对蒸汽计算有什么帮助。 我想我们得问问Moorhouse先生。"},
{"who":"nicola", "text":"Moorhouse先生, 谢谢您允许我们前来拜访。 在Chavvington女士离开的情况下, 我们正试图继续完成她的蒸汽计算工作。 现在只有您知道加法器的结构, 请问能否向我们透露它的结构?"},
{"who":"george", "text":"当然可以。 尽管她与Charles串通一同针对我, 知识的发展也不能因此停步。 我会将加法器的原理公之于众, 以确保她不受他的伤害。 那些传闻让我怀疑她已经死于他手。"},
{"who":"nicola", "text":"Chavvington女士还活着, 现在和她姐姐住在一起。"},
{"who":"george", "text":"这就让我放心了。 一想到她可能还要在那高压蒸汽的危险环境里呆上很久, 我就彻夜难眠。 如果有高压蒸汽罐爆炸了, 就将会造成极大的破坏性, 后果难以想象。 在摆脱这种高压恐怖之前, 我是不会停下的……\n\n哦……我刚刚说到哪儿了? 对了是加法器。 在你做它之前, 你必须先做一个减法器。 阀门的开度等于“+”端的压强减去“-”端的压强。 先制造一个两端有压强差的阀门, 然后测量它的开度就可以得出结果。"},
{"who":"george", "text":"但现在我就得走了。 既然Ada还活着, 我就要去准备更加重要的任务。"}
],
[
{"who":"charles", "text":"我把Ada要求通过管道发送的信号序列带来了。"},
{"who":"nicola", "text":"那个信号几个月前就该发了。"},
{"who":"charles", "text":"是的, 但我说过要做某件事时, 我肯定会去做的, 没必要每个月都提醒我。\n\n你能帮我给她发条信息吗?\n\n80, 94, 76, 52, 68, 70"},
{"who":"nicola", "text":"看来你已经学会使用这些代码了!"},
{"who":"charles", "text":"学会?!? 这可是我设计的! 我在从军的时候, 把上校之间最经常使用的消息组合设计成了这套代码。\n\n别问那么多了, 赶紧把消息发出去。"},
{"who":"nicola", "text":"80 PSI [你好]\n94 PSI [这边是Charles Chavvington]\n76 PSI [我亲爱的天使]\n52 PSI [我的心向往着你]\n68 PSI [我热切地等待你的归来]\n70 PSI [没有你我的生命就没有意义]"},
{"who":"charles", "text":"好极了, 看来现在减法器已经做好了! 正如我已离去的妻子所说……"},
{"who":"nicola", "text":"先生! 你不要再用那个词了! 人们都开始认为你是杀人犯了……"},
{"who":"charles", "text":"嗯……好吧。 正如……不再和我们待在一起的Ada所说, “加法器就是反向的减法器。 输出减去其中一个输入应该等于另一个输入。” 但是应该减去哪个输入?\n\n她有一段时间很沮丧, 因为当一个输入为零时, 她的设计会卡住; 而交换输入后, 另一个输入为零也会使设计卡住。 后来她灵光一现, 意识到需要把两种方法结合。"}
],
[
{"who":"annie", "text":"为什么你们没有回复我的信息?"},
{"who":"nicola", "text":"抱歉Easley女士, 但我们没有收到任何信息。"},
{"who":"annie", "text":"它们应该记录在了你的信息锁存器上。\n……\n\n锁存器到哪儿去了! 肯定是被闯进实验室的人偷了。 为防止错过其他重要的信息, 你们应该立刻重新制造锁存器。"},
{"who":"annie", "text":"当信息稳定下来时, 时钟管会发送一个脉冲, 锁存器就会捕获当前值。 锁存器会记录当前值, 但时钟管恢复低压前, 输出都将保持旧值。\n\n因为需要通过顺序放置锁存器来记录一系列信息, 所以只有当时钟管恢复到低压时才能输出新值。"},
{"who":"annie", "text":"Charles的阀门令我印象深刻, 因为它们的密封性非常好, 在关闭时能够保持管道内的压强不变。\n\n我希望这个设计能够重现, 因为我有对它进行多方面扩展的计划。"}
],
[
{"who":"charles", "text":"好消息! 让我向你们介绍Joseph Cogsworth教授。 他在世上即便不是最聪明的也是最聪明的之一。 他制作的齿轮传动制表机为我们的会计部门创造了许多奇迹。\n\n他一直在帮助我们解决高压蒸汽失踪问题, 而且表现出了对Ada的成果的兴趣。"},
{"who":"joseph", "text":"很高兴看到你们已经进展到这么远了。 看来你们已经重新造出了Ada在笔记里描述的寄存器。"},
{"who":"nicola", "text":"那些笔记在实验室被闯入时就不见了, 你怎么知道的?"},
{"who":"joseph", "text":"Ada很欣赏我的成果。 尽管我认为她那些基于蒸汽的计算方法太过粗糙, 不够准确, 她还是经常会征求我的意见, 希望能够提升精确度。"},
{"who":"charles", "text":"一旦蒸汽制表器制作好了, 我们就能够确定哪个会计盗用了我的高压蒸汽。\n\n每个制表器从当前计数中加上或减去一个值。 北输入选择进行加或减, 南输入提供定时的高压蒸汽脉冲。\n\n为了提高各个元件的精确度, Ada必须改进她之前的所有设计。 这是她从未能完成的。"}
],
[
{"who":"charles", "text":"很好, 但已经迟了, 因为Cogsworth教授已经找出了盗用蒸汽的会计。"},
{"who":"joseph", "text":"作为回报, 我希望能得到这种蒸汽制表器的原型设计。 Ada希望我能够接手她所有研究。 Gertrude, Nicola, 你们的工作已经完成了。"},
{"who":"ada", "text":"我可没这么说过! 我可不会把我的工作交给一个性格和智力都不怎么样的人。"},
{"who":"joseph", "text":"Ada! 我以为你已经去世了!"},
{"who":"ada", "text":"Charles! 抓住这个人, 他就是引起这一切事件的罪魁祸首!"},
{"who":"charles", "text":"什么!?! 我难以相信像他这样有地位的人会做出这样的行为。"},
{"who":"george", "text":"是真的, Charles。 Joseph用谎言挑起我们相互攻击, 使我们彼此憎恶。 起初我和他合作是因为他不喜欢高压蒸汽, 但后来我才意识到, 他讨厌所有蒸汽!"},
{"who":"charles", "text":"Joseph, 这是真的吗? 你对高压蒸汽一点热情也没有?"},
{"who":"joseph", "text":"当然是真的! 可恶的蒸汽。 但是你要抓住我? 凭什么? 你没法证明我有任何不当行为!"},
{"who":"ada", "text":"当然能够证明。 你的齿轮制表机从每笔交易中减去了很小的值。 我们将结果与蒸汽制表机进行比较时, 才发现了这些错误。 你就是通过这样逐渐挪用高压蒸汽的。 如果不是Charles感到有什么不对劲, 这件事就永远不会被发现。"},
{"who":"joseph", "text":"太荒谬了! 我要这恶心的蒸汽做什么!"},
{"who":"george", "text":"把你让我在市政厅下方建造的蒸汽容器慢慢装满。"},
{"who":"charles", "text":"什么!?! 那可是个低压容器! 你不知道装入高压蒸汽的后果吗!?!"},
{"who":"joseph", "text":"唯一的后果是人们将永远拒绝蒸汽! 它会留作处决之用, 而且只能在博物馆里看到。 看看现在! 蒸汽管已经蔓延到了办公室内, 取代了我的机器! 只有我的齿轮机器才能…\n\n什么!?! 放开我! 放开我, 你们这些可怜的傻瓜! 你不能这样对我! 等研究院了解了这件事再说!"},
{"who":"charles", "text":"研究院当然会了解这件事!\n\n对这件事来说, 这是一个令人满意的结果。 我的高压蒸汽和我亲爱的Ada一样安全。"},
{"who":"ada", "text":"事实上, 亲爱的, 我认为蒸汽计算的故事才刚刚开始。"},
{"who":"charles", "text":"是的。 但是, 也许我们应该先把这个随时可能爆炸的蒸汽炸弹拆除……"}
],
[
{"who":"ada", "text":"谢谢你, Gertrude。 要不是你这么快就解决了它, 它可能就会带来灾难了。"},
{"who":"george", "text":"对此我也十分钦佩。 Ada, 我对指控你洗劫我的实验室感到十分抱歉。 Gertrude和Nicola能帮助我进行设计吗? 我认为他们的意见会很有建设性。"},
{"who":"ada", "text":"别再说这些了, 我也得向你道歉。 为表达我的善意, 请随意使用我的……我们的实验室。 Easley女士已经有实验室的权限了。 我认为Charles和我需要在这场骚乱后休息一下。 我们将在几天后回来, 希望能够看到你们的进展。"},
{"who":"george", "text":"好的, 一路平安。\n\nNicola, 你能帮我找找那个乘二器吗?"},
{"who":"nicola", "text":"就在这儿。\n\n它的构造很简单, 但我发现这个设计模式非常有用。"},
{"who":"george", "text":"的确。 这个装置只能把数值从0到50这一范围放大到0到100。 我认为在给定值的范围时, 可以制造一个把值放大到任何范围的元件。"},
{"who":"nicola", "text":"我们可以把它命名为放大器。"},
{"who":"george", "text":"是的, 但首先我们应该先制造出来。 北输入给出取值范围的上限, 南输入给出取值范围的下限。 东输出表示西输入在取值范围内的位置。"}
],
[
{"who":"george", "text":"很好, 现在我们可以放大任何压强范围。 接下来需要一种探测压强是否在某个范围内的元件。 看看这个“蒸汽速度表”。\n\nAda为Charles造了这个来测量蒸汽量。 当蒸汽通过长管道时, 它的压强会有所损失。 蒸汽的流速越快, 压强损失就越大。 如果两边的压强相同, 蒸汽就不会流动。 她甚至在管道里放了一些阀门来增加阻抗, 使差别更加明显。"},
{"who":"george", "text":"现在需要一种设计来判断西输入值是否介于这两个压强之间。它需要比北压强低, 比南压强高。"}
],
[
{"who":"george", "text":"现在通过放大值的范围, 我可以更准确地判断蒸汽的使用量, 同时也可以判断值我是否在我检查的范围内。 下次我要告诉我的客户在蒸汽账单上多留一位小数!"},
{"who":"annie", "text":"这些研究只是为了帮助你的公司盈利吗?我们定的协议上可不是这样说的。"},
{"who":"george", "text":"Easley女士! 这个元件确实是给你做的。 相信我, 之后这个元件将会非常有用。"},
{"who":"annie", "text":"我对此深表怀疑。 是时候进行一些纯粹的研究了。\n\n让我们回到Ada和我正在研究的锁存器设计。 我想要一个可以启用或禁用的锁存器。 如果北输入是高压, 锁存器正常工作; 但如果是低压, 则既不应改变原有输出, 也不应在收到脉冲接受新的输入。 我们可以在旧设计外部进行延展, 但重做一个可能效率更高。"}
],
[
{"who":"annie", "text":"现在我想要一个“寻址锁存器”的设计, 其中北输入在几个锁存器中进行选择。 这样我就可以同时存储多个值并随意访问。\n\n让我们先从两个值开始。 北输入在两个锁存器之间选择。 值在0到50间时选择第一个, 在50到100间时选择第二个。"}
],
[
{"who":"annie", "text":"好, 但这就是我们目前能做到的最好地步了。 接下来我想要一个可以存储五个值的锁存器, 但我和Ada总是无法将其整体放入一个设计中。 选择范围是0-20, 20-40, 40-60, 60-80和80-100。 可检测选择信号处在哪一范围太困难了。"},
{"who":"george", "text":"有检测压强范围的装置就能做了。"},
{"who":"annie", "text":"但你的设计检测的是是否在某一范围, 不是在哪一个范围。"},
{"who":"george", "text":"是, 但也不完全对。 它探测的是流动蒸汽的压力范围。 如果把它排成一列, 让蒸汽通过, 就能检测出压强处于哪个范围。"}
],
[
{"who":"annie", "text":"我承认, 流量探测器是很巧妙, 也确实是我们需要的。 但现在, 我们该如何把两个五锁存器合成一个十锁存器?\n\n选择范围是0-10,10-20,20-30……"},
{"who":"george", "text":"这就是为什么我要设计放大器。 我早就看出了你的想法的绝妙之处, 并且已经提前计划好了。"}
],
[
{"who":"ada", "text":"真令我吃惊。 我们才离开了几天, 你们就已经造好了蒸汽计算机的存储器。"},
{"who":"nicola", "text":"蒸汽什么?"},
{"who":"annie", "text":"一切都会慢慢揭晓的。\n\n好吧, 我想我的工作已经完成了! 我已经成功设计了存储器, 现在到你来设计计算和控制部分了?"},
{"who":"ada", "text":"先从简单的部分做起吧。 我们需要一个能给出两个输入值中较小值的元件。 这应该不难。"}
],
[
{"who":"charles", "text":"亲爱的艾达! 尝尝George介绍给我的这种令人兴奋的新饮料吧! 它被称为“Froffee Coffee”。 尝尝看!"},
{"who":"ada", "text":"嗯, 它尝起来的确很不错……"},
{"who":"charles", "text":"你知道什么能让它变得更好吗!?!"},
{"who":"ada", "text":"高压……?"},
{"who":"charles", "text":"高压蒸汽!"},
{"who":"ada", "text":"亲爱的, 我对你与George的重归于好感到高兴, 但你们两个不是应该在计划程序部分的设计吗?"},
{"who":"charles", "text":"早就完成了! George正在完善这个诗……或者应该说是要求。"},
{"who":"ada", "text":"哦! 我们必须赶紧完成最大值器, 然后就该去见我们的工程师了。\n\n这次输出两个输入中的较大值。"}
],
[
{"who":"charles", "text":"既然在George来之前还有时间, 我们应该花点时间让他的蒸汽容器更安全。 在压强未达到90 PSI之前, 容器都是安全的; 但一旦超过了这个值, 容器就有爆炸的危险。 我需要一个“蒸汽保险器”。 它允许蒸汽从西向东流动, 但一旦压强超过了90 PSI, 就立刻切断连接, 并排空容器。 记住要先断开蒸汽输入, 再把容器排空。"}
],
[
{"who":"charles", "text":"快来, George! 我想我们有一些私事要谈!/n/n……"},
{"who":"george", "text":"你真的这样认为吗, Charles? Easley女士几乎都还不认识我。"},
{"who":"charles", "text":"别总克制自己了老家伙!"},
{"who":"george", "text":"好吧, 这还真是善解人意。 我需要一个每次循环会增加10 PSI的元件。 它从0 PSI开始, 在每个脉冲应增加10 PSI。 而要到达100 PSI时, 应重置回0 PSI。\n\n请谨慎考虑它的结构。"}
],
[
{"who":"george", "text":"Charles, 我非常感谢你能让我使用你写的诗。 这首诗完美地表达了我对Easley女士的感情。 它描述了她的美丽, 她的善良和她巧妙的锁存器设计。 我只需要把你的诗里的“高压蒸汽”换成“Easley女士”。"},
{"who":"george", "text":"来看看Easley的十锁存器设计。 我们需要一个更简单但可能又更复杂的元件。 对于每个输入值范围, 我需要输出设定的压强值。 设定的值不需要更新。\n\n现在正好适合做一个自定义元件。 你可以在旧设计的基础上, 更改该元件的内部, 应用到其他设计里。"}
],
[
{"who":"george", "text":"我们快要成功了。 把这些部分连接起来就能重现我的诗了。 每次接受到蒸汽脉冲时, 它应读出下一个值。 这并不简单, 因为我们的计数器生成的序列是0,10,20,30…… 而我们的诗歌存储器需要的序列是5,15,25,35……"}
],
[
{"who":"charles", "text":"完美! 可是我们还是不得不依靠这些可怕的Cogsworth时钟来提供定时脉冲。"},
{"who":"nicola", "text":"Gertrude, 你还记得你是怎么拆除炸弹的吗? 我们可以做一个同样精确的时钟。"},
{"who":"charles", "text":"不管你怎么做, 我希望时钟的输出每刻翻转一次, 并且不会因为连接到什么上而发生改变。"}
],
[
{"who":"ada", "text":"你们两个在忙什么?"},
{"who":"charles", "text":"George和我刚把一台最棒的诗歌朗诵器送给了Easley女士。 它被设置成会朗诵George对她的感情。\n\n只要有足够的调整, 就可以把这样的装置缩小到马的大小。"},
{"who":"ada", "text":"听起来不错。 但我希望你们有翻转压强, 因为Annie记录的的代码都是相反的。"},
{"who":"george", "text":"啥!?! Nicola! 我刚发送给她的信息是什么?"},
{"who":"nicola", "text":"嗯……看起来你称赞了她华丽的胡须十分吸引人……请求得到她的淫秽蚀刻画……并指示她在黎明时攻击敌人。"},
{"who":"george", "text":"...\n好的, 我回我的住处去喝瓶白兰地。"},
{"who":"ada", "text":"Charles! 去帮帮他!\n\n他们离开了, 但你们两个还可以来帮帮忙。 Charles本该在这堵墙上安装两根管道, 但现在只有一根。 我需要把南北两方和东西两方连接起来。 在新管道安装好之前有没有办法做到这一点?"},
{"who":"nicola", "text":"我有个好主意。 幸好我们活在有时钟的世界里。"}
],
[
{"who":"annie", "text":"你好, Ada。 George在吗? 我是来和他谈谈这台之前运到我家的机器的。"},
{"who":"ada", "text":"哦, Annie! 非常抱歉, 他和Charles都完全不知道代码本是有区别的。"},
{"who":"annie", "text":"哦, 我当时很快就明白了。 按我的代码本解读这就只是一堆愚蠢的句子。"},
{"who":"ada", "text":"Nicola! 不管George和Charles到哪儿去了, 去把他们带来。"},
{"who":"annie", "text":"他们制作的这个诗歌朗诵器真是个神奇的装置, 里面使用的元件都很巧妙。 Gertrude, 我想你也有参与计数器的建造。 你能调整一下设计, 加入设定当前值的方法吗? 西输入会给出新值, 而北输入会选择是否使用新值。"}
],
[
{"who":"ada", "text":"安妮, 我不得不问, 你有没有觉得这一切越来越复杂了?"},
{"who":"annie", "text":"我当然觉得, 但看看我们已经走了多远了。 还记得你花了一周的时间设计加法器吗? 现在回想起来, 一切看起来都那么简单。 我们不仅在研究上取得了进展, 也对蒸汽有了更好的理解。"},
{"who":"ada", "text":"那么也许你能帮我看看你的其中一个信息锁存器。 我不知道它出什么问题了, 所有来自Bechdel女士的信息都毫无意义。"},
{"who":"annie", "text":"有趣。 定时脉冲似乎在值变得稳定之前就提前发出了。 如果能把脉冲延迟一点点, 就能解决问题了。 它需要在0到100 PSI之间快速转换。 让我们做点什么。"}
],
[
{"who":"annie", "text":"这个计量器显示的是什么?"},
{"who":"ada", "text":"应该是通向Cogsworth钟表厂那儿的蒸汽压强。 为什么问这个?"},
{"who":"annie", "text":"看, 它的变化模式有点奇怪。 而且今天是星期天, 他们不是应该休息了吗?\n\n它在一刻中跳到100 PSI, 下一刻跳到另一个值, 最后返回到0 PSI。"},
{"who":"ada", "text":"这有点神秘。 我想试试能不能破译它。"}
],
[
{"who":"nicola", "text":"Chavvington女士! 我搜遍了整个城市, 也找不到……"},
{"who":"ada", "text":"我们知道他们在哪里! George通过不断改变蒸汽开关给我们发送了信息。 他们被锁在了Cogsworth钟表厂的蒸汽房里。 我们现在就去那儿!"},
{"who":"charles", "text":"[嘭][嘭][嘭]\n把我们救出来! 房间里充满了高压蒸汽! 我要被我爱的东西杀死了, 这可真是残酷的讽刺。"},
{"who":"nicola", "text":"这扇门没法用钥匙打开了! 看来有人朝门锁开过枪, 里面的管道破裂了! 我对撬锁一无所知, 更别说是断了的锁。"}
],
[
{"who":"charles", "text":"Gertrude! 我万分感激你! 你不仅拯救了我们的生命,而且还是用高压蒸汽拯救的!"},
{"who":"ada", "text":"亲爱的, 你怎么会陷入这种可怕的情况?"},
{"who":"charles", "text":"George和我在那家古铜酒馆里喝了几杯, 然后一切都变得模糊不清了。 之后我记得的就是在这个房间里醒来, Cogsworth指控我们毁了他的生活。 被研究院开除后, 他的投资者也开始向他发难。 他只能压制住我们, 使他有足够的时间带上他的投资者的钱仓促逃离。\n\n快! 去机场! 我们不能让他逃跑。"},
{"who":"george", "text":"这条管道从西向东输送起飞许可代码。 每组代码都有三个值, 每个值持续两刻。 一旦我们看到Cogsworth的代码27,39,31, 我们就会知道他正试图逃跑。"},
{"who":"ada", "text":"到那时就太晚了, 他获得起飞许可后就会立刻逃脱了。 我们必须告诉机场经理不要让他离开。"},
{"who":"george", "text":"唉, 经理早就被一台Cogsworth机器取代了。 他们早就对机器妥协了。\n\n我们不能让Cogsworth的代码通过, 但我们又不能破坏这根管道, 以免他发现我们在跟踪他。\n\n如果我们把信号延迟几秒, 并找到他的代码, 我们能把它删除吗? 这将给我们争取逮捕他的时间。"}
],
[
{"who":"ada", "text":"终于, 科格斯沃斯坐牢后, 我们终于可以完成我们的蒸汽计算机了。\n\n所有元件都已就位。 我写了一个计算斐波那契数的程序, 但结果不太正确。\n\n我们需要对之前的元件进行改进, 直到计算机能够正常工作。 这可能需要花费大量时间来诊断问题并进行微调。"}
],
[
{"who":"charles", "text":"来自研究院的回复到了!\n\n“感谢您提交蒸汽计算机供研究院审查。 我们发现它大大扩展了我们在蒸汽计算方面的知识。 因此, 我们很高兴地通知您, 您的入会申请已获批准!”"},
{"who":"nicola", "text":"祝贺你, Chavvington女士。"},
{"who":"ada", "text":"实际上, 这并不是我的申请表, 而是代表Gertrude的。\n\nGertrude, 是你构造了所有的元件, 并向我们展示了如何通过操纵蒸汽得到奇妙的用途。 你才是能够教别人蒸汽计算的人。"},
{"who":"charles", "text":"太棒了!\n\n让我们今天下午就来庆祝吧!"},
{"who":"george", "text":"Easley女士? 您愿意和我们一起参加这一活动吗?"},
{"who":"annie", "text":"恐怕不行, 因为我今天下午将和一位风度翩翩的先生进行约会。"},
{"who":"george", "text":"哦……"},
{"who":"annie", "text":"那就是你, George。 Madingley大厅会提供下午茶, 我会欣然接受你的邀请的。"},
{"who":"ada", "text":"感谢您游玩ComPressure!"}
]
],
"hints":
[
[
{"who":"charles", "text":"按住左键从起点到终点拖动以放置新管道。 新管道横跨旧管道时, 它们不会相互连接。 如果放置错误, 可以点击右键移除管道。"}
],
[
{"who":"charles", "text":"你可以通过元件页面放置一个蒸汽源。 蒸汽源提供100 PSI的蒸汽。 开口的管道会把压力释放到0 PSI。 在管道中间的某个地方开口, 就有可能在某个地方产生正确的压强。"}
],
[
{"who":"charles", "text":"元件页面也包含阀门元件。 将阀门的“+”端连接到北部, 就能够由北输入控制阀门的开度。 当北部处于高压时, 东部和西部应当可以直接连接。"}
],
[
{"who":"nicola", "text":"如果我没有理解错, 我们只需要将阀门的“+”端连接蒸汽源, 并将“-”端连接到南输入。 只有在南部处于低压时, 才会将东西部连接; 如果处于高压, 它就会关闭阀门。"}
],
[
{"who":"nicola", "text":"当输入高压时, 连接北部, 这就是“常开开关”的设计。 当输入低压时, 连接南方, 这就是“常闭开关”的设计。"}
],
[
{"who":"nicola", "text":"让我们从基础部分开始。 当输入较高时, 将输出连接到蒸汽源; 当输入较低时, 将输出连接到大气。 只需保持管道末端打开就能连接到大气。\n\n正如Chavvington女士所指出的, 阀门是给出的是模拟信号。 当数值在0到100之间时, 阀门会部分打开, 并可以生成准确的比率。"}
],
[
{"who":"nicola", "text":"这一次, 当输入较高时, 将输出连接到大气; 当输入较低时, 将输出连接到蒸汽源。 你可以选择阀门的另一端连接至蒸汽源或是大气。"}
],
[
{"who":"nicola", "text":"我们可以用阀门测量南北哪端压强高。 如果北方更高, 就将输出连接到蒸汽源; 如果南方更高, 将输出连接到大气。\n\n请记住, 输出管中的蒸汽不会自行排出, 需要使用阀门主动排放。"}
],
[
{"who":"nicola", "text":"我想我们已经有了一个比较器, 和一个精确的50源。"}
],
[
{"who":"nicola", "text":"当输入为100时, 我们希望输出为50, 所以应该将输出连接到50源; 当输入为0时, 应该将输出连接到大气。"}
],
[
{"who":"nicola", "text":"这听起来很像我们的缓冲器, 但当输入是50时, 输出应当是100。 所以压强到达50时, 排气阀应该关闭。 我猜应该把排气阀的“+”端换成50源。"}
],
[
{"who":"nicola", "text":"我不记得这里之前还有其他元件。 我认为只需要把它和输出连接起来就行。"}
],
[
{"who":"nicola", "text":"令输出通过加密器, 得出的结果应该和输入一样。\n\n当比较器上的两个输入相等时, 输出既不会导气, 也不会排气。 如果输出总是振荡, 应当回去调整比较器设计, 使它产生的输出不过于强大。"}
],
[
{"who":"nicola", "text":"可以使用与解密器一样的设计。 不断调整底部阀门的开度, 直到它们之间的压强正好为50。 鉴别器正好能实现这一点。"}
],
[
{"who":"nicola", "text":"令一个阀门的开度为西部输入减去南部输入, 然后令第二个阀门打开到相同的开度, 此时当它们之间的压强为50。"}
],
[
{"who":"nicola", "text":"这个有些难了。 使用减法器会带来太多的振动。\n\n如果用输出减去一个输入与另一个输入进行比较, 在第二个输入为0的情况下就会出错。 在这种情况下, 可以使用另一对阀门交换输入进行比较。 可以使用鉴别器来确保四个阀门之间的压强为50。\n\n点击设计目标面板可以看阀门配置。"}
],
[
{"who":"annie", "text":"当南部输入高压时, 打开存储管道。 可以使用缓冲器持续输出储存值。 而且在南部输入高压的时候必须关闭输出, 以免新的压强影响输出。 保证这一点的最简单方法是在输入阀和输出阀上使用50作为阈值。"}
],
[
{"who":"nicola", "text":"输出是由南输入控制的锁存器的值。 锁存器的输入是输出加上或减去西输入, 北输入在二者之间进行选择。 我们现在已经有加法器, 减法器和选择器了。"}
],
[
{"who":"nicola", "text":"这次我们反而需要振荡了。 将比较器连成环会使设计不稳定, 输出值会上下摆动。"}
],
[
{"who":"nicola", "text":"当西部高于南部时, 将输出连接到蒸汽源。 当西部低于北部时, 将输出连接到大气。"}
],
[
{"who":"nicola", "text":"可以把阀门串联起来。 只有所有的阀门都打开了,蒸汽才会通过。"}
],
[
{"who":"nicola", "text":"这与我们的普通锁存器没有太大区别, 只不过当北部输入低压时, 不要将脉冲与锁存器连接。"}
],
[
{"who":"nicola", "text":"北输入大于50时, 启用一个锁存器, 小于50时启用另一个。"}
],
[
{"who":"nicola", "text":"有这么多种选择信号! 如果把一排流量探测器连在一起, 一端是蒸汽源, 另一端是大气呢? 这样就能得到所需的所有范围了。"}
],
[
{"who":"nicola", "text":"可以使用两个五锁存器元件, 并在二者之间切换。 选择哪个五锁存器取决于选择信号是低于50还是高于50。 而且还需要将两个范围(0-50或50-100)缩放到五锁存器所需的范围(0-100)。\n\n放大器虽然很有用, 但在这种情况下, 它可能需要足够强大才不会出问题。 每一个放大器会连接到五个流量探测器, 并需要一段时间来给管道加压。 为了使设计更稳定, 我们可以直接复制放大器的内部结构。"}
],
[
{"who":"ada", "text":"它应该很简单, 只需要比较器和开关就行。"}
],
[
{"who":"ada", "text":"这不是和交换选择的最小值器一样吗?"}