Commit | Line | Data |
---|---|---|
2da74194 AT |
1 | TODO LIST: |
2 | ||
3 | - Update README | |
4 | - Write functions for moving wumpus, player movement, player shooting, parsing player commands. | |
5 | - Write a function 'get highest tunnel index' for use in the 'check for pits/bats/wumpus' functions. | |
6 | - Double-check per-file TODOs for critical tasks. | |
7 | - Double-check #includes for all subroutines. | |
8 | - Re-order subroutines in all files for readability. | |
9 | ||
10 | ================================================================================ | |
11 | ||
12 | # Subroutine Labels # | |
13 | ||
14 | NSSVTTTTTTTTSSSSSSSSN | Mark: 11111111 00000000 (wump_kill) | |
15 | NSSVTTTTTTTTSSSSSSSTN | Mark: 11111111 00000001 (kill_wump) | |
16 | NSSVTTTTTTTTSSSSSSTSN | Mark: 11111111 00000010 (no_arrows) | |
17 | NSSVTTTTTTTTSSSSSSTTN | Mark: 11111111 00000011 (shoot_self) | |
18 | NSSVTTTTTTTTSSSSSTSSN | Mark: 11111111 00000100 (jump) | |
19 | NSSVTTTTTTTTSSSSSTSTN | Mark: 11111111 00000101 (pit_kill) | |
20 | NSSVTTTTTTTTSSSSSTTSN | Mark: 11111111 00000110 (pit_survive) | |
21 | NSSVTTTTTTTTSSSSSTTTN | Mark: 11111111 00000111 (please_seed_rng) | |
22 | NSSVTTTTTTTTSSSSTSSSN | Mark: 11111111 00001000 (problem_with_yes_no_answer) | |
23 | NSSVTTTTTTTTSSSSTSSTN | Mark: 11111111 00001001 (instructions) | |
24 | NSSVTTTTTTTTSSSSTSTSN | Mark: 11111111 00001010 (cave_description) | |
25 | ||
26 | NSSVTSSSSSSSN | MARK: 10000000 (wump) | |
27 | NSSVTSSSSSSTN | MARK: 10000001 (set_config_values) | |
28 | NSSVTSSSSSTSN | MARK: 10000010 (wump_init) | |
29 | NSSVTSSSSSTTN | MARK: 10000011 (seed_rng) | |
30 | NSSVTSSSSTSSN | MARK: 10000100 (build_cave) | |
31 | NSSVTSSSSTSTN | MARK: 10000101 (populate_cave) | |
32 | NSSVTSSSSTTSN | MARK: 10000110 (clear_cave_data) | |
33 | NSSVTSSSSTTTN | MARK: 10000111 (generate_cave_hop_length) | |
34 | NSSVTSSSTSSSN | MARK: 10001000 (get_tunnel_destination) | |
35 | NSSVTSSSTSSTN | MARK: 10001001 (set_tunnel_destination) | |
36 | NSSVTSSSTSTSN | MARK: 10001010 (get_random_room) | |
37 | NSSVTSSSTSTTN | MARK: 10001011 (get_room_struct_size) | |
38 | NSSVTSSSTTSSN | MARK: 10001100 (room_has_bats) | |
39 | NSSVTSSSTTSTN | MARK: 10001101 (room_has_pits) | |
40 | NSSVTSSSTTTSN | MARK: 10001110 (build_circular_tunnels) | |
41 | NSSVTSSTSSSSN | MARK: 10010000 (set_bats) | |
42 | NSSVTSSTSSSTN | MARK: 10010001 (set_pits) | |
43 | NSSVTSSTSSTSN | MARK: 10010010 (reset_cave_population) | |
44 | NSSVTSSTSSTTN | MARK: 10010011 (populate_bats) | |
45 | NSSVTSSTSTSSN | MARK: 10010100 (populate_pits) | |
46 | NSSVTSSTSTSTN | MARK: 10010101 (place_player) | |
47 | NSSVTSSTSTTSN | MARK: 10010110 (build_random_tunnels) | |
48 | NSSVTSSTSTTTN | MARK: 10010111 (get_next_tunnel_slot) | |
49 | NSSVTSSTTSSSN | MARK: 10011000 (get_answer) | |
00ec7afc | 50 | !!!NSSVTSSTTSSTN | MARK: 10011001 (get_line) |
2da74194 AT |
51 | NSSVTSSTTSTSN | MARK: 10011010 (wump_loop) |
52 | NSSVTSSTTSTTN | MARK: 10011011 (print_cave_description) | |
53 | NSSVTSSTTTSSN | MARK: 10011100 (are_bats_near) | |
54 | NSSVTSSTTTSTN | MARK: 10011101 (are_pits_near) | |
55 | NSSVTSSTTTTSN | MARK: 10011110 (is_wumpus_near) | |
56 | NSSVTSSTTTTTN | MARK: 10011111 (is_wumpus_very_near) | |
57 | NSSVTSTSSSSSN | MARK: 10100000 (room_has_wumpus) | |
58 | NSSVTSTSSSSTN | MARK: 10100001 (print_room_stats) | |
59 | ||
60 | ================================================================================ | |
61 | ||
62 | # Heap Assignments # | |
63 | ||
64 | GAME_DATA_BASE = 0x1000 | |
65 | ||
66 | GAME_DATA_BASE = Number of rooms in cave | |
67 | GAME_DATA_BASE+001 = Number of pits | |
68 | GAME_DATA_BASE+002 = Number of bats | |
69 | GAME_DATA_BASE+003 = Number of links per room | |
70 | GAME_DATA_BASE+004 = Maximum arrow flight distance | |
71 | GAME_DATA_BASE+005 = Number of arrows | |
72 | GAME_DATA_BASE+006 = Player location | |
73 | GAME_DATA_BASE+007 = Wumpus location | |
74 | ||
75 | ROOM_DATA_BASE = 0x2000 | |
76 | Each room is structured as: | |
77 | BASE+0 = bool:contains_pit? (valid options are 0 or 1) | |
78 | BASE+1 = bool:contains_bat? (valid options are 0 or 1) | |
79 | BASE+2 = int:connected room (-1 indicates no tunnel, 0 or greater is the index of the destination room) | |
80 | ... | |
81 | BASE+n = int:connected room (last: see 'links per room') | |
82 | ||
83 | USER_INPUT_BUFFER = 0x3000 |