Click to fire, hold to go Rambo, R to reload when you run out of ammo, and WASD to move. The bullets may not be a hundred percent accurate, but that's the point: in real life, bullets don't always fly straight. The crosshairs are also kinda weird.
This is just to show @GeneralWhat how you use Sine and Cosine to do bullets and guns and stuff.