w:c:strategywiki>Krenath (Create page. Fight with formatting and give up.) |
(Added highscores) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Header Nav|game=Turing Complete}} | |||
{{Infobox level | |||
| section = Assembly Challenges | |||
| type = Architechture | |||
| architechture = Leg | |||
| prerequisite1 = Stack | |||
| scored = No | |||
| highscore = 37 | |||
| highscore-gate = 2 | |||
| highscore-delay = 2 | |||
| highscore-tick = 33 | |||
| api-enum-id = capitalize | |||
| api-enum-number = 68 | |||
}} | |||
''The inputs in this level represent the characters in a list of planet names, encoded as ASCII (see the manual). | ''We had the intern type out planet names in human script. Unfortunately, he forgot to capitalize each name.'' | ||
''The inputs in this level represent the characters in a list of planet names, encoded as ASCII (see the manual). Each name is separated by a space which has the numeric value 32. Replace the first letter in each word with it's uppercase counterpart.'' | |||
''(The possible input characters are a to z lowercase, space, apostrophe and dash)'' | ''(The possible input characters are a to z lowercase, space, apostrophe and dash)'' | ||
Line 16: | Line 31: | ||
As we pre-loaded a 32 in Register 0, in which we keep track of the last character we processed, it will capitalize the first character as if it had followed a space. | As we pre-loaded a 32 in Register 0, in which we keep track of the last character we processed, it will capitalize the first character as if it had followed a space. | ||
{{Footer Nav|game=Turing Complete|prevpage=Tower of Alloy|nextpage=Water World}} |
Latest revision as of 21:11, 17 November 2023
Section | Assembly Challenges |
---|---|
Type | Leg Architechture |
Prerequisite | Stack |
Scored | No |
High score | 37 |
API | capitalize (68) |
We had the intern type out planet names in human script. Unfortunately, he forgot to capitalize each name.
The inputs in this level represent the characters in a list of planet names, encoded as ASCII (see the manual). Each name is separated by a space which has the numeric value 32. Replace the first letter in each word with it's uppercase counterpart. (The possible input characters are a to z lowercase, space, apostrophe and dash)
All one has to do is read each character in and, if it follows a space, subtract 32 from its value in order to capitalize it, then output the result.
One approach to solving the level is:
- Load 32 into Register 0.
- Label the beginning of the loop.
- Read the input into Register 1
- If Register 0 = 32, subtract 32 from Register 1
- Output Register 1
- Copy Register 1 to Register 0
- Loop back to step 2.
As we pre-loaded a 32 in Register 0, in which we keep track of the last character we processed, it will capitalize the first character as if it had followed a space.