2048-cli-game
Version:
2048 game for terminal.
161 lines (160 loc) • 5.76 kB
JavaScript
import { Text } from 'ink';
import React from 'react';
const NumsBoard = props => {
const { nums } = props;
return (React.createElement(Text, null,
React.createElement(Text, null,
"\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510",
'\n'),
React.createElement(Text, null,
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` ${nums[0]?.[0] || ' '} `,
" \u2502 ",
` ${nums[0]?.[1] || ' '} `,
" \u2502",
` `,
` ${nums[0]?.[2] || ' '} `,
" \u2502 ",
` ${nums[0]?.[3] || ' '} `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n')),
React.createElement(Text, null,
"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524",
'\n'),
React.createElement(Text, null,
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` ${nums[1]?.[0] || ' '} `,
" \u2502 ",
` ${nums[1]?.[1] || ' '} `,
" \u2502",
' ',
` ${nums[1]?.[2] || ' '} `,
" \u2502 ",
` ${nums[1]?.[3] || ' '} `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n')),
React.createElement(Text, null,
"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524",
'\n'),
React.createElement(Text, null,
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` ${nums[2]?.[0] || ' '} `,
" \u2502 ",
` ${nums[2]?.[1] || ' '} `,
" \u2502",
' ',
` ${nums[2]?.[2] || ' '} `,
" \u2502 ",
` ${nums[2]?.[3] || ' '} `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n')),
React.createElement(Text, null,
"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524",
'\n'),
React.createElement(Text, null,
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` ${nums[3]?.[0] || ' '} `,
" \u2502 ",
` ${nums[3]?.[1] || ' '} `,
" \u2502",
' ',
` ${nums[3]?.[2] || ' '} `,
" \u2502 ",
` ${nums[3]?.[3] || ' '} `,
" \u2502",
'\n'),
React.createElement(Text, null,
"\u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502 ",
` `,
" \u2502",
'\n')),
React.createElement(Text, null, "\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")));
};
export default NumsBoard;