Well, implementing all of those will be VERY difficult, specially the second one. For weapons, you could probably just paste a sprite of a weapon on top of the screen and animate it a bit when firing. The coding for shooting might involve checking to see if anything got hit in the area you are shooting, and if it did, damage whatever got hit.