Автор: Пользователь скрыл имя, 18 Октября 2011 в 21:04, курсовая работа
Целью данного проекта является создание абстрактной версии настольного тенниса. Эта программа предназначена для отдыха, расслабления и хорошего времяпровождения. Данная работа отражает процесс разработки программного продукта и состоит из пяти разделов, содержащих необходимую и достаточную информацию по организации и эксплуатации программного приложения.
hdcMem1 = CreateCompatibleDC(hdc);
hbmMem1 = CreateCompatibleBitmap(hdc, rect.right, rect.bottom);
hOld1 = SelectObject(hdcMem1, hbmMem1);
static int i,j;
LoadSkin(hdcMem, "Поле.bmp",0,0,SRCCOPY);
LoadSkin(hdcMem1, "Поле.bmp",0,0,SRCCOPY);
case WM_MOUSEMOVE :
brdx = LOWORD (lParam);
return 0;
case WM_TIMER :
hdc = GetDC (hwnd) ;
SelectObject(hdcMem,
SelectObject(hdcMem,
Rectangle(hdcMem,ball.xold,
LoadSkin(hdcMem, "Поле.bmp",0,0,SRCCOPY);
BitBlt(hdcMem,ball.xold,ball.
NewBrush = CreateSolidBrush(RGB(255, 255, 0));
SelectObject(hdcMem, NewBrush);
Ellipse(hdcMem,ball.x,ball.y,
ball.xold = ball.x;
ball.yold = ball.y;
ball.x+=ball.spx;
ball.y+=ball.spy;
srand(time(NULL));
brdxC = ball.x+40-rand()%170;
LoadSkin(hdcMem, "Ракетка.bmp",brdxC,0,SRCCOPY)
LoadSkin(hdcMem, "Ракетка.bmp",brdx,rect.
GetClientRect (hwnd, &rect) ;
if ((ball.y+ball.spy+ball.d>=
{
ball.spx = ((ball.x+ball.d/2-brdx-75)/10)
ball.spy*=-1;
ball.y = rect.bottom-21-ball.d;
};
if ((ball.y+ball.spy<=20)&&(ball.
{
ball.spx = ((ball.x+ball.d/2-brdxC-75)/
ball.spy*=-1;
ball.y = 21;
};
if ((ball.x+ball.d+ball.spx>rect.
{
ball.spx*=-1;
}
if (ball.y+ball.spy<rect.top)
{
++n;
int i,j;
char b[3];
char s[11]="Счёт";
itoa(k,b,10);
s[4] = ' ';
for(i=5,j=0;i<7,j<2;i++,j++)
s[i]=b[j];
s[6] = ' ';
s[7]=':';
s[8] = ' ';
itoa(n,b,10);
for(i=8,j=0;i<10,j<2;i++,j++)
s[i]=b[j];
s[10]='\0';
SetWindowText(hwnd,s);
ball.x = 100;
ball.y = 100;
ball.spx=3;
ball.spy=3;
if(n>=5)
{
KillTimer(hwnd,TIMER_);
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteObject(hbmMem1);
DeleteDC (hdcMem);
DeleteDC (hdcMem1);
MessageBox(hwnd,"ВЫ ВЫИГРАЛИ","ВЫ ВЫИГРАЛИ",NULL);
DestroyWindow(hwnd);
return 0;
}
}
if (ball.y+ball.d>=rect.bottom)
k++;
int i,j;
char b[3];
char s[11]="Счёт";
itoa(k,b,10);
s[4] = ' ';
for(i=5,j=0;i<7,j<2;i++,j++)
s[i]=b[j];
s[6] = ' ';
s[7]=':';
s[8] = ' ';
itoa(n,b,10);
for(i=8,j=0;i<10,j<2;i++,j++)
s[i]=b[j];
s[10]='\0';
SetWindowText(hwnd,s);
ball.x = 100;
ball.y = 100;
if(k>=5)
{
KillTimer(hwnd,TIMER_);
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteObject(hbmMem1);
DeleteDC (hdcMem);
DeleteDC (hdcMem1);
MessageBox(hwnd,"ВЫ
ПРОИГРАЛИ","ВЫ ПРОИГРАЛИ",
DestroyWindow(hwnd);
return 0;
}
}
BitBlt(hdc, 0,0, rect.right, rect.bottom, hdcMem, 0, 0, SRCCOPY);
DeleteDC (hdc);
return 0;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY :
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteObject(hbmMem1);
DeleteDC (hdcMem);
DeleteDC (hdcMem1);
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
Приложение Б
Диаграмма
деятельности
Приложение В
Диаграмма
вариантов использования
Информация о работе Компьютерная реализация настольного тенниса