|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
09.03.2007, 19:33 | #1 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
Реализовать игру в Города
Привет! Помогите пожалуйста написать программу на Delfi, основанную на принципе игры в города.
Игрок ведёт игру с компьютером, у которого уже имеется база из 20 названий городов, игрок вводит своё название города, а компьютер выводит название города, которое совпадает с последней буквой города, названного игроком.Города не могут повторяться несколько раз за игру. В общем аналогом может послужить игра в слова, только я её нигде не нашёл. Если Вам не сложно, то напишите пожалуйста программный код.Спасибо! |
09.03.2007, 19:37 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
во-первых, в delphi
во-вторых, неужели самому не интересно сделать?! |
09.03.2007, 19:50 | #3 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
Честно говоря интересно, но я незнаю как определить последний символ в слове и что бы компьютер выводил по последней букве.если распишите эту часть ,буду очень признателен.
|
09.03.2007, 19:55 | #4 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
http://delphibasics.ru/Length.php - колличество символов
http://delphibasics.ru/Copy.php - возвращает часть слова. Этого должно хватить. |
09.03.2007, 20:16 | #5 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
По сути - ничего сложного. Только возникает вопрос: пользователь вводит слова которые есть в базе или нет? Если нет, то получится как-то неправильно, ведь если я в введу на слово "Кострома" слово "Ад" и программа с полной уверенностью существования такого города выдаст мне "Днепропетровск"... Будет глупо смотрется, советую сразу делать упор на этом аспекте и расширить базу хотябы до 100 самых крупных и/или самых известных городов (России - так будет проще).
1. Очищаем TEdit и предлагаем пользователю ввести его слово, по нажатии кнопки копируем слово в строку-буфер. 2. Сравниваем слово с базой. Есть - заносим в массив использовавшихся слов (можно использовать нередактируемый TMemo и заносить и искать слова в нем). Нет - выдаем сообщение пользователю, что такого слова в базе нет (Со всеми вопросами обращаться к Васе Пупкину, великому граматею, для пополнения базы ) и переходим к п.1 3. Смотрим последний символ строки-буфера и ищем слово начинающееся на данный символ в базе (не забываем про строчные и заглавные буквы). Нашли - проверяем, не присутствовало ли оно ранее. Имело место - ищем дальше, не находим ничего более - пользователь выиграл. Не было слова - пишем, переходим к п.1. Алгоритм есть!
Познавая других, мы познаем себя.
С'est la vie... |
09.03.2007, 20:45 | #6 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
Алгоритм был такой же у меня ,а вот в код как его.
как высчитать именно последнюю букву в любом введённом слове? |
09.03.2007, 21:15 | #7 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
всё .понял как
|
09.03.2007, 21:16 | #8 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
можно так - a:=copy(slovo,length(slovo),1);
|
09.03.2007, 22:00 | #9 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
да я проще сделал Target := Copy(Source,n,n);
|
11.03.2007, 14:47 | #10 |
Пользователь
Регистрация: 09.03.2007
Сообщений: 20
|
Помогите пожалуйста сделать вывод из файла слова ,удовлетворяющего условию.Возможноли такое?
я делал так: shortStr :=Edit1.text; ShowMessage('Длина shortStr = '+IntToStr(Length(shortStr))); n:=Length(shortStr); //длина слова , вводимого игроком заносится в n Source :=Edit1.text; Target := Copy(Source,n,n); //копируется последний символ в слове вводимого игроком ShowMessage('Target : '+Target); fname:='D:\Program Files\Borland\Delphi7\Projects\Kurs ovik\sity.txt'; AssignFile(f, fName); {$I-} Reset(f); {$I+} if IOResult<>0 then begin MessageDlg('Нет доступа к ' +fName, mtError, [mbOK],0); exit; end; //вывод из файла while not EOF(f) do begin readln(f, buf); shortStr2 :=buf; ShowMessage('Длина shortStr2 = '+IntToStr(Length(shortStr2))); n2:=Length(shortstr2); //длина слова заносится в n Source :=buf; Target2 := Copy(Source,1,1);//копирнули первый символ слова в файле ShowMessage('Target2 : '+Target2); if target=target2 then //если последний символ вводимого слова равен первому символу слова из файла ,то: target3:=copy(Source,1,n);//копируем всё слово ,если оно удовлетворяет условию ShowMessage('Target3 : '+Target3); label2.caption:=target3;//вставляем слово из файла end; CloseFile(f); end; Но проблема в том что if не работает .а первый символ слова из файла я нахожу, потом копируется всё слово и оно вставляется в label2 ,но выводится именно весь файл, а не только нужное слово. В общем нужно вывести определённое слово из файла. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиграем в города? | Hallo | Свободное общение | 178 | 24.07.2011 23:35 |
Карта города | zzzzz | Общие вопросы Delphi | 16 | 15.06.2011 15:19 |
создание карты города | Коржик | Общие вопросы Delphi | 8 | 13.08.2009 04:54 |
Карта города | Vadimok | Общие вопросы Delphi | 4 | 26.08.2008 17:36 |
Карта города 2 | Archangel | Помощь студентам | 3 | 04.03.2007 05:19 |