Esempio n. 1
0
        static void Main(string[] args)
        {
            Client      client = new Client(ConsoleWriteAndRead.WriteYourName(), ConsoleWriteAndRead.WriteYourAge()); //Создание клиента
            List <Bank> banks  = new List <Bank>();                                                                   //Списка банков

            banks.Add(ConsoleWriteAndRead.CreateNewBank());
            Task task = Task.Factory.StartNew(() =>
            {
                while (client.ClientStatus != "ЗЭК") //Статус ЗЭК можно получить имея длительную задолженность
                {
                    Thread.Sleep(20000);
                    client.GetMoney();         //Начисление денег за работу
                    client.CheckClientCards(); //Проверка карточек пользователя на задолженность
                }
            });

            while (client.ClientStatus != "ЗЭК")
            {
                switch (ConsoleWriteAndRead.WhatDoNext())
                {
                case 1: ConsoleWriteAndRead.ListOfBanks(banks, client); break; //Вывод списка банков для добавления карты в дальнейшем

                case 2: client.DeleteCard(); break;                            //Удаление карты

                case 3: Card.AddCashOnCard(client); break;                     //Пополнить карту

                case 4: ConsoleWriteAndRead.ListOfCards(client); break;        //Список карт

                case 5: Card.SpendMoney(client); break;                        //потратить деньги
                }
            }
        }
Esempio n. 2
0
 public void MessageAboutNegativeBalance(Client client)
 {
     NegativeMonths--;
     if (ConsoleWriteAndRead.NegativeMonths(this) != 0) //Если количество негавтивных месяцев слишком велико
     {
         BankOfCard.Collectors(client, this);           //Статус ЗЭК и конец игры.
     }
 }
Esempio n. 3
0
        public static void SpendMoney(Client client)
        {
            int choise = ConsoleWriteAndRead.ChoiseCard(client);

            if (choise == 0)
            {
                return;
            }
            int howMoney = ConsoleWriteAndRead.WriteYourChoise(1, 1000, message: "Введите сумму: ");

            ConsoleWriteAndRead.MessageAboutSpendMoney(client.ClientCards[choise - 1].BankOfCard.PossibilityToUse(client.ClientCards[choise - 1], howMoney));
        }
Esempio n. 4
0
        public static void AddCashOnCard(Client client)
        {
            int choise = ConsoleWriteAndRead.ChoiseCard(client);    //Выбор карты

            if (choise == 0)
            {
                return;
            }
            ConsoleWriteAndRead.YourBalance(client);                                                              //Вывод баланса
            int howMoney = ConsoleWriteAndRead.WriteYourChoise(1, (int)client.Money, message: "Введите сумму: "); //Ввод суммы от 1 до balance

            client.ClientCards[choise - 1].CardBalance += howMoney;
            client.Money -= howMoney;
        }
Esempio n. 5
0
        public void DeleteCard()                               //Удаление карточки
        {
            int choise = ConsoleWriteAndRead.ChoiseCard(this); //Вывод списка карт и выбор необходимой

            if (choise == 0)
            {
                return;
            }
            else if (ClientCards[choise - 1].CardBalance < 0)   //Если отрицательный баланс
            {
                ConsoleWriteAndRead.NegativeBalance(this);
            }
            else
            {
                ClientCards.RemoveAt(choise - 1);
            }
        }
Esempio n. 6
0
 public void Collectors(Client client, Card card)
 {
     if (client.Money > Math.Abs(card.CardBalance)) //Если есть деньги, то забирают их.
     {
         client.Money    += card.CardBalance;
         card.CardBalance = 0;
     }
     else    //если не хватает
     {
         card.CardBalance += client.Money;
         client.Money      = 0;
         foreach (Card cards in client.ClientCards)   //То списывают с других карточек
         {
             if (cards.BankOfCard == this)            //Но этого же банка
             {
                 if (cards.CardBalance > 0)
                 {
                     if (cards.CardBalance > Math.Abs(card.CardBalance))
                     {
                         cards.CardBalance += card.CardBalance;
                         card.CardBalance   = 0;
                     }
                     else
                     {
                         card.CardBalance += cards.CardBalance;
                         cards.CardBalance = 0;
                     }
                 }
             }
             if (card.CardBalance >= 0)
             {
                 break;
             }
         }
         if (card.CardBalance < 0)                 //Если баланс все равно отрицателен
         {
             ConsoleWriteAndRead.GameOver(client); //Статус ЗЭК и конец игры
         }
     }
 }
Esempio n. 7
0
        public void OpenNewCard(Client client)
        {
            Card card = new Card(ConsoleWriteAndRead.ChoiseTypeOfCard(), "Активная", this);

            client.AddCardToList(card);
        }
Esempio n. 8
0
 public void AddCardToList(Card card) //Добавление новой карты
 {
     ClientCards.Add(card);
     ConsoleWriteAndRead.SuccessAddCard(); //Вывод сообщения успешности
 }
Esempio n. 9
0
 public void GetMoney()
 {
     Money += ConsoleWriteAndRead.GetRandomMoney(); //Получение рандомной суммы от 1 до 300
     Card.MonthlyService(this);                     //Списание ежемесячного обслуживания и процентов по кредиту
     ConsoleWriteAndRead.YourBalance(this);         //Вывод сообщения о балансе
 }