Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Подскажите где найти программу с исходником


Рекомендуемые сообщения

Вот условие задачи

Написать игру "Парные картинки" развивающую внимание. Правило игровое поле разделено на клетки, за каждой из которых скрыта картинка. Картинки парные, щелчок левой кнопкой мыши открывает клетку, в клетке находится картинка. Теперь надо найти клетку с такой же картинкой. Щелчок по другой клетке открывает другую картинку, если разные, то клетки остаются открытыми. Очередной щелчок закрывает открытые клетки и окрывает следующую. Следует обратить внимание, что две открытые клетки закрываются даже в том лучае, если открытая картинка такая же, как и одна из двух открытых. Игра заканчивается, когда игрок открывает все пары картинок. Картинки должны загружаться из файла.

Ссылка на комментарий
Поделиться на другие сайты

Алгоритм очень простой:

1) Создаешь 2-мерный масив: array (i - ширина и высота поля, в клетках)

2) Т.к. картинок должно быть вдвое меньше, чем клеток, загружаешь в память i/2 кол-во разных картинок, но каждую по 2 раза (допустим опять же в массив (уже другой) picturearray; i - это, кстати, таже самая i, что и выше и в данном случае, при присвоении, это означает максимальное кол-во ячеек в массиве)

3) Создаешь цикл от 1 до I (Для X = 1 до I)

4) Создаешь в этом цикле еще один такой-же цикл (Для Y = 1 до I)

5) Во втором цикле приравниваешь к array[X][Y] случайным образом картинку методом Random из PictureArray (напр. array[x][y] равен PictureArray[Random до кол-ва ячеек в этом массиве])

6) Далее удаляешь только что присвоенную картинку из PictureArray (чтобы одна картинка попалась не более 2ух раз)

7) В конце обоих циклов - получается произвольно заполненный картинками массив

8) Теперь данный массив уже можно присвоить чему-либо, в зависимости от среды разработки, и обрабатывать полученные данные.

Основы объяснил, если что-то непонятно - спрашивай.

p.s. Мне тоже что-то похожее на информатике задавали... :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

это сапер ==рекомендую доработать программу вариантом 2 ,где все поле видно n-секунд потом оно закрывается, а вот теперь вперед. Неудачные попытки суммируются.

:D

Ссылка на комментарий
Поделиться на другие сайты

Мне вообще на Delphi надо, видите если б я разбирался в программировании, а то я толком не фига не врубаюсь. Мне б вот исходник и нужен, подскажите кто нибудь если знает где достать или пришлите на майл pdaddy_pdaddy@mail.ru. Буду очень благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Ну я могу написат ее. Когда должна бит готова и сколько картинки надо пользувать :(

Ссылка на комментарий
Поделиться на другие сайты

Сергей Плоткин

1) Создаешь 2-мерный масив: array (i - ширина и высота поля, в клетках)

2) Т.к. картинок должно быть вдвое меньше, чем клеток, загружаешь в память i/2 кол-во разных картинок, но каждую по 2 раза (допустим опять же в массив (уже другой) picturearray; i - это, кстати, таже самая i, что и выше и в данном случае, при присвоении, это означает максимальное кол-во ячеек в массиве)

На мой взгляд, чуть иначе.

1. Клеток обязательно должно быть четное число, ибо как тогда раскурочить ситуацию, когда i%2!=0 ? Для этого, как минимум один из размеров должен быть четным. "Квадратность" a - не гарантия этого (см. 5х5=25. 25%2==1 - некорректно ) В общем виде a[j], где выполняется (i%2==0)||(j%2 ==0) (Сорри за смесь всего в записи выражения).

2. Количество картинок не i/2, а (i*j)/2. - поле-то будет емкостью в i*j картинок, каждая из которых должна встретиться дважды => уникальных картинок вдвое меньше количества ячеек.

i тут не та же самая...

Ссылка на комментарий
Поделиться на другие сайты

Andrew.Egorovsky

1. Клеток обязательно должно быть четное число, ибо как тогда раскурочить ситуацию, когда i%2!=0 ? Для этого, как минимум один из размеров должен быть четным. "Квадратность" a - не гарантия этого (см. 5х5=25. 25%2==1 - некорректно ) В общем виде a[j], где выполняется (i%2==0)||(j%2 ==0) (Сорри за смесь всего в записи выражения).

Тут ты прав. Моя ошибка.

2. Количество картинок не i/2, а (i*j)/2. - поле-то будет емкостью в i*j картинок, каждая из которых должна встретиться дважды => уникальных картинок вдвое меньше количества ячеек.

i тут не та же самая...

Ну, в моем варианте (если принять как обязательное - четное количество ячеек и квадратность), картинок именно i/2 и каждую по 2 раза. Допустим,

i = 10. Значит таблица - 10x10. Значит картинок загружается 10/2 разных картинок, но каждую по 2 раза. Получается разных картинок пять, а всего - 10. :( Писал, торопясь, так что мож где и ошибся чуток, но на общую картину повлиять не должно.

Изменено пользователем Сергей Плоткин
Ссылка на комментарий
Поделиться на другие сайты

Я бы сделал прозрачнее: взял одномерный массив длиной N=M1*M2, где хотя бы одно из M1 и M2 - четное, заполнил его по порядку два раза номерами картинок, перетасовал по алгоритму Мозеса и Оукфорда и отобразил на прямоугольный массив [M1,M2].

Алгоритм тасования приведен в параграфе 3.4.2 первого тома Кнута:

FOR J:=N DOWNTO 2 DO BEGIN K:=RANDOM(J)+1; T:=X[K]; X[K]:=X[J]; X[J]:=T END;

P.S. Сергей Плоткин

Как это у тебя в таблице 10х10 пять разных картинок, каждая по два раза? Впрочем, поправить нетрудно...

Ссылка на комментарий
Поделиться на другие сайты

Тролль

Как это у тебя в таблице 10х10 пять разных картинок, каждая по два раза? Впрочем, поправить нетрудно...

Сорри, сорри, сорри... :blink:

Да, это я, не подумав, написал. :blink: Разных картинок будет (I^2)/2, каждая по 2 раза... Все, в следующий раз буду внимательнее, чтобы не посылать по неверной дороге спрашивающих... :(

Ссылка на комментарий
Поделиться на другие сайты

Darhazer ну если тебе не сложно и можешь сделать, мне бы надо было на этой неделе. Картинок, ну чем больше тем лучше ну штук 25 где то и если будешь делать опиши в файле как все делал, если не сложно, а тоя ни хрена не понимаю. Ну вообще мне сделать надо на Delphi. Если сможешь сделай до конца этой недели.

Ссылка на комментарий
Поделиться на другие сайты

P.Daddy - нет проблем. Мне на Delphi легко сделать подобную игру :rolleyes: Только скажи мне - понимаешь английски, потому что мне будеть на много легче написать докуемнтацию по английски, но если нет - постараюсь написать на руски. А иначе - среда или четверг программа будеть готова ;) Я тебе PM отправлю, когда напишу ее

Ссылка на комментарий
Поделиться на другие сайты

P.Daddy

Держи. Сварганил тебе только что... Времени мало, нет желания делать абсолютно все за тебя, так что потренируйся с этим примером. Картинки использовать не стал, заменил их цифрами. Размер поля 6x6. Зато с подробными комментариями в коде. Вообщем, дерзай - разберешься. Там и запутаться-то в трех процедурах тяжело. :rolleyes: Ссылка вот:

http://www.halloweentheme.nm.ru/memory.zip

Darhazer

Не забывай, что у нас все-таки форум. Знаешь, бывает обидно, ищешь что-нибудь в поисковике. Находишь то, что тебе надо в каком-либо форуме. А там - бац - диалог:

- я тебе на е-мейл скину.

- ок.

Подумай, возможно твой исходник пригодится еще кому-нибудь кроме P.Daddy.

p.s. Как всегда у nm.ru - различные ограничения - если скачать средствами IE не удастся, то скачается FlashGet'ом.

Изменено пользователем Сергей Плоткин
Ссылка на комментарий
Поделиться на другие сайты

Спасибо Сергей Плоткин ща пример посмотрю. Darhazer ну ты мне на майл пришлешь pdaddy_pdaddy@mail.ru ну вообще если не сложно можешь сделать с комментариями по русски, а то я хотел конкретно углубиться в код программы, чтоб хоть что то начать понимать. Вообще пацаны я подумал если чо все исходники имеющиеся у кого нибудь по delphi, turbo pascal и с++ надо размещать на сайтах. А то бывает задают написать программу, ты ее по тетрадки пишешь, а всю основу теряешь, а потом и думаешь как показывать преподу.

Ссылка на комментарий
Поделиться на другие сайты

Darhazer

Ну как программа получилась, а то разобраться скорей охото.

Сергей Плоткин посмотрел программу поразбирался, только вот как файлы типа картинок засуннуть не получается.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте,

меня не било 10 дней, как можеть бит заметили. Да и программу соответсвена не било когда написать, да и многое осталось несделаное, но вибора не бил...

Прошу прощения

Ссылка на комментарий
Поделиться на другие сайты

P.Daddy

посмотрел программу поразбирался, только вот как файлы типа картинок засуннуть не получается.

Разбирайся. Идеи, алгоритм и исходник у тебя уже есть. Осталось только пошевелить извилинами и воспользоваться умением пользоваться кнопкой F1. Удачи.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Была тут както тема с сайтами где моно было найти исходники, но не нашол.

Тему создавать не стал, эта подойдет (думаю автор не обидетса). Итак надо исходники игры Шашки. Паскаль. И так чтоб по проще, никакой логики все возможные ходы кидались в масив а от туда выбирались рендомам. Не видел паскаля в глаза пол года, так что попрошу не в 3 тыс. строк а в 200-500 чтоб понял и смог обяснить преподу.

З.Ы. Благодарен за любую помощь.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...