Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Игры   Найти похожие ветки 

 
Silica ©   (2005-11-13 11:23) [0]

Люди, помогите плз... Я пишу игру Составление слов. Как мне проверить совпадение символов в Edit с выданным словом, из которого составляются слова?


 
2Wish   (2005-11-13 11:27) [1]

А по подробнее можно?
Я например впервые слышу о такой игре.


 
2Wish   (2005-11-13 11:29) [2]

В любом случае совпадение слов проверяется функцией Pos

Отрывой из одной умной книжки:

Pos

Эта функция ищет указанные символы в строке. Если эти символы найдены, то она
вернёт порядковый номер, начиная с которого найдена нужная строка. У функции два
параметра:
1. Строка, которую надо искать.
2. Строка, в которой надо искать.
Если подстрока не найдена, то функция вернёт ноль.

function Pos(Substr: string; S: string): Integer;
Рассмотрим пример:
var
Str1:string;
index: integer;
begin
Str1:=’Привет с большого будуна’;
index:=Pos(‘большого’, Str1);
end;


В этом примере я запускаю поиск строки «большого» в строке Str1. В данном случае,
строка «большого» есть в строке переменной Str1, и начинается с 9-го символа. Результат,
в переменной index будет число 9.


 
Silica ©   (2005-11-13 11:37) [3]

2Wish  Из букв введенного (пpедложенного ЭВМ) слова составить  как можно больше pазных слов.  В Edit я должна проверить, есть ли символы в нем, соответствующие в слове, предложенном компьютером. Использовать буквы столько раз, сколько их в выданном слове и т.д.


 
2Wish   (2005-11-13 11:52) [4]

>В Edit я должна проверить, есть ли символы в нем, соответствующие в слове

Сверху написанно, как это делать.


 
ЮЮ ©   (2005-11-14 06:28) [5]

>Я пишу игру

В чем же состоит это "я пишу", если реализация элементарнейшего алгоритма требует постороннего вмешательства?

Напрмер, в строку Letters сбрасываем все буквы предложения, в строке Target - введенное слово:

for i := 1 to length(Target) do begin
 find := false;
 for j := i to length(Letters) do begin
   if Letters[j] = Target[i] then begin // найдена буква в куче, переставим их
     Letters[j] := Letters[i];
     Letters[i] := Target[i];
     find := true;
     break;
   end;
 end;
 if not find then break; // для текущей буквы не нашлось подобной в куче
end;

if find then
 // слово можно составить
else
 // нельзя


 
Silica ©   (2005-11-14 14:17) [6]

ЮЮ, спасибо за помощь, а в оправдание я скажу, что с нашим обучением в нашем универе и ни такого можно наслушаться и насмотреться.



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
6-1132640622
Дмитрий_05
2005-11-22 09:23
2006.07.09
Снифер HTTP-запросов


2-1150447898
ANB
2006-06-16 12:51
2006.07.09
Как при отправке письма через TIdSMTP указать кодировку письма ?


1-1148482331
Aleksandr.
2006-05-24 18:52
2006.07.09
Как корректно терминировать нить с GetMessage?


11-1129900923
Muxaspb
2005-10-21 17:22
2006.07.09
Проблема с TBitmap.StretchDraw


1-1148910500
oleg_
2006-05-29 17:48
2006.07.09
переназначение станрартного выхода в поток