1 / 1 / 1
Регистрация: 15.07.2009
Сообщений: 33
1

Игра "Пятнашки"

11.10.2009, 18:57. Показов 6534. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот создал игру «Пятнашки»

И хочу доработать в игре следующее:

Пункты в главное меню, позволяющие:
* выполнять настройку игрового поля (3х2, 4х4, 5х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
procedure TForm1.FormCreate(Sender: TObject);
var
row,col:integer;
begin
d:=50;
for I := 0 to 15 do
begin
game[I]:=TButton.Create(pole);
game[I].Parent:=Form1;
game[I].Width:=d; game[I].Height:=d;
game[I].Font.style:=pole.Font.style;
game[I].Font.Size:=pole.Font.Size;
game[I].Caption:=inttostr(i);
col:=i mod 4;
row:=i div 4;
game[I].top:=d*row;
game[I].Left:=d*col;
game[I].OnClick:=GameClick;
end;
game[0].caption:='';
game[0].Visible:=false;
end;
 
Procedure Tform1.GameClick(Sender: TObject);
var
x0,y0,x,y,index:integer;
begin
for I := 0 to 15 do
if game[i].focused=true then index:=i;
x0:=game[0].left;
y0:=game[0].Top;
x:=game[index].left;
y:=game[index].top;
if (x0=x) and (abs(y-y0)=d) then 
Begin
game[0].left:=x; game[0].Top:=y;
game[index].left:=x0; game[index].top:=y0;
End;
if (y0=y) and (abs(x-x0)=d) then
Begin
game[0].left:=x; game[0].Top:=y;
game[index].left:=x0; game[index].top:=y0;
End;
end;
 
procedure TForm1.mnuNewGameClick(Sender: TObject);
begin
per.Enabled:=true;
randomize;
for v:=0 to 10 do
begin
row:=random(15)+1;
game[row].setFocus;
gameclick(game[row]);
end;
timer1.Interval:=100;
end;
 
procedure TForm1.perClick(Sender: TObject);
begin
randomize;
for v:=0 to 10 do
begin
row:=random(15)+1;
game[row].setFocus;
gameclick(game[row]);
end;
timer1.enabled:=true;
timer1.Interval:=100;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
a,d,i:integer;
begin
d:=50;
a:=0;
for I := 0 to 15 do
begin
col:=i mod 4;
row:=i div 4;
if (game[i].Top = d*row) and  (game[i].left=d*col) then  a:=a+1;
end;
if a=16 then
begin
timer1.interval:=0;
showmessage ('Вы выиграли!');
per.enabled:=false;
end;
end;
 
procedure TForm1.treeClick(Sender: TObject);
var
row,col:integer;
begin
d:=50;
for I := 0 to 15 do
begin
game[I]:=TButton.Create(pole);
game[I].Parent:=Form1;
game[I].Width:=d; game[I].Height:=d;
game[I].Font.style:=pole.Font.style;
game[I].Font.Size:=pole.Font.Size;
game[I].Caption:=inttostr(i);
col:=i mod 6;
row:=i div 6;
game[I].top:=d*row;
game[I].Left:=d*col;
game[I].OnClick:=GameClick;
end;
game[0].caption:='';
game[0].Visible:=false;
end;
Что в нём надо изменить или добавить, чтобы все эти доработки работатали?
===СРОЧНО НАДО!!!===
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2009, 18:57
Ответы с готовыми решениями:

игра Пятнашки
Здравствуйте!Подскажите пожалуйста как сделать игру 'Пятнашки' с помощью stringgrid.Заранее спасибо)

Игра Пятнашки
Создать Игру Пятнашки с полным функционалом. Пожалуйста рабочим файлом и основной код в архиве....

Игра пятнашки 3х3, оценочная функция
Пользователь вводит начальную матрицу 3Х3 и конечную, и программа с помощью оценочной функции...

Игра "Пятнашки"
Бессоница - злая тётка... На AlphaSkin игруха.

Пятнашки
Доброго времени суток! Помогите решить следующую задачу: Нужно написать программу наподобие игры...

5
Добрый самаритянин
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
11.10.2009, 22:32 2
Цитата Сообщение от yakimchukav Посмотреть сообщение
Вот создал игру «Пятнашки»
чтож раз ты создал,неможешь добавить пару дополнений??
0
1 / 1 / 1
Регистрация: 15.07.2009
Сообщений: 33
11.10.2009, 22:34  [ТС] 3
Да это ладно, я просто не могу разобраться как сделать настройку игрового поля (3х2, 4х4, 5х5)
0
Эксперт С++
3070 / 1408 / 425
Регистрация: 19.01.2009
Сообщений: 3,865
12.10.2009, 12:14 4
Цитата Сообщение от yakimchukav Посмотреть сообщение
чтобы все эти доработки работатали
хотя бы запостить весь проект, для начала : не понятно, что у тебя в глобальных переменных, и т.д. да и не очень понятно, что такое tree, per, судя по всему кнопки, но все может быть
0
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 93
01.04.2010, 12:22 5
привет, можешь прислать rar проекта??
0
6 / 6 / 0
Регистрация: 04.01.2010
Сообщений: 41
17.06.2010, 19:53 6
Вот еще такая статья есть :Пишем игру "Пятнашки"
Может кому нибудь сгодится
2
17.06.2010, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2010, 19:53
Помогаю со студенческими работами здесь

Пятнашки
Умоляю помогите сделать пятнашки на делфи , Разработка игровой программы «Пятнашки» Исходные...

Пятнашки)))
подскажите пожалуйста как это делается)))

Пятнашки
Вот у меня такой вопрос. На форме 15 кнопок, одну из них можно передвинуть. Как узнать что соседняя...

Пятнашки
Написать программу в Delphi 7 Всем известна игра "15". Вот ее правила. В прямоугольной коробочке...

Пятнашки в картинках
ЗДравствуйте, у меня есть игра пятнашки с кнопками, как переделать ее в игру с картинками?? То, что...

Задание Пятнашки
Лабораторная работа по динамическим компонентам. "Пятнашки" ( без отчета) Я не знаю, что это и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru