<commit_before># Ideas

So, once upon a time I get ideas but am too tired to start hacking 
away with them. So, this is the notepad on things that might 
or might not end up in the final product. Whatever final means anyway...

### States and Transitions

We have several states we must support in the game:

* Starting screen (game name, start button etc...
* multiple playing screens (one for each level!
* game over screen/name input for hiscore screen 
* highscore screen

And the transitions between these states are as follows (it seems):

* Starting screen -> 1st level by starting game.
* (in future, Starting screen -> any level by level select)
* Nth level screen -> N+1th level screen by progressing a level
* Nth level screen -> game over screen by losing the last life or 
stopping game
* game over screen -> highscore screen by anykey or inputting name
* highscore screen -> starting screen by anykey (or timeout?)

Also, we want to be able to generate the levels from json 
files. This would be mightily nice even at the first version. 

# Transition plan:

* every type of screen has a script-tag template
* screens are created to browser window from templates, 
at first having hidden as a class which translates 
to display: none; in css. <commit_msg>updated IDEAS.md<commit_after># Ideas

So, once upon a time I get ideas but am too tired to start hacking 
away with them. So, this is the notepad on things that might 
or might not end up in the final product. Whatever final means anyway...

### States and Transitions

We have several states we must support in the game:

* Starting screen (game name, start button etc...
* multiple playing screens (one for each level!
* game over screen
* name input for hiscore screen 
* highscore screen

And the transitions between these states are as follows (it seems):

* Starting screen -> 1st level by starting game.
* (in future, Starting screen -> any level by level select)
* Nth level screen -> N+1th level screen by progressing a level
* Nth level screen -> game over screen by losing the last life or 
stopping game
* game over screen -> highscore screen by anykey or inputting name
* highscore screen -> starting screen by anykey (or timeout?)

Also, we want to be able to generate the levels from json 
files. This would be mightily nice even at the first version. 

# Transition plan:

* engine holds a variable that knows the state.
* engine functions look to this variable to decide what it should do.
{'fraction_non_alphanumeric': 0.05411954765751212, 'fraction_numerical': 0.0016155088852988692, 'mean_word_length': 3.8664047151277012, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 15, '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': '7066930', 'n_tokens_mistral': 642, 'n_tokens_neox': 625, 'n_words': 396}