Virtual Rifle - v1.0

Run Settings
LanguageC#
Language Version
Run Command
using System; namespace MyProgram { class MainClass { static void Main() { string Version = "1.0"; Console.WriteLine("===================="); Console.WriteLine("Virtual Rifle - v{0}", Version); Console.WriteLine("====================\n"); Rifle rifle1 = new Rifle(5, 25); rifle1.ShowWeapStats(); rifle1.PickUpAmmo(5); rifle1.ShowWeapStats(); rifle1.Shoot(); rifle1.Shoot(); rifle1.Shoot(); rifle1.ShowWeapStats(); rifle1.Reload(); rifle1.ShowWeapStats(); for(int i = 0; i < 6; i++) { rifle1.Shoot(); } rifle1.ShowWeapStats(); rifle1.Reload(); rifle1.ShowWeapStats(); } } }
using System; namespace MyProgram { public class Rifle { // Member variables // ================ private static int MaxAmmoCap = 5; private static int MaxLoadout = 30; public int CurrAmmo = 0; public int Loadout = 0; // Custom Constructor // ================== public Rifle() { SetDefaults(); } public Rifle(int CurrAmmo, int Loadout) { if(CurrAmmo <= MaxAmmoCap && Loadout <= MaxLoadout){ this.CurrAmmo = CurrAmmo; this.Loadout = Loadout; } else { SetDefaults(); } } // Member Methods // ============== private void SetDefaults() { this.CurrAmmo = MaxAmmoCap; this.Loadout = MaxLoadout; } public void ShowWeapStats() { Console.WriteLine("[Stats] Current Ammo: {0} --- Loadout: {1}", this.CurrAmmo, this.Loadout); } public void Shoot() { if(this.CurrAmmo == 0) { Console.WriteLine(" *** Click! *** No Ammo!"); } else { this.CurrAmmo -= 1; Console.WriteLine(" *** Bang! Clack Clack! ***"); } } public void Reload() { if(this.Loadout > 0 && this.CurrAmmo < MaxAmmoCap) { while (this.CurrAmmo < MaxAmmoCap) { if(this.Loadout == 0) { break; } else { this.Loadout -= 1; this.CurrAmmo += 1; } } Console.WriteLine(" *** Clack! Clack! *** Reloaded!"); } else if(this.Loadout == 0) { Console.WriteLine("[Warning] No ammo left!"); } else if(this.CurrAmmo == MaxAmmoCap) { Console.WriteLine("[Warning] Fully loaded!"); } } public void PickUpAmmo(int ExtraAmmo) { int Picked = 0; if(this.Loadout == MaxLoadout) { Console.WriteLine("[Warning] No need for extra ammo!"); } else { while(this.Loadout < MaxLoadout && ExtraAmmo != 0) { ExtraAmmo -= 1; this.Loadout += 1; Picked += 1; } Console.WriteLine("[Picked] +{0} Ammo!", Picked); } } } }
Editor Settings
Theme
Key bindings
Full width
Lines