Форум программистов, компьютерный форум CyberForum.ru

Программа зависает - C++

Восстановить пароль Регистрация
 
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
03.06.2012, 13:28     Программа зависает #1
Делаю игру типа Pacman
я управляю им с помощю стрелок и по лабиринту произвольно двигается враг
через некоторое время программа зависает...
я не могу больше управлять пекменом и вообще ничего не двигается...
В чем проблема?
Переполняется буфер или утечка памяти?

Добавлено через 40 минут
может ето из-за таймера???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 13:28     Программа зависает
Посмотрите здесь:

C++ Почему программа зависает?:(
C++ Программа зависает
C++ зависает программа
Если условие if ложно , то программа зависает. C++
Зависает программа после ввода массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
03.06.2012, 13:37     Программа зависает #2
Ты код не выложил. Без кода судить о чем-либо трудно.
"Переполняется буфер", возможно. Проследи за всеми переменными, как они себя ведут. Может где-то зацикливание, неправильное условия выхода из цикла...
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
03.06.2012, 13:42  [ТС]     Программа зависает #3
возможно..
а код выложить не могу
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
03.06.2012, 13:48     Программа зависает #4
Как хочешь, тогда тебе помочь никто не сможет, кроме себя самого. В интернете много игр типа пакмена, так что твой код красть никто не собирается.
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
03.06.2012, 21:35  [ТС]     Программа зависает #5
вот WM_PAINT
C++
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
 
 case WM_PAINT:   
   {              
   hdc=BeginPaint(hwnd,&PaintStruct);
   GetClientRect(hwnd,&rect);
   hdcMem = CreateCompatibleDC(hdc);
   hbmMem = CreateCompatibleBitmap(hdc, wWidth, wHeight);
   hOld   = (HWND)SelectObject(hdcMem, hbmMem);
   PatBlt( hdcMem, 0, 0, wWidth, wHeight, WHITENESS );
      DrawMap(hdcMem,map);
   hBrush=CreateSolidBrush(RGB(255,255,0));
   SelectObject(hdcMem, hBrush);
   Ellipse(hdcMem,x-radius,y-radius,x+radius,y+radius);
   
   hBrush=CreateSolidBrush(RGB(255,0,0));
   SelectObject(hdcMem, hBrush);
   Ellipse(hdcMem,xv-radius,yv-radius,xv+radius,yv+radius);
      BitBlt(hdc, 0, 0, wWidth, wHeight, hdcMem, 0, 0, SRCCOPY);
       SelectObject(hdcMem, hOld);
   DeleteObject(hbmMem);
   DeleteObject(hBrush);
   DeleteDC  (hdcMem);
   DeleteDC  (hdc);
   EndPaint(hwnd, &PaintStruct);
   
   }
   break;
+
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
void DrawMap(HDC hdc,byte map[19][19])
{
 for (int i=0;i<19;i++)
 { 
  for (int j=0;j<19;j++)
  {
   if (map[i][j] == 1)
   {
    rect.left=i*40; 
    rect.top=j*40; 
    rect.right=i*40+40; 
    rect.bottom=j*40+40;
    hBrush=CreateSolidBrush(RGB(10,200,100));
    hBrushOld=(HBRUSH)SelectObject(hdc, hBrush);
    
    Rectangle(hdc,rect.left, rect.top, rect.right, rect.bottom);
       SelectObject(hdc, hBrushOld);
    DeleteObject(hBrush);
    DeleteObject(hBrushOld);
   }
  }
 }
}
а у меня еще используется GetPixel
ето может бить с етим связано???

Добавлено через 9 минут
много GetPixel-ов =)

Добавлено через 1 час 14 минут
чё никто не поможет??
Yandex
Объявления
03.06.2012, 21:35     Программа зависает
Ответ Создать тему
Опции темы

Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru