forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Программируем (http://forum.rastrnet.ru/forumdisplay.php?f=35)
-   -   Игра в слова (http://forum.rastrnet.ru/showthread.php?t=57540)

Peredoz 10.06.2011 14:44

Игра в слова
 
День добрый. Уже весь мозг сломал, так толком ничего и не придумал. Пишу игру в слова, мне необходимо сравнить первую букву вводимого слова с последней предыдущего. Если на конце предыдущего твердый или мягкий знаки, или буква ы, то соответственно надо сравнивать с предпоследней буквой. Пишу в билдере, проверку по словарю и по уже введенным словам реализовал, а вот с этим запара дикая. У кого какие мысли?

ILyaN 10.06.2011 14:47

Гуглил?
Искал что то подобное?

Peredoz 10.06.2011 15:54

Цитата:

Сообщение от ILyaN (Сообщение 800762)
Гуглил?
Искал что то подобное?

Да конечно, нашел на делфи исходник, но тоже толком разобраться с ним не могу. Реализация функций иная совсем.
Спойлер про код:
if (boo == true) {
for (i=1; i <= Memo1->Lines->Count-1; i++) { //в memo лежит словарик, у меня ListBox
if (Edit1->Text == Memo1->Lines[i].Text) {
if (Pos(s[n],Edit1->Text) == 1) { //в Edit вводится слово
ListBox1->Items->Add(Edit1->Text); //в ListBox слова добавляются
Memo1->Lines->Delete(i);
s = Edit1->Text;
if (s.Pos('ъ') == s.Length() ||
s.Pos('ь') == s.Length() ||
s.Pos('ы') == s.Length()) {
s.Delete(s.Length(),1);
Button2->Enabled = false;
Button6->Enabled = true;
}}}}}

В таком виде тоже не работает

Forbrak 10.06.2011 17:20

Приведи пример "не работы". Т.е. какие исходные данные и какой результат. Предложение поставить все условия в отдельные скобочки. (Т.е. (s.Pos('ъ') == s.Length())||(s.Pos('ь') == s.Length()).... )

ILyaN 10.06.2011 17:54

Не работа ля в билдере, не понимаю даже малость, но я бы как то внес четность букв, задать неразрешимость букв, и ввести действие -1.
Как то так:D

Peredoz 10.06.2011 17:57

Цитата:

Сообщение от Forbrak (Сообщение 800766)
Приведи пример "не работы". Т.е. какие исходные данные и какой результат. Предложение поставить все условия в отдельные скобочки. (Т.е. (s.Pos('ъ') == s.Length())||(s.Pos('ь') == s.Length()).... )

Не помогает такой танец. Не при нажатии на кнопку ничего не происходит. Точнее, он чего-то там думает, но не добавляет слово. Ошибок никаких нет, ни во время компиляции, ни во время работы


Спойлер про Полный мой код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i,l,n;
n = s.Length();
for (i=1; i <= Vocabulary->Items->Count-1; i++) {
if (Word->Text == Vocabulary->Items->Strings[i]) {
if (Pos(s[n],Word->Text) == 1) {
WordBox->Items->Add(Word->Text);
Vocabulary->Items->Delete(i);
s = Word->Text;
if (s.Pos('ъ') == s.Length() ||
s.Pos('ь') == s.Length() ||
s.Pos('ы') == s.Length()) {
s.Delete(s.Length(),1);
}
}
}
}
}

вот такой у меня код


Текущее время: 00:59. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.