📅  最后修改于: 2023-12-03 14:55:31.010000             🧑  作者: Mango
Mad Libs是一个填空文字游戏。玩家需要根据所提供的词类(名词,动词,形容词等)提供相应的词汇,然后将这些词语填入给定的空格中,从而创建一个有趣的故事或段落。
在本教程中,我们将使用Javascript创建一个Mad Libs游戏。
在开始之前,请确保您已经安装了Node.js和npm。
首先,让我们创建一个新的Node.js项目,并安装inquirer依赖项:
mkdir mad-libs
cd mad-libs
npm init -y
npm install inquirer
创建一个名为index.js的新文件并打开它。首先,让我们在文件开头引入所需的模块:
const inquirer = require('inquirer');
现在,让我们创建一个空的词汇表,用户可以填写空格:
const wordBlanks = {
noun1: '',
noun2: '',
verb1: '',
verb2: '',
adjective1: '',
adjective2: '',
adverb: '',
pluralNoun: ''
};
接下来,我们需要编写一个函数,该函数将提示用户填写词汇表中的空格,并将其存储在wordBlanks对象中。我们将使用inquirer模块来创建提示:
function getWords() {
return inquirer.prompt([
{
type: 'input',
name: 'noun1',
message: 'Enter a noun:'
},
{
type: 'input',
name: 'noun2',
message: 'Enter another noun:'
},
{
type: 'input',
name: 'verb1',
message: 'Enter a verb:'
},
{
type: 'input',
name: 'verb2',
message: 'Enter another verb:'
},
{
type: 'input',
name: 'adjective1',
message: 'Enter an adjective:'
},
{
type: 'input',
name: 'adjective2',
message: 'Enter another adjective:'
},
{
type: 'input',
name: 'adverb',
message: 'Enter an adverb:'
},
{
type: 'input',
name: 'pluralNoun',
message: 'Enter a plural noun:'
}
])
.then(answers => {
wordBlanks.noun1 = answers.noun1;
wordBlanks.noun2 = answers.noun2;
wordBlanks.verb1 = answers.verb1;
wordBlanks.verb2 = answers.verb2;
wordBlanks.adjective1 = answers.adjective1;
wordBlanks.adjective2 = answers.adjective2;
wordBlanks.adverb = answers.adverb;
wordBlanks.pluralNoun = answers.pluralNoun;
});
}
该函数返回一个Promise,该Promise在用户完成填写后将解决。
现在,我们需要编写一个用于生成故事的函数。我们将使用模板文字来构建故事,并在其中插入wordBlanks对象中的词汇:
function generateStory() {
return `One day, while walking through the ${wordBlanks.noun1}, a ${wordBlanks.adjective1} ${wordBlanks.noun2} suddenly appeared. It ${wordBlanks.verb1} ${wordBlanks.adverb} and then ${wordBlanks.verb2} away. Everyone who saw it was ${wordBlanks.adjective2} and couldn't believe their ${wordBlanks.pluralNoun}.`;
}
现在,让我们在主函数中调用getWords和generateStory函数:
async function main() {
await getWords();
const story = generateStory();
console.log(story);
}
main();
最后,我们可以运行脚本并玩Mad Libs游戏了!运行以下命令:
node index.js
填写空格后,将生成一个故事并输出到控制台。
在本教程中,我们使用Javascript创建了一个Mad Libs游戏,并学习了如何使用inquirer模块来创建交互式提示。您可以继续扩展游戏并使其更加有趣,例如向用户输入提供更多词类选择,或者使用API来从Internet上获取随机的模板故事并将它们填写。