<commit_before>Program Design
--------------

This is just a quick overview of how the program should work in relation to the user as well as what it should be displaying.

User Interface
--------------

Upon starting the program a splash screen with version number and credits should appear. Below the splash, there will be several menu items, including:

1. Play
2. View Maps
3. View Rosters
4. Options
5. Exit

Play will proceed to a screen where one can select a map and a roster, proceeding into the game.

Viewing maps and rosters does exactly as they say they do. In the case of View Rosters, player can also edit their roster with the exact same functionality as during a campaign in the game.

Options will include things like changing colors but not much else (this is only a terminal after all).

Upon entering a map with a roster, the player is then presented with the Battle Screen. The battle screen is composed of two panels; an information panel (essentially the bottom screen of the DS) and the map panel (essentially the top screen of the DS). Below is an example of the information panel. Players can use ```tab``` to switch panels, like most paneled curses applications.

```
-------------------------------+
Lucina (Olivia)                |
Great Lord   | [P. Falchion]   |
Lv20 | - exp | Ephraim's Lance |
HP60 | 60    | Elixir 1/3      |
------------ | (none)          |
STR 27 (+5)  | (none)          |
MAG 21 (+1)  | --------------- |
SKL 29 (+5)  | Galeforce       |
SPD 31 (+4)  | Aether          |
LCK 32       | Limit Breaker   |
DEF 24 (+4)  | Dual Strike+    |
RES 24       | Charm           |
Sword A      |                 |
Lance A      |                 |
-------------+-----------------+
Something agrees with me today.|
I must have at least twice my  |
normal strength!               |
-------------------------------+
```
In the map panel, background colors will differentiate between different tiles. Filled tiles are considered uncrossable terrain. When selecting a unit, blue signifies a potential movement option, red signifies potential attack options, and green signifies potential staff options. Other colors are in consideration for tiles that slope, "air" tiles, sparkling tiles, village tiles, and others.<commit_msg>formatted side panel<commit_after>Program Design
--------------

This is just a quick overview of how the program should work in relation to the user as well as what it should be displaying.

User Interface
--------------

Upon starting the program a splash screen with version number and credits should appear. Below the splash, there will be several menu items, including:

1. Play
2. View Maps
3. View Rosters
4. Options
5. Exit

Play will proceed to a screen where one can select a map and a roster, proceeding into the game.

Viewing maps and rosters does exactly as they say they do. In the case of View Rosters, player can also edit their roster with the exact same functionality as during a campaign in the game.

Options will include things like changing colors but not much else (this is only a terminal after all).

Upon entering a map with a roster, the player is then presented with the Battle Screen. The battle screen is composed of two panels; an information panel (essentially the bottom screen of the DS) and the map panel (essentially the top screen of the DS). Below is an example of the information panel. Players can use ```tab``` to switch panels, like most paneled curses applications.

```
+--------------------------------+
| Lucina (Olivia)                |
| Great Lord   | [P. Falchion]   |
| Lv20 | - exp | Ephraim's Lance |
| HP60 | 60    | Elixir 1/3      |
| ------------ | (none)          |
| STR 27 (+5)  | (none)          |
| MAG 21 (+1)  | --------------- |
| SKL 29 (+5)  | Galeforce       |
| SPD 31 (+4)  | Aether          |
| LCK 32       | Limit Breaker   |
| DEF 24 (+4)  | Dual Strike+    |
| RES 24       | Charm           |
| Sword A      |                 |
| Lance A      |                 |
| -------------+-----------------+
| Something agrees with me       |
| today. I must have at least    |
| twice my normal strength!      |
+--------------------------------+
```
In the map panel, background colors will differentiate between different tiles. Filled tiles are considered uncrossable terrain. When selecting a unit, blue signifies a potential movement option, red signifies potential attack options, and green signifies potential staff options. Other colors are in consideration for tiles that slope, "air" tiles, sparkling tiles, village tiles, and others.
{'fraction_non_alphanumeric': 0.12322481975092855, 'fraction_numerical': 0.013982958269608914, 'mean_word_length': 2.28643216080402, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '176108', 'n_tokens_mistral': 1206, 'n_tokens_neox': 1115, 'n_words': 635}