Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 13.04.2018
Сообщений: 3
GraphABC

Нужно доделать курсовую работу по игре "Хождение по лабиринту"

16.04.2018, 05:35. Показов 1449. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В принципе лабиринт у меня готов, надо только сделать чтобы через стены лабиринта нельзя было проходить, ну и концовку, например когда прошел лабиринт будет вылазить надпись "Поздравляю, вы прошли игру!"

ВОТ КОД: Надо доделать стенки и концовку

Pascal
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
uses GraphABC;
 
const
  szw=40;      // размер лабиринта
  szh=30;
  cellsz=20;   // размер ячейки
 r=7; 
  d=10; 
type
  point=record
    x,y: integer;
  end;
 
var
  maze: array [0..szw-1] of array [0..szh-1] of integer;
  todo: array [0..szw*szh-1] of point;
  todonum: integer;
 x,y: integer; 
const
  dx: array [0..3] of integer=(0, 0, -1, 1);
  dy: array [0..3] of integer=(-1, 1, 0, 0);
 
procedure init;
var
  x,y,n,d: integer;
begin
  for x:=0 to szw-1 do
  for y:=0 to szh-1 do
    if (x=0) or (x=szw-1) or (y=0) or (y=szh-1) then
      maze[x][y]:=32
    else maze[x][y]:=63;
 
  Randomize;
  x := Random(szw-2)+1;
  y := Random(szh-2)+1;
 
// Пометить клетку как принадлежащую лабиринту
  maze[x][y]:= maze[x][y] and not 48;
 
// Занести в список todo все ближайшие необработанные клетки
  for d:=0 to 3 do
    if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
    begin
      todo[todonum].x:=x + dx[d];
      todo[todonum].y:=y + dy[d];
      Inc(todonum);
      maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
    end;
 
   // Пока не обработаны все клетки
   while todonum > 0 do
   begin
       // Выбрать из списка todo произвольную клетку
       n:= Random(todonum);
       x:= todo[n].x;
       y:= todo[n].y;
 
       // Удалить из списка обработанную клетку
       Dec(todonum);
       todo[n]:= todo[todonum];
 
       // Выбрать направление, которое ведет к лабиринту
       repeat
           d:=Random (4);
       until not ((maze[x + dx[d]][y + dy[d]] and 32) <> 0);
 
       // Присоединить выбранную клетку к лабиринту
       maze[x][y] := maze[x][y] and not ((1 shl d) or 32);
       maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not (1 shl (d xor 1));
 
       // Занести в список todo все ближайшие необработанные клетки
       for d:=0 to 3 do
           if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
           begin
             todo[todonum].x := x + dx[d];
             todo[todonum].y := y + dy[d];
             Inc(todonum);
             maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
           end;
   end;
 
   maze[1][1] := maze[1][1] and not 1;                 // начало лабиринта - в левом верхнем углу
   maze[szw-2][szh-2] := maze[szw-2][szh-2] and not 2; // конец лабиринта - в правом нижнем углу
end;
 
procedure Draw;
var x,y: integer;
begin
  for x:=1 to szw-2 do
  for y:=1 to szh-2 do
  begin
   if ((maze[x][y] and 1) <> 0) then // верхняя стена
       Line(x * cellsz, y * cellsz, x * cellsz + cellsz + 1, y * cellsz);
   if ((maze[x][y] and 2) <> 0) then // нижняя стена
       Line(x * cellsz, y * cellsz + cellsz, x * cellsz + cellsz + 1, y * cellsz + cellsz);
   if ((maze[x][y] and 4) <> 0) then // левая стена
       Line(x * cellsz, y * cellsz, x * cellsz, y * cellsz + cellsz + 1);
   if ((maze[x][y] and 8) <> 0) then // правая стена
       Line(x * cellsz + cellsz, y * cellsz, x * cellsz + cellsz, y * cellsz + cellsz + 1);
  end;
end;
procedure Show; 
begin 
    
    SetBrushColor(clred); 
  Ellipse(x-r,y-r,x+r,y+r); 
end; 
procedure Hide; 
begin 
  SetBrushColor(clwhite); 
  Ellipse(x-r,y-r,x+r,y+r); 
end;
procedure KeyDown(Key: integer); 
begin 
  hide; 
  case Key of 
   VK_Left: x:=x-d; 
   VK_Up: y:=y-d; 
   VK_Right: x:=x+d; 
   VK_Down: y:=y+d; 
  end; 
  Show 
end; 
procedure KeyPress(Ch: char); 
begin 
end; 
procedure iff;
begin
 
 
end;
 
begin
  SetWindowCaption('Генерация лабиринта');
  SetWindowSize(szw*cellsz,szh*cellsz);
  init;
  draw;
    x:=WindowWidth div 17; 
  y:=WindowHeight div 16; 
   
  SetPenColor(clWhite); 
   
  OnKeyDown:=KeyDown; 
  OnKeyPress:=KeyPress; 
 
  Show; 
  end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2018, 05:35
Ответы с готовыми решениями:

Создать игру в паскале "Хождение по лабиринту"
Мне нужна помощь в создании игры &quot;Хождение по лабиринту&quot; суть заключается в том чтобы пройти от одной точки лабиринта до другой точки, если...

Дали курсовую работу на тему RichTextBox, можете сказать,что именно нужно сделать
Сама тема-&quot;Разработка текстового редактора с возможностью форматирования и редактирования текста на основе компонента richTextBox1&quot; ...

Доделать курсовую!
Программа,открывающая заставку и программу вычисляющую интеграл. компилятор BORLAND C++ 3.1 #include &lt;iostream.h&gt; #include...

5
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
16.04.2018, 06:11
Pascal
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
uses GraphABC;
 
const
  szw = 40; // размер лабиринта
  szh = 30;
  cellsz = 20; // размер ячейки
  r = 7; 
  //d = 10;
 
type
  point = record
    x, y: integer;
  end;
 
var
  maze: array [0..szw - 1] of array [0..szh - 1] of integer;
  todo: array [0..szw * szh - 1] of point;
  todonum: integer;
  x, y: integer;
 
const
  dx: array [0..3] of integer = (0, 0, -1, 1);
  dy: array [0..3] of integer = (-1, 1, 0, 0);
 
procedure init;
var
  x, y, n, d: integer;
begin
  for x := 0 to szw - 1 do
    for y := 0 to szh - 1 do
      if (x = 0) or (x = szw - 1) or (y = 0) or (y = szh - 1) then
        maze[x][y] := 32
      else maze[x][y] := 63;
  
  Randomize;
  x := Random(szw - 2) + 1;
  y := Random(szh - 2) + 1;
  
  // Пометить клетку как принадлежащую лабиринту
  maze[x][y] := maze[x][y] and not 48;
  
  // Занести в список todo все ближайшие необработанные клетки
  for d := 0 to 3 do
    if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
    begin
      todo[todonum].x := x + dx[d];
      todo[todonum].y := y + dy[d];
      Inc(todonum);
      maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
    end;
  
  // Пока не обработаны все клетки
  while todonum > 0 do
  begin
    // Выбрать из списка todo произвольную клетку
    n := Random(todonum);
    x := todo[n].x;
    y := todo[n].y;
    
    // Удалить из списка обработанную клетку
    Dec(todonum);
    todo[n] := todo[todonum];
    
    // Выбрать направление, которое ведет к лабиринту
    repeat
      d := Random(4);
    until not ((maze[x + dx[d]][y + dy[d]] and 32) <> 0);
    
    // Присоединить выбранную клетку к лабиринту
    maze[x][y] := maze[x][y] and not ((1 shl d) or 32);
    maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not (1 shl (d xor 1));
    
    // Занести в список todo все ближайшие необработанные клетки
    for d := 0 to 3 do
      if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
      begin
        todo[todonum].x := x + dx[d];
        todo[todonum].y := y + dy[d];
        Inc(todonum);
        maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
      end;
  end;
  
  maze[1][1] := maze[1][1] and not 1; // начало лабиринта - в левом верхнем углу
  maze[szw - 2][szh - 2] := maze[szw - 2][szh - 2] and not 2; // конец лабиринта - в правом нижнем углу
end;
 
procedure Draw;
var
  x, y: integer;
begin
  for x := 1 to szw - 2 do
    for y := 1 to szh - 2 do
    begin
      if ((maze[x][y] and 1) <> 0) then // верхняя стена
        Line(x * cellsz, y * cellsz, x * cellsz + cellsz + 1, y * cellsz);
      if ((maze[x][y] and 2) <> 0) then // нижняя стена
        Line(x * cellsz, y * cellsz + cellsz, x * cellsz + cellsz + 1, y * cellsz + cellsz);
      if ((maze[x][y] and 4) <> 0) then // левая стена
        Line(x * cellsz, y * cellsz, x * cellsz, y * cellsz + cellsz + 1);
      if ((maze[x][y] and 8) <> 0) then // правая стена
        Line(x * cellsz + cellsz, y * cellsz, x * cellsz + cellsz, y * cellsz + cellsz + 1);
    end;
end;
 
procedure Show;
begin
  
  SetBrushColor(clred); 
  circle(x*cellsz + cellsz div 2, y*cellsz + cellsz div 2, r);
end;
 
procedure Hide;
begin
  SetBrushColor(clwhite); 
  circle(x*cellsz + cellsz div 2, y*cellsz + cellsz div 2, r);
end;
 
var theEnd := False;
 
procedure KeyDown(Key: integer);
begin
  if Not theEnd then
    begin
      hide; 
      case Key of 
        VK_Left : if (maze[x][y] and 4 = 0)and(x>1) then x -= 1;
        VK_Up   : if (maze[x][y] and 1 = 0)and(y>1) then y -= 1;
        VK_Right: if maze[x][y] and 8 = 0 then x += 1;
        VK_Down : if maze[x][y] and 2 = 0 then y += 1;
      end; 
      Show;
      theEnd := (x = szw-2) and (y = szh-2);
      if theEnd then
        begin
          Font.Color := clRed;
          Font.Size := 100;
          DrawTextCentered(Window.Center.X,Window.Center.Y,Window.Center.X,Window.Center.Y,'You WIN!');
          
        end;
    end;
end;
 
begin
  SetWindowCaption('Генерация лабиринта');
  SetWindowSize(szw * cellsz, szh * cellsz);
  init;
  draw;
  (x,y) := (1,1);
//  x := WindowWidth div 17; 
//  y := WindowHeight div 16; 
  
  
  SetPenColor(clWhite); 
  
  OnKeyDown := KeyDown; 
  
  Show; 
end.
0
0 / 0 / 0
Регистрация: 07.06.2024
Сообщений: 1
07.06.2024, 19:34
я добавил, что после 100-го хода ты проигрываешь, таймер не смог к сожаленью если кто сможет огромное спасибо(типо если не успел за минуту - проиграл). А так вот:
Pascal
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
uses GraphABC;
 
const
  szw = 40; // размер лабиринта
  szh = 30;
  cellsz = 20; // размер ячейки
  r = 7; 
  d = 10;
 
type
  point = record
    x, y: integer;
  end;
 
var
  maze: array [0..szw - 1] of array [0..szh - 1] of integer;
  todo: array [0..szw * szh - 1] of point;
  todonum: integer;
  x, y: integer;
 
const
  dx: array [0..3] of integer = (0, 0, -1, 1);
  dy: array [0..3] of integer = (-1, 1, 0, 0);
 
procedure init;
var
  x, y, n, d: integer;
begin
  for x := 0 to szw - 1 do
    for y := 0 to szh - 1 do
      if (x = 0) or (x = szw - 1) or (y = 0) or (y = szh - 1) then
        maze[x][y] := 32
      else maze[x][y] := 63;
  
  Randomize;
  x := Random(szw - 2) + 1;
  y := Random(szh - 2) + 1;
  
  // Пометить клетку как принадлежащую лабиринту
  maze[x][y] := maze[x][y] and not 48;
  
  // Занести в список todo все ближайшие необработанные клетки
  for d := 0 to 3 do
    if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
    begin
      todo[todonum].x := x + dx[d];
      todo[todonum].y := y + dy[d];
      Inc(todonum);
      maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
    end;
  
  // Пока не обработаны все клетки
  while todonum > 0 do
  begin
    // Выбрать из списка todo произвольную клетку
    n := Random(todonum);
    x := todo[n].x;
    y := todo[n].y;
    
    // Удалить из списка обработанную клетку
    Dec(todonum);
    todo[n] := todo[todonum];
    
    // Выбрать направление, которое ведет к лабиринту
    repeat
      d := Random(4);
    until not ((maze[x + dx[d]][y + dy[d]] and 32) <> 0);
    
    // Присоединить выбранную клетку к лабиринту
    maze[x][y] := maze[x][y] and not ((1 shl d) or 32);
    maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not (1 shl (d xor 1));
    
    // Занести в список todo все ближайшие необработанные клетки
    for d := 0 to 3 do
      if (maze[x + dx[d]][y + dy[d]] and 16) <> 0 then
      begin
        todo[todonum].x := x + dx[d];
        todo[todonum].y := y + dy[d];
        Inc(todonum);
        maze[x + dx[d]][y + dy[d]] := maze[x + dx[d]][y + dy[d]] and not 16;
      end;
  end;
  
  maze[1][1] := maze[1][1] and not 1; // начало лабиринта - в левом верхнем углу
  maze[szw - 2][szh - 2] := maze[szw - 2][szh - 2] and not 2; // конец лабиринта - в правом нижнем углу
end;
 
procedure Draw;
var
  x, y: integer;
begin
  for x := 1 to szw - 2 do
    for y := 1 to szh - 2 do
    begin
      if ((maze[x][y] and 1) <> 0) then // верхняя стена
        Line(x * cellsz, y * cellsz, x * cellsz + cellsz + 1, y * cellsz);
      if ((maze[x][y] and 2) <> 0) then // нижняя стена
        Line(x * cellsz, y * cellsz + cellsz, x * cellsz + cellsz + 1, y * cellsz + cellsz);
      if ((maze[x][y] and 4) <> 0) then // левая стена
        Line(x * cellsz, y * cellsz, x * cellsz, y * cellsz + cellsz + 1);
      if ((maze[x][y] and 8) <> 0) then // правая стена
        Line(x * cellsz + cellsz, y * cellsz, x * cellsz + cellsz, y * cellsz + cellsz + 1);
    end;
end;
 
procedure Show;
begin
  
  SetBrushColor(clred); 
  circle(x*cellsz + cellsz div 2, y*cellsz + cellsz div 2, r);
end;
 
procedure Hide;
begin
  SetBrushColor(clwhite); 
  circle(x*cellsz + cellsz div 2, y*cellsz + cellsz div 2, r);
end;
 
var theEnd := False;
 cnt:=0;
procedure KeyDown(Key: integer);
begin
  if Not theEnd then
    begin
      hide; 
      case Key of 
        VK_Left : if (maze[x][y] and 4 = 0)and(x>1) then 
        begin 
        x-=1;
        cnt+=1;
        end;
        VK_Up   : if (maze[x][y] and 1 = 0)and(y>1) then 
           begin 
        y-=1;
        cnt+=1;
        end;
        VK_Right: if maze[x][y] and 8 = 0 then 
           begin 
        x+=1;
        cnt+=1;
        end;
        VK_Down : if maze[x][y] and 2 = 0 then 
           begin 
        y+=1;
        cnt+=1;
        end;
      end; 
      Show;
      theEnd := (x = szw-2) and (y = szh-2);
      if theEnd then
        begin
          Font.Color := clRed;
          Font.Size := 100;
          DrawTextCentered(Window.Center.X,Window.Center.Y,Window.Center.X,Window.Center.Y,'You WIN!');
          end;
      if cnt=100 then
        begin
          Font.Color := clRed;
          Font.Size := 100;
          DrawTextCentered(Window.Center.X,Window.Center.Y,Window.Center.X,Window.Center.Y,'You LOSE!');
        end;
        end;
    end;
 
begin
  SetWindowCaption('Генерация лабиринта');
  SetWindowSize(szw * cellsz, szh * cellsz);
  init;
  draw;
  (x,y) := (1,1);
//  x := WindowWidth div 17; 
//  y := WindowHeight div 16; 
  
  
  SetPenColor(clWhite); 
  
  OnKeyDown := KeyDown; 
  
  Show; 
end.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
08.06.2024, 00:00
Почему бы в качестве таймера - не сделать в самом конце программы:
1. Sleep
2. отвязывание OnKeyDown (чтобы нельзя было продолжать двигаться)
3. вывод экрана проигрыша

Если хотите чтобы таймер показывал сколько осталось - можно это выводить циклом while true do в заголовок окна. В само окно в текущем состоянии не выйдет - рисовать надо в каком-то 1 месте. Или в KeyDown, или в основном begin-end. (опять же в while true do), иначе получится каша на экране.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
08.06.2024, 11:44
misa2011, во-первых, теме 6 лет! и ТС уже забыл о её существовании.
Во-вторых, а зачем здесь таймер?
Ну и в-третьих, размер лабиринта 30х40, т.е. если бы была просто комната без стен, то не её прохождение требуется 70 шагов, а значит не всегда будет достаточно 100 ходов.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
08.06.2024, 11:46
Необходимо 19 ходов, хотя „по прямой“ достаточно было бы семи ходов
Изображения
 
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2024, 11:46
Помогаю со студенческими работами здесь

Не могу доделать свой код, очень нужно его доделать
Здравствуйте, можете пожалуйста мне помочь с кодом, у меня тут сделано, так что при нажатии на объект он начинает уменьшаться и внутри него...

переделать курсовую работу
у меня есть курсовая работа готовая. мне надо переделать ее чтоб не была похожа на готовую, т.е. поменять блок-схемы, названия таблиц. ну и...

Решить курсовую работу
Ребят,все привет. Прошу у вас просто человеческой помощи!!! Не понимаю в этом абсолютно ничего,учусь в институте. Специальность связана с...

Тема на курсовую работу
Доброе время суток. Помогите выбрать тему на курсовую работу связанную с программированием, ПО, ОС. На курсовую нужно будет написать...

Тема на курсовую работу по ООП | С++
Здравствуйте, можете посоветовать темы для курсовой работы по ООП, что бы использовались инкапсуляция,наследование,полиморфизм. С...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru