Size: a a a

JS Liberty [ОЫ]

2020 July 04

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Вот, хотелось бы иметь что-то подобное библиотеку в ноде
источник

F

Foma in JS Liberty [ОЫ]
это нода?
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Node Js
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
npm
источник

F

Foma in JS Liberty [ОЫ]
autohotkey это нода?
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Нет, прога, со своим скриптовым языком
источник

F

Foma in JS Liberty [ОЫ]
ты говоришь пишешь на ноде десктоп
источник

F

Foma in JS Liberty [ОЫ]
вот вопрос какая это нода
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Ладно, забей)
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
источник

F

Foma in JS Liberty [ОЫ]
Физик-ядерщик
Ладно, забей)
ты куда поплыл?
источник

F

Foma in JS Liberty [ОЫ]
Физик-ядерщик
Вот, хотелось бы иметь что-то подобное библиотеку в ноде
мне нет интереса к твоим желаниям
источник

F

Foma in JS Liberty [ОЫ]
сказал а говори б, на какой ты ноде делаешь десктоп?
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Причему тут вообще электрон и десктоп приложения?
источник

Ф

Физик-ядерщик... in JS Liberty [ОЫ]
Я же спросил просто про автоматизацию действий
источник

F

Foma in JS Liberty [ОЫ]
где спросил про автоматизации?
источник

F

Foma in JS Liberty [ОЫ]
Физик-ядерщик
Причему тут вообще электрон и десктоп приложения?
при чем екран к ноде?
источник

M

Maks in JS Liberty [ОЫ]
Говнокод?:
источник

M

Maks in JS Liberty [ОЫ]
generateRoles(users) {
   const roles = {
     mafia: Math.ceil(users.length / 3.6) - 2, // Мафия - по формуле M = N / k
     don: 1, // Дон мафии

     commissioner: users.length >= 6 ? 1 : 0, // Комиссар (при 6 и больше игроков)
     sergeant: users.length >= 8 ? 1 : 0, // Сержант (при 8 и больше игроков)
   
     mistress: users.length >= 8 ? 1 : 0, // Любовница (при 8 и больше игроков)
     maniac: users.length >= 7 ? 1 : 0, // Маньяк (при 7 и больше игроков)
     lawyer: users.length >= 10 ? 1 : 0, // Адвокат (при 10 и больше игроков)
     doctor: 1, // Доктор
     civilian: 0 // Мирные жители
   }

   roles.civilian = roles.length - roles.mafia + roles.don + roles.commissioner +  // Setting civilian count
   roles.sergeant + roles.mistress + roles.maniac + roles.doctor

   const usersArr = []

   function randomInteger(min, max) {
     return Math.floor(min + Math.random() * (max + 1 - min))
   }

   (function generateRandomRoles(users, arr, index) {
     if (index) {
       const randNum = randomInteger(0, 8)

       return roles[Object.keys(roles)[randNum]] !== 0
         ? (usersArr.push({ id: users[index], role: Object.keys(roles)[randNum] }), roles[Object.keys(roles)[randNum]] -= 1)
         : generateRandomRoles(users, arr, index)
     }

     users.map((user, index) => {
       const randNum = randomInteger(0, 8)
       const rolesProp = roles[Object.keys(roles)[randNum]]

       return rolesProp !== 0
         ? (usersArr.push({ id: user, role: Object.keys(roles)[randNum] }), roles[Object.keys(roles)[randNum]] -= 1)
         : generateRandomRoles(users, arr, index)
     })
   })(users, usersArr)

   return usersArr
 }
источник

З🧟

Зомби 🧟‍♂️... in JS Liberty [ОЫ]
Maks
generateRoles(users) {
   const roles = {
     mafia: Math.ceil(users.length / 3.6) - 2, // Мафия - по формуле M = N / k
     don: 1, // Дон мафии

     commissioner: users.length >= 6 ? 1 : 0, // Комиссар (при 6 и больше игроков)
     sergeant: users.length >= 8 ? 1 : 0, // Сержант (при 8 и больше игроков)
   
     mistress: users.length >= 8 ? 1 : 0, // Любовница (при 8 и больше игроков)
     maniac: users.length >= 7 ? 1 : 0, // Маньяк (при 7 и больше игроков)
     lawyer: users.length >= 10 ? 1 : 0, // Адвокат (при 10 и больше игроков)
     doctor: 1, // Доктор
     civilian: 0 // Мирные жители
   }

   roles.civilian = roles.length - roles.mafia + roles.don + roles.commissioner +  // Setting civilian count
   roles.sergeant + roles.mistress + roles.maniac + roles.doctor

   const usersArr = []

   function randomInteger(min, max) {
     return Math.floor(min + Math.random() * (max + 1 - min))
   }

   (function generateRandomRoles(users, arr, index) {
     if (index) {
       const randNum = randomInteger(0, 8)

       return roles[Object.keys(roles)[randNum]] !== 0
         ? (usersArr.push({ id: users[index], role: Object.keys(roles)[randNum] }), roles[Object.keys(roles)[randNum]] -= 1)
         : generateRandomRoles(users, arr, index)
     }

     users.map((user, index) => {
       const randNum = randomInteger(0, 8)
       const rolesProp = roles[Object.keys(roles)[randNum]]

       return rolesProp !== 0
         ? (usersArr.push({ id: user, role: Object.keys(roles)[randNum] }), roles[Object.keys(roles)[randNum]] -= 1)
         : generateRandomRoles(users, arr, index)
     })
   })(users, usersArr)

   return usersArr
 }
понятный, оптимизированный, прокомментирован — нет не говнокод
источник