|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2013, 18:40 | #1 |
Регистрация: 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); } |
31.05.2013, 18:56 | #2 |
Регистрация: 29.05.2013
Сообщений: 3
|
Как закрыть тему или удалить сообщение?
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с программой. Си | 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 |