private void Start() { //Get data from save SavingAndLoading.instance.LoadGame(); UIM = UIManager.instance; //Update the UI UIM.UpdateMoney(money); UIM.UpdateLooseChange(looseChange); UIM.UpdateMoneyPerClick(moneyPerClick); UIM.UpdateAutoClicks(numAutoClicks); //Start automators running StartCoroutine(Automators()); //Check if the player has played the game yet today currentDate = DateTime.Today; if (currentDate.Date > lastDatePlayed.Date) { collectedDailyReward = false; lastDatePlayed = currentDate; prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, prestigeScorePlayedADayEffect.ToString()); } //Let the player know to collect their daily reward if they haven't yet if (!collectedDailyReward) { notificationPanel.SetActive(true); } }
//Make the button show how much the item costs (including multipliers if it's being bought in bulk) public void UpdateBuyButton() { switch (itemType) { case ItemTypes.AUTOMATOR: string automatorCost = thisAutomator.cost; for (int i = 0; i < costMultiplier - 1; i++) { automatorCost = NumberHandler.IncreaseNumber(automatorCost, thisAutomator.cost); } cost.text = automatorCost; totalCost = automatorCost; break; case ItemTypes.ACCELERATOR: string acceleratorCost = thisAccelerator.cost; for (int i = 0; i < costMultiplier - 1; i++) { acceleratorCost = NumberHandler.IncreaseNumber(acceleratorCost, thisAccelerator.cost); } cost.text = acceleratorCost; totalCost = acceleratorCost; break; } }
public void TestFizzBuzz() { var expectedResult = "FizzBuzz"; var nh = new NumberHandler(); var actualResult = nh.GetMessage(15); Assert.AreEqual(expectedResult, actualResult, "NumberHandler did not return FizzBuzz when value passed was 15"); }
public void Test1() { var expectedResult = "1"; var nh = new NumberHandler(); var actualResult = nh.GetMessage(1); Assert.AreEqual(expectedResult, actualResult, "NumberHandler did not return 1 when value passed was 1"); }
public static string FizzBuzz(int number) { var fizzBuzzFakeDeluxeHandler = new FizzBuzzFakeDeluxeHandler(); var fizzFakeDeluxeHandler = new FizzFakeDeluxeHandler(); var buzzFakeDeluxeHandler = new BuzzFakeDeluxeHandler(); var fizzBuzzDeluxeHandler = new FizzBuzzDeluxeHandler(); var fizzDeluxeHandler = new FizzDeluxeHandler(); var buzzDeluxeHandler = new BuzzDeluxeHandler(); var fakeDeluxeHandler = new FakeDeluxeHandler(); var deluxeHandler = new DeluxeHandler(); var fizzBuzzHandler = new FizzBuzzHandler(); var fizzBuzzContainerHandler = new FizzBuzzContainerHandler(); var fizzHandler = new FizzHandler(); var fizzContainerHandler = new FizzContainerHandler(); var buzzHandler = new BuzzHandler(); var buzzContainerHandler = new BuzzContainerHandler(); var numberHandler = new NumberHandler(); fizzBuzzFakeDeluxeHandler .setNext(fizzFakeDeluxeHandler) .setNext(buzzFakeDeluxeHandler) .setNext(fakeDeluxeHandler) .setNext(fizzBuzzDeluxeHandler) .setNext(fizzDeluxeHandler) .setNext(buzzDeluxeHandler) .setNext(deluxeHandler) .setNext(fizzBuzzHandler) .setNext(fizzBuzzContainerHandler) .setNext(fizzHandler) .setNext(fizzContainerHandler) .setNext(buzzHandler) .setNext(buzzContainerHandler) .setNext(numberHandler); //fizzBuzzFakeDeluxeHandler // .setNext(fizzFakeDeluxeHandler) // .setNext(buzzFakeDeluxeHandler) // .setNext(fizzBuzzDeluxeHandler) // .setNext(fizzDeluxeHandler) // .setNext(buzzDeluxeHandler) // .setNext(fakeDeluxeHandler) // .setNext(deluxeHandler) // .setNext(fizzBuzzHandler) // .setNext(fizzBuzzContainerHandler) // .setNext(fizzHandler) // .setNext(fizzNumberContainerHandler) // .setNext(buzzHandler) // .setNext(buzzContainerHandler) // .setNext(numberHandler); string result = fizzBuzzFakeDeluxeHandler.Handle(number); return(result); }
//Make each autoClick earn the user money on a timer public IEnumerator Automators() { for (int i = 0; i < numAutoClicks; i++) { money = NumberHandler.IncreaseNumber(money, moneyPerClick); } UIM.UpdateMoney(money); yield return(new WaitForSeconds(timeBetweenAutoClicks)); StartCoroutine(Automators()); }
//Set the player's click and autoClicks to the upgrade amount //Reset all other variables (including purchases) //Update the UI public void Upgrade() { moneyPerClick = GetUpgradeStartClick().ToString(); numAutoClicks = GetUpgradeAutomators(); money = "0"; UIM.ResetPurchases(); UIM.UpdateMoneyPerClick(moneyPerClick); UIM.UpdateMoney(money); UIM.UpdateAutoClicks(numAutoClicks); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, moneyPerClick); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, numAutoClicks.ToString()); }
public void BuyButton() { //If the item is an automator or accelerator switch (itemType) { case ItemTypes.AUTOMATOR: switch (thisAutomator.moneyType) { //If it is bought with money or loose change case MoneyTypes.MONEY: //Check if there is enough money bool?result = NumberHandler.CompareNumbers(GS.GetMoney(), totalCost); //If there is then purchase the item if (result == true || result == null) { MakePurchase(); } break; case MoneyTypes.LOOSECHANGE: result = NumberHandler.CompareNumbers(GS.GetLooseChange(), totalCost); if (result == true || result == null) { MakePurchase(); } break; } break; case ItemTypes.ACCELERATOR: switch (thisAccelerator.moneyType) { case MoneyTypes.MONEY: bool?result = NumberHandler.CompareNumbers(GS.GetMoney(), totalCost); if (result == true || result == null) { MakePurchase(); } break; case MoneyTypes.LOOSECHANGE: result = NumberHandler.CompareNumbers(GS.GetLooseChange(), totalCost); if (result == true || result == null) { MakePurchase(); } break; } break; } }
static void Main(string[] args) { while (true) { try { int x = Int32.Parse(Console.ReadLine()); NumberHandler.NumberInWords(x); } catch (Exception) { Console.WriteLine("ricxvi arasworadaa shetanili"); } } }
private NumberHandler handler; // IT POINTS TO NO FUNCTION AT THIS MOMENT // A REGISTER FUNCTION SO THAT USER CAN REGISTER TO LISTEN TO EVENT RAISED BY NUMBER OBJECT // HOW IT CAN RECEIVE A METHOD THAT IS COMPATIBLE WITH NumberHandler SIGNATURE? // ANSWER IS RECEVING NumberHandler OBJECT public void RegisterWithNumber(NumberHandler handler) { // handler ===> Reference To Method That User Wanna Called // We Can Combine Both The Handler Using Delegate.Combine if (this.handler == null) { // this.handle ==> null // JUST SET this.handler to passed handler this.handler = handler; } else { // Combine!! this.handler = Delegate.Combine(this.handler, handler) as NumberHandler; } }
/// <summary> /// Benachrichtigt die registrierten Beobachter, dass eine neue Zahl generiert wurde. /// </summary> /// <param name="number">Die generierte Zahl.</param> public void NotifyObservers(int number) { Console.WriteLine($"New Number: {number}"); NumberHandler?.Invoke(this, number); }
public void IncreaseMoney() { money = NumberHandler.IncreaseNumber(money, moneyPerClick); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, moneyPerClick); UIM.UpdateMoney(money); }
public FizzBuzzHandler(NumberHandler succesor) : base(succesor) { canWeHandleInputNumber = new Predicate <int>(candidateNumber => candidateNumber % 15 == 0); whatToReturnIfWeCanHandleInputNumber = "FizzBuzz"; }
public void IncreaseLooseChange(int add) { looseChange = NumberHandler.IncreaseNumber(looseChange, add.ToString()); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, add.ToString()); UIM.UpdateLooseChange(looseChange); }
public void DecreaseLooseChange(string takeaway) { looseChange = NumberHandler.DecreaseNumber(looseChange, takeaway); UIM.UpdateLooseChange(looseChange); }
public void DecreaseMoney(int takeaway) { money = NumberHandler.DecreaseNumber(money, takeaway.ToString()); UIM.UpdateMoney(money); }
public void DecreaseMoney(string takeaway) { money = NumberHandler.DecreaseNumber(money, takeaway); UIM.UpdateMoney(money); }
public void IncreaseMoney(int add) { money = NumberHandler.IncreaseNumber(money, add.ToString()); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, add.ToString()); UIM.UpdateMoney(money); }
private string GetEditionString() { return(Edition == null ? "" : $" {NumberHandler.ToOrdinal(Edition.Value)} edition"); }
public PredicateAndStringHandler(NumberHandler succesor) { this.succesor = succesor; }
private static string CreateEditionText(int?edition) => !edition.HasValue || edition.Value < 2 ? "" : $@" {NumberHandler.ToOrdinal(edition.Value)} edition";
public void AddAutoClick(int amount) { prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, (amount * 100).ToString()); numAutoClicks += amount; UIM.UpdateAutoClicks(numAutoClicks); }
public void DecreaseLooseChange(int takeaway) { looseChange = NumberHandler.DecreaseNumber(looseChange, takeaway.ToString()); UIM.UpdateLooseChange(looseChange); }
private NumberHandler handler; // IT POINTS TO NO FUNCTION AT THIS MOMENT // A REGISTER FUNCTION SO THAT USER CAN REGISTER TO LISTEN TO EVENT RAISED BY NUMBER OBJECT // HOW IT CAN RECEIVE A METHOD THAT IS COMPATIBLE WITH NumberHandler SIGNATURE? // ANSWER IS RECEVING NumberHandler OBJECT public void RegisterWithNumber(NumberHandler handler) { // JUST COMBINE USING OVERLOADED OPERATOR += this.handler += handler; }
public void AddMoneyPerClick(string amount) { moneyPerClick = NumberHandler.IncreaseNumber(moneyPerClick, amount); prestigeScore = NumberHandler.IncreaseNumber(prestigeScore, amount); UIM.UpdateMoneyPerClick(moneyPerClick); }
static void Main(string[] args) { //создаём массив делегатов int count = 5; NumberHandler[] arrayNumbers = new NumberHandler[count]; //определяем методы, которые будут хранить делегаты for (int i = 0; i < arrayNumbers.Length; i++) { arrayNumbers[i] = new NumberHandler(NumberHandlerMethod); //допустима и короткая запись //arrayDlgs[i] = RandNumber; } //создаём анонимный метод(делегат) AverageNumbersHandler averageHandler = delegate(NumberHandler[] arrayNumberHandlers) { //накопительная переменная long averageNumbers = 0; for (int i = 0; i < arrayNumberHandlers.Length; i++) { //проверка, что делегат содержит ссылку на метод, не null if (arrayNumbers[i] != null) { averageNumbers += arrayNumberHandlers[i](); } } //возвращаем среднееарифметическое return((int)(averageNumbers /= arrayNumberHandlers.Length)); }; //результат вызова анонимного метода (делегата) Console.WriteLine("Use delegate, Average int is: " + averageHandler(arrayNumbers)); //-------------------------------------------------------------------------------------------------- //вариант 2 - создаём анонимный метод(делегат Func<NumberHandler[],int>) Func <NumberHandler[], int> averageFunc = delegate(NumberHandler[] arrayNumberHandlers) { //накопительная переменная long averageNumbers = 0; for (int i = 0; i < arrayNumberHandlers.Length; i++) { //проверка, что делегат содержит ссылку на метод, не null if (arrayNumbers[i] != null) { averageNumbers += arrayNumberHandlers[i](); } } //возвращаем среднееарифметическое return((int)(averageNumbers /= arrayNumberHandlers.Length)); }; //результат вызова анонимного метода (делегата) Console.WriteLine("Use Func<T[],int> Average int is: " + averageFunc(arrayNumbers)); Console.ReadKey(); }