======dsr0====== =====powers of two base math===== Base 2^1 is 2 2^2 is 4 2^3 is 8 and so on and so forth. Along with the conversions game mode, other modes should include addition, subtraction, and multiplication. These should all be in the same base already, as a conversion on top of that would be hectic. =====powers of two base conversions===== For powers of two base conversion, or any type of conversions in bash scripts, it would behoove one to make use of the ibase / obase commands. With them, they can make the conversions of numbers for you. This is helpful for generating prompts and keys alike. The goal of the conversions game mode should be for the player to be prompted with a number in one base, and be instructed to find the answer in another base (also prompted). Can use shuf -i alongside an array to randomly generate a base =====checking time===== By using "date +%r" in the command line you can get the current time which you can use later. date +%r will give you the time in this format: HH:MM:SS AM/PM date +%s will give you the time in seconds since the Unix epoch. If you want to use date +%s to get the current minutes, you can divide the output of date +%s by 60; if you want to use date +%s to get the current seconds, you can use the modulus operation (%60). =====state file: keeping score across sessions===== The best way to keep track of a users score across sessions is to use a file. For simplicity let's call it "info.txt" and assume we are doing this in **BASH**. You can either create this file manually for every new user or have the program do it for you! Here is an example of the program doing it: if [[ ! -f "info.txt" ]] ; then touch info.txt fi So that may be a lot at once to take in, so let's break it down. This line checks if the file exists, and when combined with an if statement it will do what is in the if statement if the file **DOES NOT EXIST***. ! -f "info.txt" This line will make the file touch info.txt Too make our future selves happy lets set up where the data will be put in the file. Things we need: * An access time for the next session * Amount played * Amount right * Amount wrong You can make the code do this by "echoing" into your text file. Here is an example of how to do that (tip: put this in your previous if statement): echo "Access Time:" >> info.txt echo "Amount Played:" >> info.txt echo "Amount Right:" >> info.txt echo "Amount Wrong:" >> info.txt Again let's break that down. Here we are redirecting the output of "echo" to our file info.txt with the **<<**. echo "Access Time:" >> info.txt Inside your program you can use commands like **grep, sed, cat, cut, tr, and head** to name a few in order to write to and replace the text in info.txt. And don't forget that in **BASH** you can use **|** to pipe/connect commands together!