Lokky - Хакеры сновидений: Архив 1-6
- Название:Хакеры сновидений: Архив 1-6
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Lokky - Хакеры сновидений: Архив 1-6 краткое содержание
Давным-давно, один парнишка по имени Kor, начал собирать и редактировать материалы по различным изысканиям хакеров сновидений. Потом он куда-то пропал, но нашлись другие, кто подхватил эстафету начатую им. Все это вылилось в данный архив, который продолжает пополнятся каждый день.
Хакеры сновидений: Архив 1-6 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Возможно есть варинты открытия секций при помещеении карты внутрь выложенных - подробно не проверял. Есть идея написать програмку с реализацией этого подхода. И потом она мне поможет в тех делах, где я сейчас окопался... надо только суметь кроме реальных колод научить её работать, так сказать с алгеброй. а может это и не существенно.
Про программу написаную вместе и для многих задач.
_____
Хорошо писать АРМ когда ясно какой круг задач оно решает. Когда есть язык программирования, +WinAPI, и др. У нас пока нет теории и единообразия - и это основной тормох отхода от работы с набором маленьких тузл.
Пока я вижу только один общий подход. - утвердить единое представление расклада и некоторых известных, общепринятых его характеристик. Например, как массив указателей на соответствующие объекты.
Описать это дело в отдельном топике.
В список этот объекты только добавлять, предварительно обсудив.
Написать некую общую оболочку, задача которой - проверять наличие в деректории программы модулей, предоставлять пользователю их список, позволять запускать. Естественно есть выбор модулей, которые нужны пользователю по умолчанию.
Каждый модуль получает от оболочки нужные ему указатели из нашего общего массива, и может работать с содержимым.
Оболочка отвечает за обновление, взаимодействие и прочее. Возожно здесь нужна база данных. - кто что посоветует по реализации??
Модули - это 1. ввод ПМ как текста, 2 - нажимая на кнопочки, 3- по методу April и т.д. 4 - проверка сходимости, 5 - рассчет таймингов, 6 - синтез ПМ... , 7 - расчет разностей потенциалов..., 8 - представление гексами, 9 - зеленое сукно и картинки карт...
если удается грамотно спроектировать оболочку - участникам развязаны руки.
Идеал - интерактивность - я меняю порядок карт в колоде в одном окне, на одной форме, а в другом окне (на другой форме) - модуле автоматически пересчитывается сходимость и (или) тайминг...
___
Это все мое ИМХО, сформулированное в течении суток, на основе моего скромного, любительского опыта в программированиии (и забытого двухлетненго обучения теории этого дела). Возможно есть более современные и удобные подходы к таким вещам. Буду рад услышать Ваши мнения!
____
флаговые карты... - ну я думаю, тут скорее ответиить мог бы, например Vigo, или April - кто то из практиков.
Я с такими вопросами лезу в практикум, который вел Саид и читаю, то что там было... И это тоже не догма...
Сейчас я углубился в теорию, и не знаю ответа на такой вопрос. Теория пока на него мне не отвечает... Возможно, когда, будет готова модель с корнями и нитегрирована с “черепашками“ - будет получен естественный ответ. Возможно, прийдется установить связь с гексами... Об этом рано думать. Меня волнует все больше вопрос, который мне уже задавали в этом топике - практическая проверка теории... Сборка заказных видов сходящихся ЦС - это хорошо. Но для чего? :)))
пфьук (#170, 2005-12-16, 22:12:55 )
ну короче, до библы с графами пока не дошел, но буду с ней работать обязателно
вот у меня какая примерно колода как класс вырисовывается
---
type
// one card
TPMCardRec = record
Suit: integer;
Nominal: integer;
end; // TPMCardRec record
// card desk chain
TPMCardSet = class
private
Cards: array [0..pmCards - 1] of TPMCardRec;
Validated: Boolean; // right and full cardset
function GetCard(Idx: integer): TPMCardRec;
procedure SetCard(Idx: integer; Value: TPMCardRec);
protected
function NormalCardIndex(Idx: integer): integer;
procedure ImportPrim(PrimStr: WideString; Relative: Boolean = False);
public
property Card[Idx: integer]: TPMCardRec read GetCard write SetCard;
property IsValid: Boolean read Validated;
constructor Create;
procedure Clear; // fill by pmBadCard
procedure Validate; // check to doubles in cardset, and without pmBadCard
procedure NormalizeCard(Idx: integer); // normalize suit and nominal of one card
procedure NormalizeCards; // normalize all cards
function CardName(Idx: integer; Relative: Boolean = False): WideString;
function Name(Relative: Boolean = False): WideString;
function OctavedName(Relative: Boolean = False): WideString;
procedure Sort2Right; // cardset from 6 diamond to ace spade
procedure Sort2Left; // cardset from ace spade to 6 diamond
function Import(CardStr: WideString; Relative: Boolean = False): Boolean;
function Export2CSV(Relative: Boolean = False): WideString;
function TransSuits(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function TransNominals(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function Transited(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function IsReconverging : Boolean;
function TimingString: WideString;
procedure Exchange(Idx1, Idx2: integer; Size: integer = 1);
procedure ShiftHorz(Idx: integer; Size: integer = 1; Left: Boolean = False);
procedure ShiftVert(Value: integer = 1; Suite: Boolean = False);
procedure Normalize;
procedure MakeTransitPath(First: integer = 0; Last: integer = pmCards - 1);
procedure UnTransitPath(First: integer = 0; Last: integer = pmCards - 1);
end; // TPMCardSet class
---
методы конечно не все еще детално прописаны,
и это далеко не окончателный вариант по названиям и функциям.
типа отчёта как бы
вот как пример работы - код
---
procedure TfrmMain.BitBtn2Click(Sender: TObject);
var
pm: TPMCardSet;
S: WideString;
tmp: integer;
begin
pm := TPMCardSet.Create;
// setup transit path
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
S := “9D,9C,9H,9S,AS,KS,JS,7S,6S,6H,8H,10H,QH,AH,KH,JH,“;
//17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
S := S + “JC,JD,10D,10C,8C,6C,6D,7D,8D,8S,10S,QS,QD,QC,AC,KC,7C,7H,KD,AD“;
if pm.Import(S) then
begin
Log(msgImport[LangID] + “: [“ + pm.Name + “]“);
Log(msgTiming[LangID] + “: [“ + pm.TimingString + “]“);
if not pm.IsReconverging then
Log(msgNonReconverging[LangID]);
pm.UnTransitPath(0, 32 - 1);
tmp := LangID;
if tmp <> lngRussian then
LangID := lngRussian;
SetupLanguage;
Log(msgUntransit[LangID] + “: [“ + pm.OctavedName + “]“);
Log(msgTiming[LangID] + “: [“ + pm.TimingString + “]“);
if not pm.IsReconverging then
Log(msgNonReconverging[LangID]);
if tmp <> LangID then
LangID := tmp;
SetupLanguage;
end
else
begin
Log(msgWrongInput[LangID]);
Log(“[“ + S + “]“);
end;
pm.Free;
end;
---
в логе это выглядеть будет вот так
---
---+++ 17 Декабрь 2005 г. 02:09[English] +++---
Import: [9d,9c,9h,9s,As,Ks,Js,7s,6s,6h,8h,10h,Qh,Ah,Kh,Jh,Jc,Jd,10d,10c,8c,6c,6d,7d,8d,8s,10s,Qs,Qd,Qc,Ac,Kc,7c,7h,Kd,Ad]
Timing: [3:1:2:1:1:1:3:1:1:1:1:2:4:3:3:2:2:1:4]
Warning: patience is non-reconverging!
---+++ [Русский] +++---
Ретранзит: [(9б,8ч,6к,9к,10ч,6б,9ч):(Дч,7б,9п,Тч,8б,Тп):(Кч,8п):(Кп):(Вч,10п):(Вп):(Вк,Дп):(7п,Вб,Дб,6п,10б):(Дк,6ч,10к):(Тк,8ч,Кк):(7к,7ч,Кб,Тб,9к)]
Тайминг: [7:6:2:1:2:1:2:5:3:3:5]
Внимание: несходящийся пасьянс!
---
кое чё подправлю, завтра выложу
есть ли у когоньть готовая цепочка 35:1 для отладки?
пфьук (#171, 2005-12-17, 18:28:26 )
konste
по поводу флаговых карт, кстати
Читать дальшеИнтервал:
Закладка: