Find Jobs
Hire Freelancers

Battleship Create Ships class C#

$10-30 USD

Tamamlandı
İlan edilme: neredeyse 6 yıl önce

$10-30 USD

Teslimde ödenir
C# Our Battleship game needs to store a set of ships. Create a new class called Ships. Ships should have the following properties: • A way to store a collection of the Ship class from last week. o If you do not have working code from last week, please ask your instructor. o Does the Ships class represent the IS-A (inheritance) or the HAS-A (composition) relationship? Design your class accordingly. Use suitable generic collection classes. • void Add(Ship) o This is the method that allows you to add a ship. o The add method should validate that no ships are overlapping. How you do this is up to you to design. Feel free to discuss it in the forums but do not post code. o If there is a collision this method should throw a suitable exception. • void Clear() o This is the method that allows you to reset the collection. • bool SunkMyBattleship {get; private set} o This readonly property returns true if the battleship has been sunk. o The private set part is optional depending on how you implement it. But the property should be readonly to users of the class. • bool Attack(int x, int y) o This is the method that attacks the collection of ships and marks any positions as hit. o This should also mark the ship as Sunk if all positions are hit. o The method should return an indication of a hit (true) or a miss (false). o Your attack method should validate that x and y are positive integers and throw a suitable exception if they are not. You should choose the correct types and access modifiers for each type. You may add as much code and data structures as you like to fulfill all the requirements. Create a test program that creates a Ships collection and populates it with some ships. You may hard-code positions although your instructor will test your code with different ones so make sure to test your code thoroughly. The test code should ask the user for X, Y positions and attack the ship collection until the battleship is hit. There is no need to create any UI but it might help you test if you do. ;-) Your program does not have to look like an actual Battleship game. Remember this is purely code to help you test your Ships data structure. Here is the code from last week. using System; using [login to view URL]; namespace Battleship { public class Program { private static void Main(string[] args) { Random random = new Random(1337); IList theShips = new List { new AircraftCarrier(), new Battleship(), new Destroyer(), new PatrolBoat(), new Submarine() }; foreach (Ship ship in theShips) { [login to view URL]( new Position([login to view URL](0, 10), [login to view URL](0, 10)), ([login to view URL](0, 2) == 0) ? [login to view URL] : [login to view URL]); [login to view URL]([login to view URL]()); [login to view URL](); } [login to view URL](); } } }
Proje No: 16727110

Proje hakkında

4 teklif
Uzaktan proje
Son aktiviteden bu yana geçen zaman 6 yıl önce

Biraz para mı kazanmak istiyorsunuz?

Freelancer'da teklif vermenin faydaları

Bütçenizi ve zaman çerçevenizi belirleyin
Çalışmanız için ödeme alın
Teklifinizin ana hatlarını belirleyin
Kaydolmak ve işlere teklif vermek ücretsizdir
Seçilen:
Kullanıcı Avatarı
$30 USD 1 gün içinde
4,9 (104 değerlendirme)
6,5
6,5

Müşteri hakkında

   UNITED STATES bayrağı
SEWARD, United States
5,0
5
Ödeme yöntemi onaylandı
Nis 17, 2018 tarihinden bu yana üye

Müşteri Doğrulaması

Teşekkürler! Ücretsiz kredinizi talep etmeniz için size bir bağlantı gönderdik.
E-postanız gönderilirken bir şeyler yanlış gitti. Lütfen tekrar deneyin.
Kayıtlı Kullanıcı İlan Edlien Toplam İş
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Ön izleme yükleniyor
Coğrafik konum için izin verildi.
Giriş oturumunuzun süresi doldu ve çıkış yaptınız. Lütfen tekrar giriş yapın.