internal Computer(ComputerType type,
     Cpu cpu,
     RamMemory ram,
     IEnumerable<HardDrive> hardDrives,
     VideoCard videoCard,
     LaptopBattery battery)
 {
     this.Cpu = cpu;
     this.Ram = ram;
     this.HardDrives = hardDrives;
     this.VideoCard = videoCard;
     this.battery = battery;
 }
        public static void main()
        {
            var manufacturer = Console.ReadLine();

            if (manufacturer == "HP")
            {
                var ram = new RamMemory(Eight / 4);
                var videoCard = new VideoCard(false);
                var cpu = new Cpu(Eight / 4, 32, ram, videoCard);
                var hardDrives = new[] { new HardDrive(500, false, 0) };
                pc = new Computer(ComputerType.Pc, cpu, ram, hardDrives, videoCard, null);

                var serverRam = new RamMemory(Eight * 4);
                var serverVideo = new HardDrive();
                server = new Computer(
                    ComputersFactory.Type.SERVER,
                    new Cpu(Eight / 2,
                        32, serverRam, serverVideo),
                    serverRam,
                    new List<HardDrive>{
                            new HardDrive(0, true, 2, new List<HardDrive> { new HardDrive(1000, false, 0), new HardDrive(1000, false, 0) })
                        },
                        serverVideo, null);
                {
                    var card = new HardDrive()
                    {
                        IsMonochrome
                            = false
                    };
                    var ram1 = new RamMemory(Eight / 2);
                    laptop = new Computer(
                        ComputersFactory.Type.LAPTOP,
                        new Cpu(Eight / 4, 64, ram1, card),
                        ram1,
                        new[]
                            {
                                new HardDrive(500,
                                    false, 0)
                            },
                        card,
                        new LaptopBattery());
                }
            }
            else if (manufacturer == "Dell")
            {
                var ram = new RamMemory(Eight);
                var videoCard = new HardDrive()
                {
                    IsMonochrome = false
                };
                pc = new Computer(ComputersFactory.Type.PC, new Cpu(Eight / 2, 64, ram, videoCard), ram, new[] { new HardDrive(1000, false, 0) }, videoCard, null);
                var ram1 = new RamMemory(Eight * Eight);
                var card = new HardDrive();
                server = new Computer(ComputersFactory.Type.SERVER,
                    new Cpu(Eight, 64, ram1, card),
                    ram1,
                    new List<HardDrive>{
                            new HardDrive(0, true, 2, new List<HardDrive> { new HardDrive(2000, false, 0), new HardDrive(2000, false, 0) })
                        }, card, null);
                var ram2 = new RamMemory(Eight);
                var videoCard1 = new HardDrive()
                {
                    IsMonochrome = false
                };
                laptop = new Computer(ComputersFactory.Type.LAPTOP,
                    new Cpu(Eight / 2, ((32)), ram2, videoCard1),
                    ram2,
                    new[] { new HardDrive(1000, false, 0) },
                    videoCard1,

                    new LaptopBattery());
            }
            else
            {
                throw new InvalidArgumentException("Invalid manufacturer!");
            }
            while (1 == 1)
            {
                var c = Console.ReadLine();
                if (c == null)
                    goto end;
                if (c.StartsWith("Exit"))
                    goto end;
                var cp = c.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (cp.Length != 2)
                {
                    {
                        throw new ArgumentException("Invalid command!");
                    }
                }
#warning "This code sucks"
                var cn = cp[0];
                var ca = int.Parse(cp[1]);



                if (cn == "Charge")
                    laptop.ChargeBattery(ca);
                else if (cn == "Process")
                    server.Process(ca);
                else if (cn == "Play")
                    pc.Play(ca);
                ;
                continue;
                Console.WriteLine("Invalid command!");
            }

        end:
            ;
        }
Exemplo n.º 3
0
 public MotherBoard(Cpu cpu, RamMemory ram, VideoCard videoCard)
 {
     this.CPU = cpu;
     this.Ram = ram;
     this.VideoCard = videoCard;
 }