# Code Obfuscation Game
You work as a developer for the BlowThingsUp Software company producing large applications for military use. To win the latest multi-billion-pound contract your sales team made certain claims about the security of your software.
One of these claims was that if someone got hold of a copy of your source code then they wouldn’t be able to understand what it does.
At your latest team meeting, your boss, ‘volunteered’ you for the job of researching whether this is possible and if so; how you would achieve it. She would like you to produce a proof-of-concept by the end of this evening.
Tonight, you will need to:
- Work in pairs
- Secretly pick one of the exercises from the list below
- Code it up so that it works
- Create some unit tests
- Obfuscate your code to make it hard to read/follow
- After each change ensure your tests are still green
- At the end of the evening we will try to work out what each teams code does.
- Generate a list of square and/or triangular numbers
- Generate a list of prime numbers
- Generate a list of leap years
- Generate a list of factorial numbers (1 x 2 x 3 …. x n)
- Generate a list of Fibonacci numbers Fib(n) = fib(n-1) + fib(n-2)
- Calculate PI using random numbers (Monte Carlo Method)
- Find all the prime factors of a number
- Encrypt a string (substitution cypher)
- FizzBuzz