Size: a a a

2020 June 24

А

Аркаша Одесский 🇪🇪... in pro.js
Но как ты сделал doCmd я бы не дошел. Гений ❤️
источник

L

Lupusregina[beta] in pro.js
Аркаша Одесский 🇪🇪
а ну я примерно так и подумал
в ряде, верхнюю ячейку собираешь обычным способом( ведешь ее туда ), а нижную собираешь так, как собиралась последняя ячейка в горизонтальных рядах
источник

А

Аркаша Одесский 🇪🇪... in pro.js
Lupusregina[beta]
в ряде, верхнюю ячейку собираешь обычным способом( ведешь ее туда ), а нижную собираешь так, как собиралась последняя ячейка в горизонтальных рядах
Можешь кинуть свой puzzle.js?
источник

А

Аркаша Одесский 🇪🇪... in pro.js
Lupusregina[beta]
в ряде, верхнюю ячейку собираешь обычным способом( ведешь ее туда ), а нижную собираешь так, как собиралась последняя ячейка в горизонтальных рядах
3х3 тоже собирается у тебя?
источник

А

Аркаша Одесский 🇪🇪... in pro.js
Еще оказывается есть формула по которой можно сразу сказать можно собрать до конца или нет
источник

L

Lupusregina[beta] in pro.js
Аркаша Одесский 🇪🇪
Можешь кинуть свой puzzle.js?
я вертикальные ряды не доделал, на этом каркасе
источник

L

Lupusregina[beta] in pro.js
Аркаша Одесский 🇪🇪
3х3 тоже собирается у тебя?
первый горизонтальный ряд  у тебя собирается
источник

А

Аркаша Одесский 🇪🇪... in pro.js
Lupusregina[beta]
я вертикальные ряды не доделал, на этом каркасе
А
источник

L

Lupusregina[beta] in pro.js
Аркаша Одесский 🇪🇪
Еще оказывается есть формула по которой можно сразу сказать можно собрать до конца или нет
да, я на вики что то такое читал. Но тут надо просто выполнить алгоритм, ив конце посмотреть состояние, собралось или нет. И все
источник

L

Lupusregina[beta] in pro.js
  function doLastTwo() {
   for(let x = 0; x < WIDTH - 2; x++) {
     let n_u = WIDTH*(HEIGHT-2) + x + 1
     let n_d = n_u + WIDTH
     
     /// поставить верхную ячейку в вертикальном ряде
     let xTar = x
     let yTar = HEIGHT - 2
     let cellTar = getCell(n_u)
     
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     if ( cellTar.y != yTar ) {
       doCmd("u")
       doX(cellTar.x)
       doCmd("d")
     }
     doX(cellTar.x)
     
     while(cellTar.x !== xTar) {
       doCmd("l u r d l")
       break
     }
   }
 }
источник

S

Syntax Highlight Bot in pro.js
Lupusregina[beta]
  function doLastTwo() {
   for(let x = 0; x < WIDTH - 2; x++) {
     let n_u = WIDTH*(HEIGHT-2) + x + 1
     let n_d = n_u + WIDTH
     
     /// поставить верхную ячейку в вертикальном ряде
     let xTar = x
     let yTar = HEIGHT - 2
     let cellTar = getCell(n_u)
     
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     if ( cellTar.y != yTar ) {
       doCmd("u")
       doX(cellTar.x)
       doCmd("d")
     }
     doX(cellTar.x)
     
     while(cellTar.x !== xTar) {
       doCmd("l u r d l")
       break
     }
   }
 }
источник

L

Lupusregina[beta] in pro.js
  assembling()
 doLastTwo()
 console.log({ history });
 return history
источник

S

Syntax Highlight Bot in pro.js
Lupusregina[beta]
  assembling()
 doLastTwo()
 console.log({ history });
 return history
источник

L

Lupusregina[beta] in pro.js
Lupusregina[beta]
  function doLastTwo() {
   for(let x = 0; x < WIDTH - 2; x++) {
     let n_u = WIDTH*(HEIGHT-2) + x + 1
     let n_d = n_u + WIDTH
     
     /// поставить верхную ячейку в вертикальном ряде
     let xTar = x
     let yTar = HEIGHT - 2
     let cellTar = getCell(n_u)
     
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     if ( cellTar.y != yTar ) {
       doCmd("u")
       doX(cellTar.x)
       doCmd("d")
     }
     doX(cellTar.x)
     
     while(cellTar.x !== xTar) {
       doCmd("l u r d l")
       break
     }
   }
 }
тебе надо доделать нижную ячейку в вертикальном ряде
источник

L

Lupusregina[beta] in pro.js
  function doLastTwo() {
   for(let x = 0; x < WIDTH - 1; x++) {
     let n_u = WIDTH*(HEIGHT-2) + x + 1
     let n_d = n_u + WIDTH
     
     /// поставить верхную ячейку в вертикальном ряде
     let xTar = x
     let yTar = HEIGHT - 2
     let cellTar = getCell(n_u)
     
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     if ( cellTar.y != yTar ) {
       doCmd("u")
       doX(cellTar.x)
       doCmd("d")
     }
     doX(cellTar.x)
     
     while(cellTar.x !== xTar)
       doCmd("l u r d l")
     
     /// поставить нижню ячейку в вертикальном ряде
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     yTar++
     cellTar = getCell(n_d)
     
     if ( cellTar.x === xTar && cellTar.y === yTar )
       continue

     if ( cellTar.y != yTar ) {
       doX(cellTar.x)
       doCmd("u")
     }
     doY(cellTar.y - 1)
     doX(cellTar.x)
     
     while(cellTar.x !== xTar + 1)
       doCmd("l d r u l")
 
     /// TODO
     //break
   }
 }
источник

L

Lupusregina[beta] in pro.js
тебе надо одно команду дописать
источник

L

Lupusregina[beta] in pro.js
и решишь
источник

S

Syntax Highlight Bot in pro.js
Lupusregina[beta]
  function doLastTwo() {
   for(let x = 0; x < WIDTH - 1; x++) {
     let n_u = WIDTH*(HEIGHT-2) + x + 1
     let n_d = n_u + WIDTH
     
     /// поставить верхную ячейку в вертикальном ряде
     let xTar = x
     let yTar = HEIGHT - 2
     let cellTar = getCell(n_u)
     
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     if ( cellTar.y != yTar ) {
       doCmd("u")
       doX(cellTar.x)
       doCmd("d")
     }
     doX(cellTar.x)
     
     while(cellTar.x !== xTar)
       doCmd("l u r d l")
     
     /// поставить нижню ячейку в вертикальном ряде
     doX(WIDTH - 1)
     doY(HEIGHT - 1)
     
     yTar++
     cellTar = getCell(n_d)
     
     if ( cellTar.x === xTar && cellTar.y === yTar )
       continue

     if ( cellTar.y != yTar ) {
       doX(cellTar.x)
       doCmd("u")
     }
     doY(cellTar.y - 1)
     doX(cellTar.x)
     
     while(cellTar.x !== xTar + 1)
       doCmd("l d r u l")
 
     /// TODO
     //break
   }
 }
источник

L

Lupusregina[beta] in pro.js
ну что?
источник

DE

Denis Efremov in pro.js
Lupusregina[beta]
не понятно(
Ща объясню, домой только зашел
источник