kaitlyncaldwell / Magic-8-Ball

A magic eight ball program with the actual 20 possible answers!
1 stars 1 forks source link

Consider making the code more concise #1

Open wblakecaldwell opened 4 days ago

wblakecaldwell commented 4 days ago

ChatGPT had the following refactoring:

let username = '';
const userQuestion = '?';
const randomNumber = Math.floor(Math.random() * 20);

const eightBallResponses = [
    'It is certain', 'It is decidedly so', 'Without a doubt', 'Yes definitely',
    'You may rely on it', 'As I see it, yes', 'Most likely', 'Outlook good',
    'Yes', 'Signs point to yes', 'Reply hazy, try again', 'Ask again later',
    'Better not tell you now', 'Cannot predict now', 'Concentrate and ask again',
    'Don\'t count on it', 'My reply is no', 'My sources say no',
    'Outlook not so good', 'Very doubtful'
];

console.log(username ? `Hi ${username}!` : 'Hello!');
console.log(username ? `${username} asked the question, "${userQuestion}"` : `You asked the question, "${userQuestion}".`);
console.log(`The answer is... ${eightBallResponses[randomNumber]}`);
wblakecaldwell commented 4 days ago

Actually, this is safer - doesn't need you to know how many items there are:

let username = '';
const userQuestion = '?';

const eightBallResponses = [
    'It is certain', 'It is decidedly so', 'Without a doubt', 'Yes definitely',
    'You may rely on it', 'As I see it, yes', 'Most likely', 'Outlook good',
    'Yes', 'Signs point to yes', 'Reply hazy, try again', 'Ask again later',
    'Better not tell you now', 'Cannot predict now', 'Concentrate and ask again',
    'Don\'t count on it', 'My reply is no', 'My sources say no',
    'Outlook not so good', 'Very doubtful'
];

const randomNumber = Math.floor(Math.random() * eightBallResponses.length);

console.log(username ? `Hi ${username}!` : 'Hello!');
console.log(username ? `${username} asked the question, "${userQuestion}"` : `You asked the question, "${userQuestion}".`);
console.log(`The answer is... ${eightBallResponses[randomNumber]}`);