IPB
ЛогинПароль:

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Scrabble
сообщение
Сообщение #21


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата
Давай дождемся реальной необходимости.


ОК smile.gif
Но если что - без проблем.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Наткнулся на неожиданное препятствие: неизвестно, сколько должно быть каточек с каждой буквой. Поверхностный поиск в Инете пока ничего не дал. Можно, конечно, самим прикинуть приблизительно..

Попутно нашел много электронных вариантов игры - как сетевых, так и локальных. Причем, надо отместить разнообразие досок. Ссылка, приведенная Reflex, довольно странная - там нету ни самой игры, ни контактов. По названию домена я отыскал его держателя (похоже, в Таллине), в принципе можно предложить им положить на сайт тоже.

Еще масса интересной ифы. Вот, например (взято отсюда):
Цитата
Скрабл. Набоков в романе "Ада" воспел мистические свойства этой игры. (Например, выпадает набор букв, которые маленькая Люсетта складывает в р-о-т-и-к плюс не приспособленная к делу "л", а ее неневинные сестра и кузен фавнически хохочут.) Не так уж много я играла в скрабл, но "рай" и "ад" складывались у меня многозначительным до безвкусия кроссвордиком раз так семнадцать. (Набоков употреблял слово крестословица. А в советском варианте скрабл именовался игрой "Эрудит".)
Случай, достойный именно "Эрудита". Человек, некто Костя Богомолов из Екатеринбурга, безнадежно проигрывал всем, включая детей и иностранцев. Потом составил слово "икт", значения которого не помнил. Из жалости к аутсайдеру посмотрели в словаре - и нашли там слово "икт". Оно обернулось неким термином, относящимся к стихосложению (точно не помню). Так вот, поскольку этот "икт" утроился, пройдя через красный квадратик, и прицепил еще по дороге какие-то более или менее очевидные слова вроде "ют", которые тоже удваивались и утраивались, Костя Богомолов набрал разом такую кучу очков, что всех нагнал и в итоге, кажется, выиграл.
Подробность достойная адского скрабла: практически в каждой игре у нас возникает слово "вонь". И тут же начинает слегка припахивать серой.
А еще моему сыну Мите раз так семь подряд выпадали буквы в-ы-м-я. И за всю игру ему так и не удалось пристроить это "вымя" к общему кроссворду. Причем значения этого слова он, как выяснилось, не знал. Но все равно кричал: "У меня вымя опять!".
Однажды с нами играла его учительница рисования, девушка тонная, культурная. Получалось у нее плохо. "Что, опять пропускаете ход? Да вот же, Лена, хорошее слово, сказал Митя, заглядывая к ней через плечо, - г-о-в-н-о. Прямо по порядку у вас и лежат". Действительно, буквы лежали на зеленой пластмассовой жердочке строго в неприличном порядке, но ей просто не приходило в голову, что такое - может быть словом.
А ведь это тоже было послание. Хотя до креста, где рай пересекается с адом, конечно, не дотягивает. Просто маленькое шуточное послание.
Вот Кайоль, девушка совсем даже не-тонная, играет всегда превосходно, хотя русскому языку практически и не училась. Она даже составила как-то раз слово к-а-ч-е-н-к-о (то же самое, что дурдом). Еще пыталась впарить слово "зись", утверждая, что у них в школе-студии МХАТ был такой предмет, очень серьезная наука, старенький такой дяденька читал лекции, зачет потом сдавали, спросите Марьяшу Шульц или Олесю Поташинскую, они подтвердят.
Спросили. Оказалось, что предмет был - эстетика, а Зись - фамилия преподавателя.
Отдельное удовольствие - играть в слова с детьми, которые еще не умеют читать-писать.
Мой единоутробнейший сынок Митя, опять-таки, придумал игру "охота на зверей". Это нечто вроде "морского боя", но вместо абстрактных одноклеточных, двухклеточных, трехклеточных кораблей в квадраты вписываются конкретные звери. "Раненая" буква рассекречивается.
Постепенно выяснилось, что на Митином поле пасутся следующие звери: к-р-о-л-ь-и-к, л-ь-и-с, в-о-р-к, трогательно-избыточный з-а-й-е-т-с, лаконичный с-о-б-к, а также с-е-л-ь-о-т, объясненный как муж селедки. Еще - з-а-г. "-А это-то кто?" - "- Заг? Ты что, не знаешь? Такая птица. Высотой - сто метров. А длиной - два метра". Подумал и добавил: "Чистая, культурная птица".
Для этого, собственно, и стоит убивать долгие зимние вечера не занимаясь чем-то полезным (видео, секс, вязание, самообразование), а за бессмысленными и неазартными настольными играми. Чтобы узнать и полюбить его, - зага. Чистую, культурную птицу.

То, что ниже, добавлено позже.
Нашел все же нормальное описание, вот тут: деточка.
Ну и добавил-подправил бервый блин..
Нижеследующий код рисует поле, где, как и полагается, разными цветами обозначено удвоение/утроение букв/слов. Доска почти готова к игре smile.gif. Но вот, что я выяснил при ее просмотре: так играть нельзя. Слишком мелко. А как укрупнить - неясно. Всякие комбинации символов выглядят не здорово.. Так что придется все же перебираться в графику, думаю.
Программа читает файл scrabble.dat, который присовокуплен ниже (количество карточек в нем пока неверное).
Написано на Object Pascal в расчете на будущее (хотя пока том от объектов толку ноль).
{Scrabble}
{Version T.P.00.02}
{File Scrabble_TOP-0_02}
{Date 061103}

uses
CRT;

const
Version=11002;
FileSign='Scrabble Forum-Pascal Project';
DataFile='Scrabble.dat';
MaxBoardSize=100; MxBS=MaxBoardSize; {Max Razmer doski}
MaxAlphaLength=100; MxAL=MaxAlphaLength; {Max dlina alfavita}
BonusColors:array[0..15]of byte=(0,7,1,2,0,0,0,5,4,0,0,0,0,0,0,0);


type
tLetter=word; {Nomer bukvy po poryadku, nachinaya s 1}
tCell=object {Yacheika doski}
Letter:tLetter; {Nomer bukvy, 0-pusto}
Bonus:integer; {umnozhenie ceny (cvetnye kletki)}
procedure Show;
procedure Hide;
end;
tBoard=object {Doska}
Field:array[1..MxBS,1..MxBS]of tCell; {Kletki - Horizontal,Vertical}
Nx,Ny:integer; {Razmery doski}
x,y:integer; {Koordinaty levogo-vrhnego ugla}
sx,sy:integer; {Shagi po x i y}
constructor Init;
procedure Show;
procedure Hide;
end;
tToken=record
Rate:integer; {Cena bukvy}
Symbol:char; {Symvol dlya pokaza na doske}
Quantity:integer; {Kolichestvo bukv}
end;
tAlpha=array[1..MaxAlphaLength]of tToken; {Alfavit}

var
Board:tBoard;
M:word; {Dlina alfavita, schityvaem is faila}
Alpha:tAlpha; {Schityvaem is faila}

Data:text;


procedure tCell.Show;
begin
TextBackground(BonusColors[Bonus]);
if Letter<>0 then Write(Letter) else Write(' ');
end;

procedure tCell.Hide;
begin
Write(' ')
end;

constructor tBoard.Init;
var
i,j:integer;
begin
x:=3; y:=3;
sx:=1; sy:=1;
for j:=1 to Ny do for i:=1 to Nx do;
end;

procedure tBoard.Show;
var
i,j:integer;
begin
for j:=1 to Ny do for i:=1 to Nx do begin
GoToXY(x+sx*Pred(i),y+sy*Pred(j));
Field[i,j].Show
end
end;

procedure tBoard.Hide;
begin
Write(' ')
end;

var
i,j:integer;
c:char;

begin
Board.Init;
Assign(Data,DataFile);
ReSet(Data);
ReadLn(Data);
ReadLn(Data);
with Board do begin
ReadLn(Data,Nx,Ny);
for j:=1 to Ny do begin
for i:=1 to Nx do with Field[i,j] do begin
Read(Data,c);
if c='.' then Bonus:=1 else Bonus:=Ord©-48
end;
ReadLn(Data)
end
end;
ReadLn(Data);
ReadLn(Data);
ReadLn(Data,M);
for i:=1 to M do with Alpha[i] do repeat Read(Data,Symbol) until Symbol<>' ';
for i:=1 to M do begin
Read(Data,Alpha[i].Rate);
end;
for i:=1 to M do Read(Data,Alpha[i].Quantity);
Close(Data);

ClrScr;
Board.Show;
ReadLn
end.

Scrabble Forum-Pascal Project
11001
15 15
8..2...8...2..8
.7...3...3...7.
..7...2.2...7..
2..7...2...7..2
....3.....3....
.3...2...2...3.
..2.........2..
8..2.......2..8
..2.........2..
.3...2...2...3.
....3.....3....
2..7...2...7..2
..7...2.2...7..
.7...3...3...7.
8..2...8...2..8
russian
win1251
32
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
1 3 2 3 2 1 5 5 1 3 2 2 2 1 1 2 2 2 2 3 10 5 10 5 10 10 10 5 5 10 10 3
12 7 9 7 9 12 5 5 12 7 9 9 9 12 12 9 9 9 9 7 3 5 3 5 3 3 3 5 5 3 3 7



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


Привет всем, я просто даувно не была в интернете. а переходить на Graph помоему бессмысленно, тогда уж делать на формах...


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 21.12.2024 19:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name