I made an encryption device for school how can I make it better?
The folks here aren't keen on performing analyses of encryption algorithms, and a load of code in git doesn't help much with that either unfortunately.

What I would say though is that you seem to have yourself a stream cipher.  Have a look at chapters 5 &amp; 6 of Handbook of Applied Cryptography.  

One of the issues will be your random numbers.  Consider that any computer can easily just try all 30,000 of them sequentially until the message makes sense. We can just do this and it's called a brute force attack.