From a92535ec48c94f0080e17f437d81e02c4e6c59ae Mon Sep 17 00:00:00 2001 From: Jorge Matricali Date: Sat, 13 Apr 2019 20:10:41 -0300 Subject: [PATCH] Calculator: Easter egg in "division by zero" messages. Proposed by @ghostslayer989 in #54 --- src/WinXP/apps/Calculator/index.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/WinXP/apps/Calculator/index.js b/src/WinXP/apps/Calculator/index.js index 95061625..d95d3abe 100644 --- a/src/WinXP/apps/Calculator/index.js +++ b/src/WinXP/apps/Calculator/index.js @@ -12,6 +12,14 @@ export default function Calculator({ onClose }) { const [auxValue, setAuxValue] = useState(emptyValue); const [currentOperation, setCurrentOperation] = useState(null); const [operationClicked, setOperationClicked] = useState(false); + const [divisionByZeroCounter, setDivisionByZeroCounter] = useState(0); + const divisionByZeroMessages = [ + 'Cannot divide by zero', + 'I still cannot divide by zero', + 'Repeteadly trying won\'t change this!', + 'Stop already! You\'re scaring the ALU.', + 'Alright, do whatever you want.' + ]; function hoverOption(option) { if (openOption) setOpenOption(option); @@ -72,7 +80,12 @@ export default function Calculator({ onClose }) { case '/': if (b === 0) { // Division by zero - setCurrentValue('Cannot divide by zero.'); + if (divisionByZeroCounter < divisionByZeroMessages.length) { + setCurrentValue(divisionByZeroMessages[divisionByZeroCounter]); + setDivisionByZeroCounter(divisionByZeroCounter + 1); + break; + } + setCurrentValue(divisionByZeroMessages[0]); break; } setCurrentValue(a / b);