Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2013, 18:40   #1
Ex1
 
Регистрация: 29.05.2013
Сообщений: 3
Сообщение Проблема с программой

Приветствую. Не знаю в чем проблема. Игра нарды на С++, когда запускаю ничего не отображается. Посмотрите пож.
Код HTML:
#include <iostream.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>

struct yacheyka
{int kol;
 int cvet;
 int x,y;
};

class nardi
{public :
 void doska();
 void shashka(yacheyka **z);
 int zariki();
};

void nardi::doska()
 {int j;
 setfillstyle(1,2);
 bar(185,49,453,451);
 setcolor(5);
 rectangle(185,49,453,451);
 rectangle(186,50,318,450);
 rectangle(320,50,452,450);
 line(319,50,319,451);
 for(j=0;j<=100;j=j+22) line(208+j,450,208+j,438);
 for(j=0;j<=100;j=j+22) line(342+j,450,342+j,438);
 for(j=0;j<=100;j=j+22) line(208+j,50,208+j,62);
 for(j=0;j<=100;j=j+22) line(342+j,50,342+j,62);
 setcolor(15);
 outtextxy(192, 460, "1  2  3 4  5  6  7  8  9 10 11 12");
 outtextxy(188, 40, "24 23 22");
 outtextxy(255, 40, "21 20 19");
 outtextxy(322, 40, "18 17 16");
 outtextxy(390, 40, "15 14 13");
 };

void nardi::shashka(yacheyka **z)
 {int x,y,i,j,k;
  for(i=1;i<25;i++) if(z[i]->kol>0)
   {k=z[i]->kol;
    for(j=1;j<k+1;j++)
     {x=z[i]->x;
      y=z[i]->y;
      if (i<13) y=y-((j-1)*22);
      if (i>12) y=y+((j-1)*22);
      setcolor(z[i]->cvet);
      circle(x,y,10);
     }
   }
 };

int nardi::zariki()
{int a;
 q:randomize();
 randomize();
 a=rand()%7;
 if(a==0)goto q;
  return a;
 }

class per:public nardi
{
public:
void xod(yacheyka **a,int n1,int n2);
void dw(yacheyka **w);
};

void per::xod(yacheyka **a,int n1,int n2)
 {int x,y,n3;
  if(n1+n2>24) n3=n1+n2-24;
    else n3=n1+n2;
  if((a[n1]->kol==0)^((a[n3]->cvet!=2)&(a[n3]->cvet!=a[n1]->cvet))) exit;
    else {
  a[n1]->kol=a[n1]->kol-1;
  a[n3]->kol=a[n3]->kol+1;
  a[n3]->cvet=a[n1]->cvet;
  if (a[n1]->kol==0) a[n1]->cvet=2;
  x=a[n1]->x;
  y=a[n1]->y;
  if ((n1<13)&(a[n1]->kol>0)) y=y-(a[n1]->kol*22);
  if ((n1>12)&(a[n1]->kol>0)) y=y+(a[n1]->kol*22);
  setcolor(2);
  circle(x,y,10);
  x=a[n3]->x;
  y=a[n3]->y;
  if ((n3<13)&(a[n3]->kol>0)) y=y-((a[n3]->kol-1)*22);
  if ((n3>12)&(a[n3]->kol>0)) y=y+((a[n3]->kol-1)*22);
  setcolor(a[n3]->cvet);
  circle(x,y,10);}
 };

void per::dw(yacheyka **w)
 {int c=0,zar_x,zar_y,n1,n2;
  while(c!=27)
  {c=getch();
    gotoxy(2,3);
    cout<<"vipovshee znacheniy \n";
    zar_x=zariki();
    w:zar_y=zariki();
    if (zar_x==zar_y) goto w;
    gotoxy(9,4);
    cout<<zar_x<<"  "<<zar_y;
   for(int i=1;i<3;i++)
   {cout<<"\n vvedite nomer \n";
    cin>>n1>>n2;
    xod(w,n1,n2);}
   clrscr();
   doska();
   shashka(w);
 }}
void main()
{int gdriver = DETECT , gmode, errorcode;
 initgraph(&gdriver, &gmode, "");
 int i,k1,k2,k,nom1,nom2,zar_x,zar_y;;
 yacheyka **ww=new yacheyka*[25];
 for(i=0; i<25; i++) ww[i]=new yacheyka;
 for (i=0;i<25;i++) {ww[i]->kol=0;
		             ww[i]->cvet=2;}
 k=0; k1=25;
 for(i=0;i<=250;i=i+22) {k++; k1--; if(k==7) i=i+2;
			          ww[k]->x=197+i;
     			          ww[k]->y=438;
			          ww[k1]->x=197+i;
			          ww[k1]->y=61;}
 nardi ob1;
 per ob2;
 ww[1]->kol=15;    ww[1]->cvet=0;
 ww[13]->kol=15;  ww[13]->cvet=15;
 ob1.doska();
 ob1.shashka(ww);
 ob2.dw(ww);
}
Ex1 вне форума Ответить с цитированием
Старый 31.05.2013, 18:56   #2
Ex1
 
Регистрация: 29.05.2013
Сообщений: 3
По умолчанию

Как закрыть тему или удалить сообщение?
Ex1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с программой. Си Chelovekpredel Помощь студентам 2 09.06.2012 17:51
Проблема с программой тузлук Помощь студентам 1 21.04.2011 16:05
Проблема с программой Aleks2215 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 26.10.2010 22:56
Проблема с программой. elDiablo Паскаль, Turbo Pascal, PascalABC.NET 2 17.08.2010 21:59
Проблема с программой DjSeNseI Win Api 2 12.07.2010 00:03