Форум: "Игры";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизИгры Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c