annotate rogue4/rogue.me.in @ 76:ad2cb9a07aaa

arogue5: fix player's typed responses getting put at the wrong place. Some sections of code that prompt the user for a string of input were calling get_str() with cw (the player-visible screen containing the map), which caused whatever the player typed to get printed starting at cw's idea of the cursor position, which was usually the Rogue's @-sign. This corrupted the map. The problem has been fixed by passing msgw (the message line at the top of the screen) to get_str(), so the player's typing appears where msgw thinks the cursor should be, which is in the sensible place right after the prompt. Some other get_str() invocations which used hw or stdscr have been left unmodified.
author John "Elwin" Edwards <elwin@sdf.org>
date Sat, 08 Sep 2012 22:05:05 -0700
parents a1dc75e38e73
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
1 .ds E \s-2<ESCAPE>\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
2 .ds R \s-2<RETURN>\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
3 .ds U \s-2UNIX\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
4 .ie t .ds _ \d\(mi\u
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
5 .el .ds _ _
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
6 .de Cs
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
7 \&\\$3\*(lq\\$1\*(rq\\$2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
8 ..
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
9 .sp 5
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
10 .ce 1000
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
11 .ps +4
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
12 .vs +4p
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
13 .b
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
14 A Guide to the Dungeons of Doom
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
15 .r
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
16 .vs
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
17 .ps
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
18 .sp 2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
19 .i
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
20 Michael C. Toy
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
21 Kenneth C. R. C. Arnold
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
22 .r
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
23 .sp 2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
24 Computer Systems Research Group
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
25 Department of Electrical Engineering and Computer Science
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
26 University of California
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
27 Berkeley, California 94720
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
28 .sp 4
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
29 .i ABSTRACT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
30 .ce 0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
31 .(b I F
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
32 .bi Rogue
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
33 is a visual CRT based fantasy game
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
34 which runs under the \*U\(dg timesharing system.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
35 .(f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
36 \fR\(dg\*U is a trademark of Bell Laboratories\fP
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
37 .)f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
38 This paper describes how to play rogue,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
39 and gives a few hints
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
40 for those who might otherwise get lost in the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
41 .)b
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
42 .he '''\fBA Guide to the Dungeons of Doom\fP'
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
43 .fo ''- % -''
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
44 .bp 1
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
45 .sh 1 Introduction
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
46 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
47 You have just finished your years as a student at the local fighter's guild.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
48 After much practice and sweat you have finally completed your training
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
49 and are ready to embark upon a perilous adventure.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
50 As a test of your skills,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
51 the local guildmasters have sent you into the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
52 Your task is to return with the Amulet of Yendor.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
53 Your reward for the completion of this task
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
54 will be a full membership in the local guild.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
55 In addition,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
56 you are allowed to keep all the loot you bring back from the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
57 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
58 In preparation for your journey,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
59 you are given an enchanted mace,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
60 a bow, and a quiver of arrows
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
61 taken from a dragon's hoard in the far off Dark Mountains.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
62 You are also outfitted with elf-crafted armor
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
63 and given enough food to reach the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
64 You say goodbye to family and friends for what may be the last time
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
65 and head up the road.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
66 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
67 You set out on your way to the dungeons
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
68 and after several days of uneventful travel,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
69 you see the ancient ruins
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
70 that mark the entrance to the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
71 It is late at night,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
72 so you make camp at the entrance
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
73 and spend the night sleeping under the open skies.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
74 In the morning you gather your mace,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
75 put on your armor,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
76 eat what is almost your last food,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
77 and enter the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
78 .sh 1 "What is going on here?"
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
79 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
80 You have just begun a game of rogue.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
81 Your goal is to grab as much treasure as you can,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
82 find the Amulet of Yendor,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
83 and get out of the Dungeons of Doom alive.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
84 On the screen,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
85 a map of where you have been
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
86 and what you have seen on the current dungeon level is kept.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
87 As you explore more of the level,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
88 it appears on the screen in front of you.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
89 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
90 Rogue differs from most computer fantasy games in that it is screen oriented.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
91 Commands are all one or two keystrokes\**
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
92 .(f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
93 \** As opposed to pseudo English sentences.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
94 .)f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
95 and the results of your commands
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
96 are displayed graphically on the screen rather
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
97 than being explained in words.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
98 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
99 Another major difference between rogue and other computer fantasy games
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
100 is that once you have solved all the puzzles in a standard fantasy game,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
101 it has lost most of its excitement and it ceases to be fun.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
102 Rogue,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
103 on the other hand,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
104 generates a new dungeon every time you play it
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
105 and even the author finds it an entertaining and exciting game.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
106 .sh 1 "What do all those things on the screen mean?"
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
107 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
108 In order to understand what is going on in rogue
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
109 you have to first get some grasp of what rogue is doing with the screen.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
110 The rogue screen is intended
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
111 to replace the \*(lqYou can see ...\*(rq descriptions