Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрамбл для кубика рубика 3х3  (Прочитано 46407 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #15 : 01 Июня 2015, 19:54:19 »
alsoijw,
R L корректно, а вот R L R уже нет. Противоположные грани: D - U; R - L; F - B
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 764
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #16 : 01 Июня 2015, 23:20:44 »
Заинтересовала задача. Если ось следующего вращения будет перпендикулярна предыдущей, то получаются "правильные" комбинации.
Пример:
$ python3 scramble.py
D2 F' R' B' D2 L B' U B R U L2' D F D' F2 R2' D2' R2 B'
D' F U2 B' R U' F2' U B2' L2' B2 L2' U' F2' U2' L' D2' F2' R2 F
R' B2' L' F2 D2 R2' F2 L' B U' L2 D B2' D2 F L2' U2' R B' U2
U' F2 D B' U' R B2 L2' U B2 D2' F U' L2 D2 F2 U2 B2' U B2'
B2' D L2 U' B2 U2 R2' F' D' F' D2' B D2' L2 B2' U L' B L' B'
U2 B' L' F' R' D2 L2 F2 L' F U2' B2 D2 R2' B2' D2' L' D' R' U2'
L2 B2 U' L D R D2 B' D2 F2' L' D2 R2' D' B2 D2 R D2 R' U2'
D' L2' F2 U2 F2 R2 D R F L B' L2' D F2 D2' B' L' B' U' L2'
U' B2' U L2' U2 B' L2' F2 L' B D' R D2' B' L' B' R2' U B' U2'
B R2 F' U L' U2 R' F' D B2' L F L U2 L U2 F2 D F2 U2'
(Нажмите, чтобы показать/скрыть)

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #17 : 02 Июня 2015, 12:19:05 »
RingOV,
Тоже думал сделать таким образом, но потом захотелось сделать покрасивее: отдельно определять грань, в какую сторону крутить или двойной оборот. А то слишком громоздко получается)
« Последнее редактирование: 04 Июня 2015, 09:53:31 от Гриб_под_зонтом »
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #18 : 02 Июня 2015, 13:32:44 »
Гриб_под_зонтом, так вот. Запоминашь предыдущую грань. Если у текущей грани и предыдущей первые символы равны, то проверяешь не являются ли повороты противоположными. Если нет.ю то текущая становится предыдущей и выводится на экран, а список требуемых граней декремент.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #19 : 04 Июня 2015, 09:53:06 »
alsoijw,
Я так и делал. Ошибка была в том, что при трёхкратном выпадении одной грани две из них записывались в полседовательность

Пользователь решил продолжить мысль 04 Июня 2015, 09:59:35:
Всё равно не работает( Сейчас пробую написать нормальный код ,а не такое безобразие
« Последнее редактирование: 04 Июня 2015, 09:59:35 от Гриб_под_зонтом »
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #20 : 04 Июня 2015, 15:07:18 »
Гриб_под_зонтом, код с копипастой работать будет врядли.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #21 : 05 Июня 2015, 18:31:30 »
Нормальный генератор скрамбла сделал, сейчас немного доделаю таймер и выложу реализацию

Пользователь решил продолжить мысль выпив 3 кружки чаю
Всё, доделал:
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Как по мне, код получился очень читаемый и красивый.
« Последнее редактирование: 06 Июня 2015, 13:09:53 от Гриб_под_зонтом »
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #22 : 05 Июня 2015, 21:15:02 »
Гриб_под_зонтом, обычно такой отступ не делают.int TimeMinute;
double TimeSecond;

inline void ClearTime()
{
        TimeMinute = 0;
        TimeSecond = 0;
}
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #23 : 05 Июня 2015, 21:27:40 »
alsoijw,
Я так обычно отделяю объявление переменных и объявление функций

Пользователь решил продолжить мысль 05 Июня 2015, 21:38:42:
Тут возник такой вопрос: почему такой вариант заходит в if:
(Нажмите, чтобы показать/скрыть)
А такой нет:
(Нажмите, чтобы показать/скрыть)
? Понятное дела, что с int всё работает как надо
« Последнее редактирование: 05 Июня 2015, 21:38:43 от Гриб_под_зонтом »
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #24 : 05 Июня 2015, 21:46:18 »
Гриб_под_зонтом, я имею в виду отступ например несколько пробелов или табуляцию. Дело в том, что при переводе некотрых десятичных дробных чисел получается безконечная двоичная дробь которая не правильно округляется. Пример 0.1 + 0.2 != 0.3. ООкругляй или храни в целочисленный переменных. Сравнение это если разница между переменными меньше какого-то числа. Примерa - b < 0.01
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #25 : 05 Июня 2015, 22:01:07 »
alsoijw,
Не понял. С каких это пор 1/10 + 2/10 не равно 3/10? ???

***  После нескольких кружек чаю  ***
alsoijw,Всё, разобрался. Тема  решена, код выше обновлён
« Последнее редактирование: 06 Июня 2015, 00:51:33 от Гриб_под_зонтом »
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #26 : 06 Июня 2015, 10:38:56 »
Гриб_под_зонтом, ещё немного математики
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Гриб_под_зонтом

  • Автор темы
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #27 : 06 Июня 2015, 11:44:15 »
alsoijw,
Понял что при вычислении double получаеться в конце билиберда, понял как сравнивать(ещё до статьи) , но почему так происходит - не понял
Hp 250 G3: 8Gb RAM, Intel Celeron 2.16-2.58GHz with 2 core, Intel HD Graphics.
Ubuntu 18.04 LTS with GNOME 3.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #28 : 06 Июня 2015, 12:58:33 »
Гриб_под_зонтом, почитай как переводятся десятичные числа в двоичные и главное как переводятсячисла с плавающей запятой. Хотя глубокое понимание тебе пока не обязательно.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн LETO77

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Скрамбл для кубика рубика 3х3
« Ответ #29 : 19 Июня 2016, 17:38:03 »
Не знаю, актуально ли - тут интересное решение по скрамблу:
http://opensource-brothers.ru/?p=63
« Последнее редактирование: 19 Июня 2016, 17:42:08 от LETO77 »

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.