Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Lamp tables
- // Digits only
- // offset = 21
- table = `
- +++.+++
- ..+..+.
- +.+++.+
- +.++.++
- .+++.+.
- ++.+.++
- ++.++++
- +.+..+.
- +++++++
- ++++.++
- `
- // With minus sign
- // offset = 20
- tableNegative = `
- +++.+++
- ..+..+.
- +.+++.+
- +.++.++
- .+++.+.
- ++.+.++
- ++.++++
- +.+..+.
- +++++++
- ++++.++
- ...+...
- `
- // 3x5 display
- fancyTable = `
- +++
- +.+
- +.+
- +.+
- +++
- .+.
- .+.
- .+.
- .+.
- .+.
- +++
- ..+
- +++
- +..
- +++
- +++
- ..+
- +++
- ..+
- +++
- +.+
- +.+
- +++
- ..+
- ..+
- +++
- +..
- +++
- ..+
- +++
- +++
- +..
- +++
- +.+
- +++
- +++
- ..+
- .+.
- +..
- +..
- +++
- +.+
- +++
- +.+
- +++
- +++
- +.+
- +++
- ..+
- +++
- ...
- ...
- +++
- ...
- ...
- `
- // Fancy table to normal
- function flat(table) {
- return table.replace(/(\S)\n/g, '$1');
- }
- function lamps(table) {
- table = table
- .replace(/\+/g, '1')
- .replace(/\./g, '0')
- .trim().split('\n')
- .map(line => line.trim().split(''));
- const offset = 31 - table.length;
- return transpose(table)
- .map(line => parseInt(line.join(''), 2) << offset);
- }
- function transpose(arr) {
- const result = [];
- for (let i = 0; i < arr[0].length; i++) {
- line = [];
- for (let j = 0; j < arr.length; j++) {
- line.push(arr[j][i]);
- }
- result.push(line);
- }
- return result;
- }
- function oil(op = 0, cl = 0) {
- let h = op * 5 + cl * 13;
- let l = op * 9 + cl * 4 + (h / 20) * 15;
- let p = op * 11 + cl * 2 + (l / 15) * 10;
- return {
- heavy: h, light: l, petroleum: p,
- hoc: Math.ceil(h / 20),
- loc: Math.ceil(l / 15),
- steam: cl * 10,
- coal: cl * 2,
- oil: op * 20,
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement