24game 中文文档教程

发布于 3年前 浏览 29 项目主页 更新于 3年前

The 24 Game

24 Game 测试一个人的心算。

Task Description

Write a program that randomly chooses and displays four digits, each from 1 ──► 9 (inclusive) with repetitions allowed.

The program should prompt for the player to enter an arithmetic expression using just those, and all of those four digits, used exactly once each. The program should check then evaluate the expression.

The goal is for the player to enter an expression that (numerically) evaluates to 24.

Only the following operators/functions are allowed: multiplication, division, addition, subtraction  
Division should use floating point or rational arithmetic, etc, to preserve remainders.  
Brackets are allowed, if using an infix expression evaluator.  
Forming multiple digit numbers from the supplied digits is disallowed. (So an answer of 12+12 when given 1, 2, 2, and 1 is wrong).  
The order of the digits when given does not have to be preserved.

Examples

解决:1 2 3 4
(4 * 3 * 2) + 1
不,这是 25

求解:1 2 3 4
4 * 3 * (1 + 1)
抱歉,这不是一个有效的表达式

解决:1 2 1 1
12 * (1 + 1)
抱歉,这不是有效的表达式

解决:1 1 1 1
(1 + 1 + 1 + 1)!
抱歉,这不是一个有效的表达式

解决:8 4 7 4
(7 - (8 / 8)) * 4
是的,这确实是 24

Solution

项目概述:

coding-seh
├── .gitignore
├── README.md
├── src         
│   ├── 24game.js               // main 24 game file
│   ├── 24game.test.js          // main 24 game test file
│   ├── evaluator.js            // rpn evaluator
│   └── evaluator.test.js.js    // rpn evaluator tests
├── bin         
│   └── index.js                // executable game file
├── package.json
└── ...

Usage

从您需要运行的 repo:

$ npm install         // to install the dependencies
$ npm run start       // to start the game

$ npm run help        // displays the help page

或者,您可以使用全局安装 npm 包:

$ npm install -g 24game

然后您只需运行即可运行它: $ 24游戏

$ 24game --help       // displays the help page

The 24 Game

The 24 Game tests one's mental arithmetic.

Task Description

Write a program that randomly chooses and displays four digits, each from 1 ──► 9 (inclusive) with repetitions allowed.

The program should prompt for the player to enter an arithmetic expression using just those, and all of those four digits, used exactly once each. The program should check then evaluate the expression.

The goal is for the player to enter an expression that (numerically) evaluates to 24.

Only the following operators/functions are allowed: multiplication, division, addition, subtraction  
Division should use floating point or rational arithmetic, etc, to preserve remainders.  
Brackets are allowed, if using an infix expression evaluator.  
Forming multiple digit numbers from the supplied digits is disallowed. (So an answer of 12+12 when given 1, 2, 2, and 1 is wrong).  
The order of the digits when given does not have to be preserved.

Examples

solve: 1 2 3 4
(4 * 3 * 2) + 1
no, this is 25

solve: 1 2 3 4
4 * 3 * (1 + 1)
sorry, this is not a valid expression

solve: 1 2 1 1
12 * (1 + 1)
sorry, this is not a valid expression

solve: 1 1 1 1
(1 + 1 + 1 + 1)!
sorry, this is not a valid expression

solve: 8 4 7 4
(7 - (8 / 8)) * 4
yes, this is indeed 24

Solution

Project overview:

coding-seh
├── .gitignore
├── README.md
├── src         
│   ├── 24game.js               // main 24 game file
│   ├── 24game.test.js          // main 24 game test file
│   ├── evaluator.js            // rpn evaluator
│   └── evaluator.test.js.js    // rpn evaluator tests
├── bin         
│   └── index.js                // executable game file
├── package.json
└── ...

Usage

From the repo you need to run:

$ npm install         // to install the dependencies
$ npm run start       // to start the game

$ npm run help        // displays the help page

Alternatively you can install the npm package globally using:

$ npm install -g 24game

and then you can run it simply by running: $ 24game

$ 24game --help       // displays the help page
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文