Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
07.03.2016
Размер:
1.36 Кб
Скачать
#include "Sharik.h"

void clField::Draw()
{
  draw_rectangle( X0, Y0, X0+W+1, Y0+H+1);                    
}
//--------------------------------------------
void clField::Put(int X, int Y, char A)
{
 if((X<1)||(X>W)||(Y<1)||(Y>H)) return;
 set_cursor_pos(X0+X,Y0+Y); 
 putch(A);
 set_cursor_pos(1,1); 
}
//====================================================================
//====================================================================
//====================================================================
void clSharik::Step()
{
 Hide();
 switch(d)
 {
  case ur:
	  if(X<W()) X++;
	  else { X--; d = ul;}
	  if(Y>1) Y--;
	  else { Y++; d = (d==ur?dr:dl);}
	  break;
  case dr:
	  if(X<W()) X++;
	  else {X--; d = dl;}
	  if(Y<H()) Y++;
	  else {Y--;  d = (d==dr?ur:ul);}
	  break;
  case dl:
	  if(X>1) X--;
	  else {X++; d = dr;}
	  if(Y<H()) Y++;
	  else {Y--; d = (d==dl?ul:ur);}
	  break;
  case ul:
	  if(X>1) X--;
	  else {X++; d = ur;}
	  if(Y>1) Y--;
	  else { Y++; d = (d==ul?dl:dr);}
	  break;
 }
 Show();
}
//--------------------------------------------------------
void clSharik::Hide()
{
 field->Put(X,Y,' ');
}
//--------------------------------------------------------
void clSharik::Show()
{
 field->Put(X,Y,A);
}
//--------------------------------------------------------
Соседние файлы в папке Псевдографика