Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Apatche
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 6
#1

Добавить уровни в игру "Память" - Delphi

18.10.2012, 20:53. Просмотров 868. Ответов 9
Метки нет (Все метки)

Привет! У меня возникла проблема с добавлением уровней в игру. Каким образом ето можно осуществить!?
Игра "Памьять" нужно искать среди чётного количества закрытых картинок две одинаковые.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 20:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Добавить уровни в игру "Память" (Delphi):

Добавить кнопку "Стоп", которая будет останавливать процесс построения "ковра" - Delphi
Здравствуйте! Есть вот такая задача: Procedure SerpKov(n:integer;A,B:MyPoint); var...

В "Compiler Options > Paths" добавить путь к "Other Unit Files" в Embarcadero - Delphi
собственно сабж, чет совсем разобраться немогу(

Если фамилия заканчивается на "ков", то добавить к фамилии окончание "ва" - Delphi
Если фамилия заканчивается на ков, то добавить к фамилии окончание ва. например: Шарков изменяется на Шаркова.

Из слов "Работа", "крест", "тон" составить фразу "Кто не работает, тот не ест" и определить ее длину - Delphi
Из слова "Работа","крест","тон" составить фразу:"Кто не работает, тот не ест" и определить ее длину.

На форме располагаются компоненты: редактор Edit; линейка ScrollBar; радионабор с опциями "Цветы", "Деревья", "Рыбы", "Звери" - Delphi
Доброго времени суток, 2 курс 2 семестр, пришли, препод раздал задачи, сказал качайте дома и вперед, что да как ни слова, вот собственно...

Добавить кнопки "Свернуть", "Закрыть" - Delphi
Здраствуйте. Требуется добавить кнопки "Закрыть" и "Свернуть" с нестандартной графикой. В BorderStyle выбрал bsNone, но теперь нужно...

9
angstrom
2470 / 1846 / 66
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
18.10.2012, 21:38 #2
Какие в этой игре могут быть уровни? Разве что увеличивать количество несовпадающих картинок, так что на максимальной сложности будет только по одной паре одинаковых.
1
Одиночка
3933 / 1858 / 89
Регистрация: 16.03.2012
Сообщений: 3,869
18.10.2012, 22:05 #3
А можно не по две картинки, а по три, четыре и больше выбирать на следующих уровнях. Правда в случае 3-х уже нужно будет не закрывать 2 одинаковых. Но это детали.
1
HanDi
892 / 339 / 8
Регистрация: 11.02.2012
Сообщений: 1,502
18.10.2012, 22:19 #4
Я помню раньше решал такую проблему, кроме как добавления времени на каждый уровень что-то было туго).

Тут еще все зависит от того, как у тебя она составлена. Исходя из кода уже будет ясно, что и как можно добавить.
1
Apatche
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 6
19.10.2012, 20:35  [ТС] #5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
procedure TForm1.FormCreate(Sender: TObject);
var
  np: integer;
begin
  Pictures := TBitmap.Create;
  Pictures.LoadFromFile('pictures.bmp');
 
  HK := Pictures.Height-1; 
  WK := HK;               
 
  np:= Round(Pictures.Width / WK);
  if np <= 15
    then H := 4
    else H :=5;
  W := Round(np*2/H);
 
  Form1.ClientHeight := H * HK;
  Form1.ClientWidth := W * WK;
 
 
  Form1.Timer1.Enabled := False;
  Form1.Timer1.Interval := 200;
 
  n := 0;
  NewGame;
end;
 
 
 
procedure TForm1.FormPaint(Sender: TObject);
begin
    ShowPole;
end;
 
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  col_: integer;   
  row_: integer;   
 
begin
  col_ := Trunc(X/WK) + 1;
  row_ := Trunc(Y/HK) + 1;
 
 
  if Pole[col_,row_] > 200 then
  exit;
 
  if count = 0 then
  begin
    count := 1;
    open1.col := col_;
    open1.row := row_;
    Pole[open1.col,open1.row] := Pole[open1.col,open1.row] + 100;
    Kletka(open1.col,open1.row);
    exit;
  end;
 
  if count = 1 then begin
    open2.col := col_;
    open2.row := row_;
 
    if (open1.col = open2.col) and (open1.row = open2.row)
       then exit
 
    else begin
      count := 2; 
      Pole[open2.col,open2.row] :=
           Pole[open2.col,open2.row] + 100;
      Kletka(open2.col,open2.row);
      if Pole[open1.col,open1.row] = Pole[open2.col,open2.row] then
    
        begin
          n := n+1;
          Form1.Timer1.Enabled := True;
         
         
        end;
    end;
    exit;
  end;
 
  if count = 2 then
  begin
 
    Pole[open1.col,open1.row] := Pole[open1.col,open1.row] - 100;
    Pole[open2.col,open2.row] := Pole[open2.col,open2.row] - 100;
    Kletka(open1.col,open1.row);
    Kletka(open2.col,open2.row);
 
    open1.col := col_;
    open1.row := row_;
    count := 1;  
 
    Pole[open1.col,open1.row] := Pole[open1.col,open1.row] + 100;
    Kletka(open1.col,open1.row);
  end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  // Гў Г¬Г*Г±Г±ГЁГўГҐ Pole êëåòêè ïîìå÷Г*ГѕГІГ±Гї ГЄГ*ГЄ ñîâïГ*ГўГёГЁГҐ
  Pole[open1.col,open1.row] := Pole[open1.col,open1.row] + 100;
  Pole[open2.col,open2.row] := Pole[open2.col,open2.row] + 100;
  count := 0;
 
  Kletka(open2.col,open2.row);
  Kletka(open1.col,open1.row);
 
  Form1.Timer1.Enabled := False;
 
  if n = Trunc(W*H/2)
  then
  begin
    Form1.Canvas.Font.Name := 'Times New Roman';
    Form1.Canvas.Font.Size := 36;
    Form1.Canvas.Font.Color := clBlack;
    Form1.Canvas.TextOut(70,160,'Game Over!');
    Form1.Canvas.Font.Size := 10;
  end;
end;
 
 
procedure TForm1.N1Click(Sender: TObject);
begin
    Canvas.Rectangle(0,0,ClientWidth,ClientHeight);
    NewGame;
end;
 
end.
Добавлено через 1 минуту
Вот текст программы. Напишите как добавить уровни в эту игру.

Добавлено через 2 минуты
Можете еще подсказать как по-другому можно написать эту игру!? Как то через кнопки...чтобы все было красочно так
0
angstrom
2470 / 1846 / 66
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
19.10.2012, 21:45 #6
Цитата Сообщение от Apatche Посмотреть сообщение
...чтобы все было красочно так
Можно так.
Возможно антивирусник будет "орать" на dll-ки, но это из-за их упаковки. Ничего криминального в них нет.
Захочешь, и исходный код скину.
1
Вложения
Тип файла: rar pairs2.rar (736.4 Кб, 34 просмотров)
Apatche
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 6
20.10.2012, 17:33  [ТС] #7
Оо..ето как раз то что мн надо)...Брось исходник пожалуйста...
0
angstrom
2470 / 1846 / 66
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
20.10.2012, 21:57 #8
Смотри, сам напросился.
1
Вложения
Тип файла: rar pair.rar (578.6 Кб, 37 просмотров)
angstrom
2470 / 1846 / 66
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
20.10.2012, 22:17 #9
Не все картинки вложил. Добавь в папку Image.
1
Вложения
Тип файла: rar image.rar (379.7 Кб, 18 просмотров)
Apatche
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 6
22.10.2012, 17:24  [ТС] #10
Спасибо большое.... Буду пробовать написать себе такую же))))Ты очень помог...
0
22.10.2012, 17:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2012, 17:24
Привет! Вот еще темы с ответами:

Задание: "Является ли последовательность строго монотонной". Добавить ответ "последовательность не монотонна" - Delphi
Но мне надо ещё что бы еще выводилось &quot;последовательность не монотонна&quot;. Помогите k:=0;// счетчик количества элементов уменьшающихся с...

Тысячные числа исправлять к примеру с "1200" на "1 200", "12000" на "12 000" и т.д - Delphi
Собственно числа исправлять к примеру с &quot;1200&quot; на &quot;1 200&quot;, &quot;12000&quot; на &quot;12 000&quot;, &quot;120000&quot; на &quot;120 000&quot; и т. д. Входные данные: String,...

Файл: Добавить в конец файла "Name1" содержимое файла "Name2" - Delphi
Даны два тестовых фаила с именами &quot;Name1&quot; и &quot;Name2&quot;. Добавить в конец фаила &quot;Name1&quot; содержимое фаила &quot;Name2&quot;. Заранее...

Разработать игру "морской бой" - создание двумерного массива - Delphi
передомной поставили задачу, разработать игру &quot;морской бой&quot;, запоролся я на массивах! нужно создать два двумернных массива, кто может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru