Due to time constraints, the C++ requirements for the project have CHANGED!
The minimum C++ usage requirements for the projects this session are now that
It would be appreciated if you would try to include one or more of the following. (It will improve your grade from the minimum, of course.)
These are definitely co-fulfilling as stated the first week (if you have 1, you probably have 2 if not all 3).
Please see the first week's notes for this information, still.
Each group is allowed to choose one topic from the following list. You won't want to change once you start merely because of our tight time constraints, so choose wisely!
Color | Symbol(s) | Range ---------+-----------------------------+------------- white | ' ' | 0 grey | '.', '-', '|', '+', '*' | 1 - 254 (50 each and a few extra) black | '#' | 255for grey-scale or maybe:
Color | Symbol(s) | Range ---------+-----------------------------+------------- red | '$', '!', '\', '<' | 0 - 84 green | '@', ',', ''', '"' | 85 - 170 blue | '&', '?', '/', '>' | 171 - 255for color images
+------------------------------------------------------------------+ |grey | |8 5 | | 0 0 0 12 55 12 0 255 | | 0 0 20 52 107 52 20 255 | | 0 0 30 62 117 62 30 255 | | 0 0 0 102 153 102 0 255 | |255 255 255 255 255 255 255 255 | +------------------------------------------------------------------+or some such...
Red Part | Green Part | Blue Part | Result | Representation ----------+------------+-----------+---------------+----------------- 255 | 255 | 255 | really white | W 255 | 0 | 0 | really red | R 0 | 255 | 0 | really green | G 0 | 0 | 255 | really blue | B 0 | 0 | 0 | really black | K 255 | 128 | 0 | orange | O 128 | 0 | 128 | purple | PLet's call this mapping 'standard' (since it is -- I've merely used fewer actual colors here than in the real one). We might have a data file like:
+------------------------------------------------------------------+ |standard | |63 7 | |255 128 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | |255 128 0 | |255 0 0 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | |255 0 0 | | 0 255 0 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 255 0 | |255 0 0 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | |255 0 0 | | 0 255 0 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 255 0 | |255 0 0 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | | 0 0 255 | | 0 0 255 | | 0 0 255 | |128 0 128 | |128 0 128 | |255 0 0 | |255 128 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | |255 128 0 | +------------------------------------------------------------------+This, when displayed, will result in an image like:
OKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKO RBBBPPPPPPPBBPPPPPPPBBPPPPPPPBBBBBBBBPPPPPPBBBBBPPPBBBBPPPPPPBR GBBBPPBBBBBBBPPBBBPPBBPPBBBPPBBBBBBBBPPBBBPPBBBPPBPPBBBPPBBBPPG RBBBPPPPPBBBBPPBBBPPBBPPBBBPPBBPPPPBBPPPPPPBBBPPBBBPPBBPPPPPPBR GBBBPPBBBBBBBPPBBBPPBBPPBBBPPBBBBBBBBPPBBBPPBBPPPPPPPBBPPBBBPPG RBBBPPBBBBBBBPPPPPPPBBPPPPPPPBBBBBBBBPPPPPPBBBPPBBBPPBBPPBBBPPR OKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKOWhich, if you sit back and maybe squint, says "Foo-Bar" (a common phrase in computer, military, and engineering work places although usually spelled FuBar).
Red Part | Green Part | Blue Part | Result | Representation ----------+------------+-----------+------------------+----------------- 255 | 255 | 255 | really white | W 0 | 0 | 0 | really black | K 255 | 0 | 0 | really red | R 191-254 | 0 | 0 | dark red | < 127-190 | 0 | 0 | med. dark red | \ 63-126 | 0 | 0 | med. light red | ! 1- 62 | 0 | 0 | light red | $ 0 | 255 | 0 | really green | G 0 | 191-254 | 0 | dark green | " 0 | 127-190 | 0 | med. dark green | ' 0 | 63-126 | 0 | med. light green| , 0 | 1- 62 | 0 | light green | @ 0 | 0 | 255 | really blue | B 0 | 0 | 191-254 | dark blue | > 0 | 0 | 127-190 | med. dark blue | / 0 | 0 | 63-126 | med. light blue | ? 0 | 0 | 1- 62 | light blue | & 255 | 128 | 0 | orange | O 128 | 0 | 128 | purple | P 0 | 255 | 255 | cyan | CAnd this could be extended similarly for the other combinations. You just have to pick symbols for them (the ranges are similar to those above and names are unimportant for our purposes). Such a gradual mapping would allow all colors to be represented and therefore a larger range of calculations to be performed.
+------------------------------------------------------------------+ |standard | |255-255 255-255 255-255 W | | 0- 0 0- 0 0- 0 K | |255-255 0- 0 0- 0 R | |191-254 0- 0 0- 0 < | |127-190 0- 0 0- 0 \ | | 63-126 0- 0 0- 0 ! | | 1- 62 0- 0 0- 0 $ | | 0- 0 255-255 0- 0 G | | 0- 0 191-254 0- 0 " | | 0- 0 127-190 0- 0 ' | | 0- 0 63-126 0- 0 , | | 0- 0 1- 62 0- 0 @ | | 0- 0 0- 0 255-255 B | | 0- 0 0- 0 191-254 > | | 0- 0 0- 0 127-190 / | | 0- 0 0- 0 63-126 ? | | 0- 0 0- 0 1- 62 & | |255-255 128-128 0- 0 O | |128-128 0- 0 128-128 P | | 0- 0 255-255 255-255 C | +------------------------------------------------------------------+Note how each of the first 3 columns gives a range for the red, green, or blue value of a pixel and the last column gives the symbol to represent a pixel having a value in those ranges.
+------------------------------------------------------------------+ |4 6 | |#### | |# # | |# ## | |# # | |## # | |#### | +------------------------------------------------------------------+be sure to keep your rows and columns straight!!!!!!!
k | h -+- l | jyou could also do something like:
up | left -+- right | downand after each movement, you would have to re-display the map to show the player's new coordinates
+------------------------------------------------------------------+ |Xsize = 4 | |Ysize = 6 | |Wall = % | |%%%% | |% % | |% %% | |% % | |%% % | |%%%% | +------------------------------------------------------------------+comes to mind