Design Patterns for FPS Game Weapons

A game with a good design enables extensibility and portability with little modifications to the source code.  It also enables the easy transformation of the game to multiple game platforms.
Object Oriented Programming has significant design benefits over procedure programming. New procedures developed in Object-oriented Programming can handle the complex problems pertaining to game programming. In this article, we discuss the use of Object-Oriented design patterns in implementing weapons for shooter games.