Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi Рисование изображения по таймеру Всем доброго времени суток, уважаемые форумчане. Имеется процедура обработки изображения в таймере //... TPngBtn = class(TCustomControl) private //... nr, em, dw, ov, ... По всей видимости срабатывает, но кода отрисовки там нет. https://www.cyberforum.ru/ delphi-multimedia/ thread686825.html Delphi Блочный шифр Здорова всем. Помогите пожалуйста реализовать блочный шифр TEA. Пример шифра здесь: http://rusfolder.com/33457396 но у меня он чего-то не работает (возможно кривые руки) Пароль для скачивания -... Приложите файл в тему. https://www.cyberforum.ru/ delphi-multimedia/ thread688896.html
Загрузка звука и изображения в Delphi Delphi
Добрый вечер! Хочу поинтересоваться, как загрузить на форму звук и изображение, чтобы после компиляции из папки их можно было бы удалить, а в экзешнике они бы работали. Тоесть, нужно сохранить... Загружаешь звуковой файл в ресурсный файл (res) и только тогда используешь указанный код с параметром SND_RESOURCE и ничего удалять не придётся. SND_RESOURCE и SND_LOOP это несколько разные...
Delphi Как воспроизвести wmv из res файла Доброго времени суток. Хотелось бы узнать можно ли воспроизводить wmv видео из res файла в Delphi? Если можно, то распишите как и куда, чего и зачем вставлять. Всем откликнувшимся заранее спасибо! В Дельфи, ставишь курсор на это слово, нажимаешь F1 и узнаёшь много нового. https://www.cyberforum.ru/ delphi-multimedia/ thread690511.html
Delphi Bass.dll: при добавлении нового файла предыдущий не воспроизводится Проблема такая,выбираю файл через opendialog он добавляется в listbox кликаю на него он воспроизводится,если добавить еще файл,прежний не воспроизведется. Как это решить? То есть перестает проигрываться или перестает выбираться для проигрывания? https://www.cyberforum.ru/ delphi-multimedia/ thread687002.html Вывод .stl 3д модели средствами OpenGL в Delphi Delphi
Долго курил форум но ничего не нашел по моему вопросу, решил сделать дома reprap 3д принтер .. с механикой и электроникой все понятно но вот с прогой есть некоторые моменты. Начал с изучения формата...
Delphi Светофор Дано предложение "Текст красного цвета". Нужно сделать так, что бы текст менял цвет и одновременно смещался вниз. Т.е. чтобы получился светофор. "Текст желтого цвета", затем "Текст зеленого цвета". А... Изволишь чтобы за тебя кто-то полностью программу написал ? https://www.cyberforum.ru/ delphi-multimedia/ thread685022.html Delphi TVideoGrabber и IP камеры https://www.cyberforum.ru/ delphi-multimedia/ thread691946.html
Помогите разобраться с примером от Datastead, где используется VideoGrabber в потоке (OpenURLorClipFromThread). Подключаюсь к IP камерам, получаю картинку, все Ок. Но вот пропадает связь с камерой,... Здесь можно скачать. Там есть примеры. http://www.datastead.com/products/tvideograbber/download.html
Видеоплеер с кадровым таймером? Delphi
добрый день! подскажите пожалуйста как создать плеер с возможностью покадрового отсчета, те при смене кадра выполнить действие! перерыл все плеера и инет но так ничего подходящего и не нашел.... добрый день! подскажите пожалуйста как создать плеер с возможностью покадрового отсчета, те при смене кадра выполнить действие! перерыл все плеера и инет но так ничего подходящего и не нашел....
Delphi Отпечаток пальца https://www.cyberforum.ru/ delphi-multimedia/ thread689884.html
Добрый день! Скажите пожалуйста, кто может помочь в написании курсовой работы! Цель, есть сканер, сканируем отпечатки пальцев. необходимо написать на делфи программу, которая сравнивала отпечатки... NEUROtechnology Fingerprint Verification SDK предоставляется бесплатно.
Delphi Как создать нескольких движущихся изображений из одного? https://www.cyberforum.ru/ delphi-multimedia/ thread691623.html
Доброго времени суток. Подскажите пожалуйста. Имеется изображение TImage. Как можно сделать, чтобы из центра формы по прямым "вылетали" копии изображения, и останавливались на рандомном расстоянии? TImage для этого слабо предназначен, удобнее TPaintBox. Хранить изображение в дополнительном битмапе и копировать по рандомным или расчитанным координатам.
Delphi Алгоритмы обработки сигналов
Уважаемые, программисты. Кто может поделиться алгоритмами обработки сигналов или опытом работы с ними:БПФ,ДПФ,выделение шума из сигнала,разложение на гармоники,спектр...? Хочу написать программу... SantilaS, на нашем сайте есть специальный раздел: Форум по электронике и бытовой технике. В этом разделе, например: Цифровая обработка сигналов. Можешь там копию своего вопроса опубликовать. Если там...
2 / 2 / 0
Регистрация: 27.12.2011
Сообщений: 30
0

Игра пятнашки - Delphi - Ответ 3670607

08.11.2012, 18:21. Показов 2523. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые форумчане помогите плиз с этой программой. Не пойму чего не хватает, или что то лишнее?
Выводит только пустые клетки 4*16.
PureBasic
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure ShowPole;
    procedure Mixer;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
  
 
{$R *.dfm}
 
 
 const
    H = 4;  W = 4;     //размер поля - 4х4
    CH = 64; CW = 64;  //размер клеток - 16х16
 
 var
    //правельное расположение фишек
    stp: array [1..H, 1..W] of byte =
    ((1, 2, 3, 4),
     (5, 6, 7, 8),
     (9,10,11,12),
     (13,14,15,0));
 
     //игровое поле
     pole: array[1..H, 1..W] of byte;
     ex,ey: integer;   //координаты пустой клетки
 
     //новая игра
   procedure NewGame;
   var
    i,j:integer;
   begin
   //исходные (правельное) положение
     for i:=0 to H+1 do
      for j:=0 to W+1 do
       pole[i,j] := stp[i,j];
     Form1.Mixer;    //перемещать фишки
     Form1.ShowPole; //отобразить поле
     end;
 
//проверка, расположены фишки в нужном порядке
Function Finish: boolean;
var
  row,col: integer;
  i: integer;
begin
  row :=1; col :=1;
  Finish := True;  //пусть фишки в нужном порядке
  for i:=1 to 15 do
  begin
    if pole [row,col] <> i then
    begin
     Finish:=False;
     break;
     end;
     if col < 4
      then inc(col)
       else begin
        col :=1;
        inc(row);
       end;
      end;
     end;
//перемещение фишки в соседнию пустую клетку
Procedure Move(cx,cy: integer);
// cx,cy - клетка, в которой игрок сделал щелчек
var
  r: integer; //выбор игрока
  begin
  //проверка возможен ли обмен
  if not ((abs(cx-ex) = 1) and (cy-ey = 0) or
          (abs(cy-ey) = 1) and (cx-ex = 0))
  then exit;
  //  Обен фишек
  Pole[ey,ex] := Pole[cy,cx];
  Pole[cy,cx] := 0;
  ex:=cx;
  ey:=cy;
  //отрисовать поле
  Form1.ShowPole;
  if Finish then
  begin
   r := MessageDlg('Миссия выполнена! =)'+ #13 + 'Replay?',mtInformation,[mbYes,mbNo],0);
   if r = mrNo then Form1.Close;
  end;
 end;
//клетка
 
 
 
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var
   cx,cy:integer;
begin
   cx := Trunc(X / CW) + 1;
   cy := Trunc(Y / CH) + 1;
   Move(cx,cy);
end;
//вывод игрового поля
Procedure TForm1.ShowPole;
var
   i,j,x,y: integer;
 begin
//сетка: вертикальные линии
  for i:= 1 to W - 1 do
   begin
     Canvas.MoveTo(i*CW,0);
     Canvas.LineTo(i*CW,ClientHeight);
   end;
//сетка: горизонтальные линии
  for i:=1 to H - 1 do
   begin
    Canvas.MoveTo(0,i*CH);
    Canvas.LineTo(ClientWidth,i*CH);
   end;
//содержимое клеток
  for i:= 1 to H do
   begin
    y:=(i-1)*CH + 15;
    for j:=1 to W do
     begin
      x:= (j-1)*CW+15;
    case Pole[i,j] of
      0:      Canvas.TextOut(x,y,'    ');
      1..9:   Canvas.TextOut(x,y,' '+ IntToStr (Pole[i,j])+ '  ');
      10..15: Canvas.TextOut(x,y,IntToSTR(Pole[i,j]));
     end;
    end;
   end;
  end;
 
// перемешивание фишек
Procedure TForm1.Mixer;
var
  x1,x2,y1,y2,d,i:integer;
  begin
    x1:=4;
    y1:=4;
    randomize;
    for i:= 1 to 150 do
     begin
      repeat
          x2:=x1;
          y2:=y1;
          d:=random(4)+1;
          case d of
             1: dec(x2);
             2: inc(x2);
             3: dec(y2);
             4: inc(y2);
          end;
       until (x2>=1) and (x2<=4) and (y2>=1) and (y2<=4);
//ОПРЕДЕЛЕНИЕ ФИШКИ ПЕРЕМЕЩЕНИЕ В ПУСТУЮ КЛЕТКУ
        Pole [y1,x1] := Pole[y2,x2];
        Pole [y2,x2] := 0;
        x1:=x2;
        y1:=y2;
      end;
     ex:= x1;
     ey:= y1;
    end;
 
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientWidth := CW * W;
  ClientHeight := CH * H;
  Canvas.Font.Name := 'Times New Roman';
  Canvas.Font.Size := 22;
end;
 
 
procedure TForm1.FormPaint(Sender: TObject);
begin
  Form1.ShowPole;
end;
 
end.


Вернуться к обсуждению:
Игра пятнашки Delphi
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2012, 18:21
Готовые ответы и решения:

Игра Пятнашки
Я не очень хорошо знаю Делфи, скопировал с методички код проги, запускаю выдает ошибку, помогите сделать. Вот сама методичка: ...

Пятнашки
Есть программа пятнашки, нужно что бы можно было менять размер поля. Сделала кнопки которые меняют константы, но что бы изменить форму,...

Пятнашки.
Доброго времени суток! Пишу игру Пятнашки (TPanel(поле 4х4), на Button реализовывается игровые &quot;фишки&quot;, которые надо...

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.11.2012, 18:21
Помогаю со студенческими работами здесь

Пятнашки с автоматическим решением)
Здравствуйте всем! Помогите написать программу &quot;Пятнашки&quot; в визуальном режиме. В интернете много аналогов, но мне нужна программа с...

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

Игра пятнашки
Нужно вместо кнопки новая игра,чтобы было число проделанных ходов,т.е. нажимаем на цифры считает ходы &lt;head&gt; &lt;meta...

Игра Пятнашки
program joc; uses crt; var a:arrayof integer; i,j,k,l,b:integer; function finish:boolean; var m,n,v:integer; q:boolean; ...

Игра в 15(пятнашки)
Всем доброго времени суток. Помогите, пожалуйста, реализовать алгоритм игры 15(пятнашки). Желательно, ещё псевдокод. Заранее,...

0
Новые блоги и статьи
Исследование байт-кода Python: подключаем дизассемблер
stackOverflow 19.02.2025
Многие знают, что Python - интерпретируемый язык, но мало кто задумывается о том, что происходит между написанием кода и его выполнением. На самом деле Python использует промежуточное представление. . .
Исследование байт-кода Python: компиляторы против интерпретаторов
stackOverflow 19.02.2025
Понимание байт-кода Python - основополагающий аспект для разработчиков, стремящихся глубже понять внутренние механизмы языка и оптимизировать производительность своих программ. Байт-код представляет. . .
Comprehensions в Python - что это такое?
stackOverflow 19.02.2025
Когда речь заходит о Python, одной из его самых красивых и мощных возможностей являются списковые включения или comprehensions. Это особые синтаксические конструкции, позволяющие создавать новые. . .
Python правда такой медленный? Развенчиваем миф о медлительности
stackOverflow 19.02.2025
Когда речь заходит о выборе языка программирования для нового проекта, вопрос производительности часто становится одним из ключевых факторов. Python, несмотря на свою популярность и простоту. . .
Динамические формы в Flask
stackOverflow 19.02.2025
Работа с веб-формами часто требует гибкости в отношении количества полей, которые пользователь может заполнить. Представьте ситуацию, когда вам нужно создать форму для ввода контактных данных, где у. . .
Обнаружение объектов в реальном времени на Raspberry Pi с OpenCV и Movidius NCS
stackOverflow 19.02.2025
Технология обнаружения объектов в реальном времени становится все более востребованной в различных областях - от систем безопасности до автономных транспортных средств. Особый интерес представляет. . .
где chromium хранит пароли и как их обнулить в пожарном варианте
jigi33 19.02.2025
Where is the chromium browser stores passwords for a sites где chromium-подобный браузер хранит пароли и как их обнулить в пожарном варианте (see screenshot)
howto get access to external internet resources with kinit
jigi33 19.02.2025
Решение проблемы с необходимостью доп. авторизации по Керберос для автоотработки аутентификации на прокси-сервер (see screenshot)
Отслеживание автомобилей и определение скорости с OpenCV и Python на Raspberry Pi
stackOverflow 19.02.2025
В этой статье мы рассмотрим создание системы отслеживания транспортных средств и определения их скорости с использованием компьютерного зрения и библиотеки OpenCV. Наше решение основано на принципе. . .
ENV (environments) valid paths in linux
jigi33 19.02.2025
Environments paths (see screenshot)
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru