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

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

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

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

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

Пункты в главное меню, позволяющие:
* выполнять настройку игрового поля (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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2009, 18:57
Ответы с готовыми решениями:

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

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

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

5
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
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
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,890
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2010, 19:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Protobuf в Go и новый Opaque API
golander 15.03.2025
Распределенные системы опираются на эффективные протоколы обмена данными — о чем вы, скорее всего, прекрасно знаете, если работаете с микросервисной архитектурой. Protocol Buffers (Protobuf) от. . .
Преобразование строк в C++: std::from_chars от C++17 до C++26
NullReferenced 15.03.2025
Конвертация строк в числа — задача, с которой сталкивается практически каждый C++ разработчик. Несмотря на кажущуюся простоту, эта операция таит множество подводных камней и неочевидных последствий. . .
Управление памятью в Java и новые сборщики мусора
Javaican 15.03.2025
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора. . .
Angular или Svelte - что выбрать?
Reangularity 15.03.2025
Во фронтенд-разработке Angular и Svelte представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
Spring Cloud микросервисы: обнаружение и отслеживание
Javaican 15.03.2025
В разработке корпоративных приложений всё больше команд обращают внимание на микросервисную архитектуру. Но с этой архитектурой приходят и специфичные трудности: как сервисам находить друг друга в. . .
Запуск контейнера Docker в облаке
Mr. Docker 15.03.2025
Что такое Docker-контейнер? Если коротко — это легковесный, автономный пакет, содержащий всё необходимое для запуска приложения: код, зависимости, библиотеки и конфигурации. Когда мы говорим о. . .
Осваиваем Kubernetes: Подробная шпаргалка
Mr. Docker 15.03.2025
Kubernetes — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Он был создан для решения проблем, с которыми сталкиваются. . .
Лучшие PHP REST API фреймворки
Jason-Webb 15.03.2025
Современные PHP REST API фреймворки предлагают большой набор функциональности: от автоматической валидации данных и управления маршрутизацией до генерации документации и интеграции с различными. . .
Многопоточность в Java с Project Loom: виртуальные или обычные потоки
Javaican 15.03.2025
Многопоточность всегда была одноим из основных элементов в разработке современного программного обеспечения. Она позволяет приложениям обрабатывать несколько задач одновременно, что критично для. . .
Что нового в Swift 6 и особенности миграции
mobDevWorks 15.03.2025
Swift 6 — это новый крупный релиз языка программирования от Apple, анонсированный на WWDC 2024. Если вы следили за эволюцией Swift, то наверняка заметили, что многие значимые возможности, которые. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru