![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Если напишу глупость или не в тот раздел не судите строго, а просто раскажите как надо!!!
--------- Язык-Delphi7 Помогите написать игру "Парные картинки" смысл игры - поле 6х6 замостить туда картинки, скрыть, при открытии 2х одинаковых они исчезают....желательно использовать StringGrid.....Если кто может или знает как нписать или видел где исходники отпишитесь пожалуйста!!! |
|
#2
|
|||
|
|||
|
Не использовать StringGrid вообще. Используй TPaintBox и на нем все отрисовывай. Нужный квадрат элементарно вычисляется по координатам клика в событии OnMouseUp. Ну и для хранения информации - соответсвующий массив.
|
|
#3
|
|||
|
|||
|
Извините, но без StringGrid не как нельзя обойтись он должен присутствовать по условию задачи...
|
|
#4
|
|||
|
|||
|
я вставил картинки но не могу сделать проверку на использование одной картинки более 2х раз...Помогите советом
|
|
#5
|
||||
|
||||
|
Заведите для каждого имиджа 3 состояния, Видимый,Невидимый,Выбраный
Код:
Type TCellImageState = (isVisible,isHiden,isMarked); 1. Если Скрытый то сменить состояние на Видимый 1.1. Если ему есть пара среди видимых, то сменить его и его пары состояние на Выбраный. 1.2. Если нет пары то сменить его и его пары состояние на Скрытый. 2. Ничего не делать с теми у которых состояние Выбраный. Наверное так. |
|
#6
|
|||
|
|||
|
Спасибо за идею, но как мне сделать чтоб картинки из массива токо 2 раза брались? Если мона код.Массив обыкновенные integer овский
|
|
#7
|
|||
|
|||
|
Заполнять массив "по умному". Не пытаться генерить номер картинки, а генерить ее положение. Допустим у нас есть массив 6х6. Сначала заполняем его нулями, картинки при этом нумеруются с 1. Теперь берем и генерируем расположение картинки в массиве. Если место уже занято (в соотв. ячейке не 0), то просто сдвигаем по кругу. далее еще раз повторяем этот алгоритм для парной картинки. Далее переходим к картинке номер 2. Для примера - на одномерном массиве (на свой перепишешь сам) для массива из 4х элементов и 2х рактинок (т.е. всего картинок будет 4):
Код:
var
A : Array [1..4] Of Integer;
procedure Generate;
procedure GenPlace(No : Integer);
var
N, I : Integer;
begin
N := Random(4) + 1; // от 1 до 4;
If A[N] = 0
Then A[N] := No // место пустое
Else // место уже занято - начинаем сдвигать, пока не найдем пустое
Begin
I := N + 1;
While I <= 4 Do
Begin
If A[i] = 0
Then A[i] := No // место пустое
Else
Begin
Inc(I);
If I > 4 Then I := 1;
End;
End;
End;
end;
var
I : Integer;
begin
// сначала очищаем массив
For I := 1 To 4 Do A[i] := 0;
// Теперь поехали генерить места картинок.
// Внешний цикл - картинки. У нас их 2.
For I := 1 To 2 Do
Begin
GenPlace(I); // первая из пары
GenPlace(I); // вторая
End;
end;Как-то так. Код можно оптимизировать, то так более понятен алгоритм. |
|
#8
|
||||
|
||||
|
Люблю я форум. Небыло печали, так ведь завлекла меня эта добрая игруля, вот теперь сижу кодю. Спрашивается, а оно мне надо было? Так ведь нет, теперь самому интересно, что из этого получится.
|
|
#9
|
||||
|
||||
|
В общем кому интересно, вот что у меня получилось по данной теме.
http://depositfiles.com/files/l2hynod6o Исходники здесь:http://depositfiles.com/files/fy3iqk19g но за паролем, ко мне в личку. |
|
#10
|
|||
|
|||
|
Страдалецъ конечно молодец, что так оригинально реализовал игру, токо исходники у меня не пошли, заругались на модули ss, а когда их ликвидировал, то прога отказалась робить. Подскажите народ где мона скачать ети модули...а то очень хочется посмотреть как ЕТО всё робит....
|
|
#11
|
|||
|
|||
|
Ребят, пожалуйста, кто нибудь....
Мне нужна игра парные картинки У меня что-то не получается.... Я уже не знаю что делать=(((( Мне нужна игра парные картинки, чтобы пользователь сам вводил размер поля, чтобы игра шла на время и чтобы за откртытые картинки начислялись очки... помогите пожалуйста.... |