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

> Scrabble
сообщение
Сообщение #1


Пионер
**

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

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


Давайте всем форумом напишем вот эту игру. Причем так, что бы в ней были режимы как одно пользовательской ( с ИИ ) так и много пользовательской игры, желательно еще и игру по локалке.
сделать все вместе согласны такой общий проект?


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


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

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

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


Цитата(arhimag @ 2.11.2006 16:36) *
я предлагаю взять сделать чат, потом добавить функцию перебегающего сервера,
...
кроме одного я не могу реализовать поиск уже созданных игр

Мое мнение, не стОит делать самостоятельный сетевой уровень, по крайней мере сейчас.
Предлагаю для начала воспользоваться web-сервером. Сделать простейший CGI..
Я готов предоставить страничку на своем сайте ради такого дела smile.gif. Правда, может возникнуть сложность с исполняемым кодом.. Не помню, Linux там или BSD.. проверю. Если не сложится там - все равно найдем, где.
Цитата(Michael_Rybak @ 2.11.2006 17:50) *

давайте кто-то начнет проект на sf, tigris или еще где.
...
- весело будет.

Ты слыхал о принципе наказуемости инициативы? smile.gif Можешь заняться..
Если серьезно, я пока не уверен, что это действительно нужно. Давай дождемся реальной необходимости. Иначе нетрудно утонуть во всем этом, не начав..
А весело и так будет! smile.gif

Reflex, ты где? что молчишь?


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


Michael_Rybak
*****

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

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


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


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


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

Группа: Пользователи
Сообщений: 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 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Reflex   Scrabble   1.11.2006 1:06
Vasya!   Для начала что за игра опиши. Хоть в кратце. :yes2…   1.11.2006 2:32
Reflex   Ура :) :) :) Появился хоть один заинтересовавшийся…   1.11.2006 2:55
Vasya!   Типа кроссворд? А что делать надо а то я непонял?…   1.11.2006 3:16
Reflex   Нет... не кроссворд ... Ну давай сначала обсудим и…   1.11.2006 3:18
Reflex   или я не то понисмаю под словом кроссворд   1.11.2006 4:59
lapp   или я не то понисмаю под словом кроссворд Эта иг…   1.11.2006 5:32
Reflex   А ты не мог бы рассказать Алгорим ИИ? а то я что-т…   1.11.2006 17:55
Vasya!   Так как я в игру не играл, то тоже не знаю алгорит…   1.11.2006 22:12
arhimag   Готов помочь, предлагаю интерфейс сделать текстовы…   1.11.2006 18:25
Reflex   ну вот что-то такое правдо это только часть. prog…   2.11.2006 5:35
lapp   Что касается ИИ, то мне кажется, что особых пробле…   2.11.2006 13:31
Michael_Rybak   Алгоритм не дубовый, и он будет летать. Только л…   2.11.2006 16:53
lapp   Только лучше, наверное, сначала смотреть, куда бу…   2.11.2006 17:37
arhimag   В написании игр объектный подход очень удомен и мн…   2.11.2006 16:03
lapp   Я тут набросал примерно костяк структуры данных, к…   2.11.2006 18:11
Michael_Rybak   Тут у меня есть 2 соображения. Во-первых, понятно…   2.11.2006 18:45
Michael_Rybak   Еще, если уж на то пошло, то давайте кто-то начнет…   2.11.2006 20:50
arhimag   как - то давно вы мне давали чат по локалке, и я о…   2.11.2006 19:36
lapp   я предлагаю взять сделать чат, потом добавить функ…   3.11.2006 5:30
Michael_Rybak   ОК :) Но если что - без проблем.   3.11.2006 5:36
lapp   Наткнулся на неожиданное препятствие: неизвестно, …   3.11.2006 18:14
Reflex   Привет всем, я просто даувно не была в интернете. …   4.11.2006 15:09


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

 





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