|
literka R, w napisanym programie w C++
kamaemili78 - 16-12-2009 11:45
Mam problem z uruchomieniem tego programu i poprawnym jego działaniem. Otóż literka r ma być na zielonym tle oraz napisy początkowe, a nie wiem jak to zrobić. Nie potrafię ograniczyć dobrze zmniejszania - zwiększania i przesuwania tej literki (w prawo, w lewo, do góry i na dół).
Po odczytaniu tekstu powitalnego napis: ,,podaj znak'' powinien pojawić się w nowym oknie. Pilnie potrzebuję pomocy. Z góry dziękuję za zainteresowanie tym co zechcą udzielić mi porad i poprawić błędy. #include<conio.h> #include<fstream.h> #include<dos.h> #include<tform1.h> void main()
{ //definicja funkcji int xm=20,xM=60,ym=4,yM=22, zm=20,zM=40,am=15,aM=41, XMin=1,XMax=78,YMin=2,YMax=24,i,j; char c,cc,znak;
clrscr(); void _fastcall TForm1::Button1Click(TObject*Sender)
{ Canvas->Brush->Color=clGreen; } gotoxy(23,5);cout<<"Witam Pana.Przedstawiam literke R."; gotoxy(33,15);cout<<"Literka R"; gotoxy(45,25);cout<<"Emilia Windorpska"; gotoxy(45,27);cout<<"Informatyka IIIa projekt";
getch();
cout<<"podaj znak ->";znak=getch(); //wyswietlanie znaku
_setcursortype(0); //wylaczanie kursora do{
clrscr(); //czyszczenie ekranu
for(i=yM;i<=zM;i++) //lewa noga { gotoxy(zm,i);cout<<znak;}
for(i=yM; i<=aM; i++) //linia ukosna drugiej nogi {gotoxy(am+i,i); cout<<znak;}
for(i=xm;i<=xM;i++) //linie poziome {gotoxy(i,ym);cout<<znak; gotoxy(i,yM);cout<<znak;}
for(i=ym;i<=yM;i++) //linie pionowe {gotoxy(xm,i);cout<<znak; gotoxy(xM,i);cout<<znak;}
c=getch(); //zwiekszanie i zmniejszanie switch(c) {case'+':ym--;xm-=2;yM++;xM+=2;am--;zM+=4; break;
case'-':ym++;xm+=2;ym++;yM--;xM-=2;zM-=4;am++; break;
case 0:cc=getch(); //przesuwanie switch(cc)
{case 75: xm--;xM--;zm--;zM--;break; //w lewo case 72: ym--;yM--;am--;aM--;break; //w gore case 80: ym++;yM++;am++;aM++;break; //w dol case 77: xm++;xM++;zm++;zM++;break; //w prawo }
if(c=='+'||c=='-'){ //||-lub
if(xm<XMin||ym<YMin||xM>XMax||yM>YMax) //OGRANICZANIE w gore dol {ym++;xm+=2; yM--;xM-=2;zm++;}
if(xm>xM-2||ym>yM-2) //ograniczenie na boki {ym--;xm-=2;zm--;yM++;xM+=2;}
}
if(c==0)
{if(xm<XMin){xm++;xM++;am++;aM++;} //lewo if(ym<YMin){ym++;yM++;zm++;zM++;} //do gory if(xM>XMax) {xm--;xM--;am--;aM--;} //na prawo if(yM>YMax){ym--;yM--;zm--;zM--;} //w dol
}
} }while(c!=27); }
giaur - 17-12-2009 23:01
Chłopcze, a może chociaż zadasz sobie minimum trudu i poczytasz o tym jak się programuje gui w Borlandzie? Ten kod jest tak bezsensowny że nie ma tu co poprawiać - wez dowolny tutorial do C++ Buildera a dowiesz się jak się wziąć za to zadanie
Co tu w ogóle robią odwołania do metod komponentów VCL skoro piszesz aplikację konsolową?
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|