Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Flender
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7
1

Неизвестная мне ошибка

22.11.2011, 14:29. Просмотров 529. Ответов 5
Метки нет (Все метки)

Привет форумчане) возникает проблема при компилировании:
[IMG]http://i003.***********/1111/e3/e2e2a3c37c82.jpg[/IMG]
Потом,ссылается на "End;" вот в это место:


уже незнаю что думать и так и сяк пробовал))

вот полный код программы =>>>

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
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
unit Unit1 ;
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Math;
 
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormMouseDown(Sender: TObject;Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
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; // ГђГ*çìåð ïîëÿ -4x4
CH = 64;CW= 64; // ГђГ*çìåð êëåòîê -l6xl6
 
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;
// ÎáìåГ*. Ïåðåìåñòèì ГґГЁГёГЄГі ГЁГ§ x,y B ex,ey
Pole[ey,ex] := Pole[cy,cx]; Pole[cy,cx] := 0; ex:=cx; ey:=cy;
// OTpUCOBaTb nOJI
Form1.ShowPole; if Finish then begin
r := MessageDlg('Öåëü äîñòèãГ*ГіГІГ*!'+ #13+ 'Г…Г№ГҐ Г°Г*Г§?',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: integer; 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,y1: integer;
x2,y2: integer;
d: integer; 
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; NewGame;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.ShowPole;
end;
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 14:29
Ответы с готовыми решениями:

Неизвестная мне ошибка
Всем привет написал программу для смены обоев, все работает прекрасно но......

Неизвестная ошибка
Программа должна выводить данные в richedit и должна производить поиск по...

Неизвестная ошибка
procedure TForm1.Button1Click(Sender: TObject); var StringList : TStringList;...

Неизвестная ошибка
Собственно, сам код: unit Unit1; interface uses Windows, Messages,...

Неизвестная ошибка.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

5
digim0n
84 / 84 / 16
Регистрация: 11.11.2011
Сообщений: 259
22.11.2011, 14:53 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure NewGame;
var
i,j: integer;
begin
// Исходное (правильное) положение
for i:=0 to H+1 do begin for j:=0 to W+1 do
pole[i,j] := stp[i,j];
end;
Form1.Mixer; // Перемешать фишки
Form1.ShowPole; // Отобразить поле
end;
так попробуй...
0
Flender
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7
22.11.2011, 15:03  [ТС] 3
Цитата Сообщение от digim0n Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure NewGame;
var
i,j: integer;
begin
// Исходное (правильное) положение
for i:=0 to H+1 do begin for j:=0 to W+1 do
pole[i,j] := stp[i,j];
end;
Form1.Mixer; // Перемешать фишки
Form1.ShowPole; // Отобразить поле
end;
так попробуй...
Тоже самое
0
AndyZorg
Заблокирован
22.11.2011, 19:40 4
Перемешиваете методы класса и процедуры. В простых процедурах обращаетесь к методам класса.
Бардак одним словом. Ну и форматирование. Мне было бы стыдно такой код выкладывать на всеобщее обозрение.
0
Вложения
Тип файла: rar Game_15.rar (222.6 Кб, 8 просмотров)
Flender
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7
22.11.2011, 21:33  [ТС] 5
Цитата Сообщение от AndyZorg Посмотреть сообщение
Перемешиваете методы класса и процедуры. В простых процедурах обращаетесь к методам класса.
Бардак одним словом. Ну и форматирование. Мне было бы стыдно такой код выкладывать на всеобщее обозрение.
Спасибо большое. в А почему когда играешьполях остаются остатки прежнего числа числа?


п.с. Я - Новичок
0
AndyZorg
Заблокирован
22.11.2011, 22:04 6
Там где вы затираете цифру (case of 0 надо побольше пробелов поставить
0
22.11.2011, 22:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 22:04

Неизвестная ошибка
Что значит эта ошибка?

Учет товаров неизвестная ошибка
Всем привет программа должна выводить данные в richedit и осуществлять поиск по...

непонятная мне ошибка
есть проект.. поставил буттон.. событие онКлик хотел написать label написал...


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

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

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