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; //потратить деньги } } }
public void MessageAboutNegativeBalance(Client client) { NegativeMonths--; if (ConsoleWriteAndRead.NegativeMonths(this) != 0) //Если количество негавтивных месяцев слишком велико { BankOfCard.Collectors(client, this); //Статус ЗЭК и конец игры. } }
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)); }
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; }
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); } }
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); //Статус ЗЭК и конец игры } } }
public void AddCardToList(Card card) //Добавление новой карты { ClientCards.Add(card); ConsoleWriteAndRead.SuccessAddCard(); //Вывод сообщения успешности }
public void GetMoney() { Money += ConsoleWriteAndRead.GetRandomMoney(); //Получение рандомной суммы от 1 до 300 Card.MonthlyService(this); //Списание ежемесячного обслуживания и процентов по кредиту ConsoleWriteAndRead.YourBalance(this); //Вывод сообщения о балансе }
public void OpenNewCard(Client client) { Card card = new Card(ConsoleWriteAndRead.ChoiseTypeOfCard(), "Активная", this); client.AddCardToList(card); }