در ادامه سرس کد برنامه ساعت عقربه دار گرافیکی در محیط کنسول رو می بینید. این برنامه در محیط turbo c++ و به زبان سی نوشته شده است. نخست ساعت سیستم را می گیرد ، خودکار تنظیم می شود و شروع به کار کردن می کند شبیه به یک screen saver در ویندوز. این پروژه هم یکی دیگر از برنامه های من هست که امید وارم بدردتون بخوره...
:Source Code Of Visual Clock Program in C Languege
/*programmer mansoor behzadi
from iran,fars,firoozabad
1386
*/
#include
#include
#include
#include
#include
#include
int main(void)
{
struct dostime_t tt;
int gdriver = DETECT, gmode, errorcode; //initgraph
int i,s=1,d=0,t=0,j,k,g=20,tool=200,ascii=0;
float p=3.14159265;
float f;
f=p/30;
p/=6;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");//////////////////////////////////////*
for(i=0;i<60;i++)
putpixel(getmaxx()/2+((tool+1)*cos(f*i)),getmaxy()/2+((tool+4)*sin(f*i)),3);
for(i=0;i<12;i++)
outtextxy(getmaxx()/2+((tool+5)*cos(p*i))-5,getmaxy()/2+((tool+4)*sin(p*i))-5,"*");
_dos_gettime(&tt); ///////////////////////////timecomputer
s=tt.hour;
d=tt.minute;
t=tt.second;
if (s>12)
s-=12;
printf("\nProgrammer:Mansoor Behzadi\nsrc:www.behzadim.ir\nX for exit");
///////////tanzim
s-=4;////////////
d-=15;///////////
t-=15;///////////
/////////////////
k=s;
while(ascii!=120)
{
k++;
for(j=-15;j<45;j++)
{
for(i=-15;i<45;i++)
{
///////baraye tanzim daghighe va sanie
if(g>5)
{
i=t;
j=d;
}////////////////////////////////////
setcolor(3);//////rasm saat
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+((tool/2)*cos(p*(k))),getmaxy()/2+((tool/2)*sin(p*(k))));
setcolor(0);
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+((tool/2)*cos(p*(k-1))),getmaxy()/2+((tool/2)*sin(p*(k-1))) );
//////////////////rasm daghighe
setcolor(2);
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+(tool*cos((f*(j)))),getmaxy()/2+(tool*sin((f*(j)))));
setcolor(0);
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+(tool*cos((f*(j-1)))),getmaxy()/2+(tool*sin((f*(j-1)))) );
/////////////////rasm sanie
setcolor(12);
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+(tool*cos((f*(i)))),getmaxy()/2+(tool*sin((f*(i)))));
setcolor(0);
line(getmaxx()/2,getmaxy()/2,getmaxx()/2+(tool*cos((f*(i-1)))),getmaxy()/2+(tool*sin((f*(i-1)))) );
///////////////////////////rasm dayereye markazi
setfillstyle(1,1);
fillellipse(getmaxx()/2,getmaxy()/2,5,5);///////
delay(1000);
///////////////////////////////taeen khorooj
if(kbhit())
{
ascii=getch();
if(ascii==120)
{
i=45;
j=45;
}
}////////////////////////////////////////////
g=0;
}
}
}
getch();
closegraph();
return 0;
}
در ادامه Source Code بازی راکت یا همان پینگ پنگ رو می تونوانید مشاهده کنید (به زبان C). این یک بازی یک نفره است که طرف مقابل بازیکن رایانه است. این بازی سه مرحله ای است که شما با دستکاری سرس کد این بازی می توانید آن را افزایش دهید.
محیط برنامه نویسی این بازی Turbo C++ Ide است.
این بازی رو برای ارایه به استاد سال 86 نوشتم امیدوارم بدردتون بخوره...:
:source code ping pong game in c
/*programmer mansoor behzadi
from iran,fars,firoozabad
in 1387*/
#include
#include
#include
#include
#include
#include
static int xkadr=180,ykadr=10,wkadr=550,hkadr=450,rkadr=1,jtoop=1,stoop=45,rtoop=7,xtoop=250,ytoop=20,rraket=12,wraket=100,hraket=5,xraketp=220,xraketc=250,ascii=100;
static float level=1.4,timep=1;
//////////////////////////////////////////////////////////////////////////
void raketc()
{
rectangle(xraketc,ykadr+2,xraketc+wraket,ykadr+2+hraket);
}
//////////////////////////////////////////////////////////////////////////
void m()
{
int i,h,x=300,y=255,ascii,rg[5];
static int chek=0;
int xe=610,ye=1,we=20,he=20,xg=470,yg=430,wg=150,hg=30;
if(chek==0)
{
setcolor(1);
rectangle(0,0,getmaxx(),getmaxy());
rectangle(0,0,getmaxx(),25);
setfillstyle(1,1);
floodfill(1,1,1);
setcolor(WHITE);
outtextxy(5,5,"BehzadiM.ir");
setcolor(WHITE);
setbkcolor(8);
rectangle(xe,ye,xe+we,ye+he);
setfillstyle(1,12);
floodfill(xe+1,ye+1,WHITE);
settextstyle(3,0,3);
outtextxy(xe+5,ye-6,"X");
setfillstyle(1,8);
bar(xg,yg,xg+wg,yg+hg);
rectangle(xg,yg,xg+wg,yg+hg);
settextstyle(3,0,2);
outtextxy(xg+4,yg-6," go to game");
settextstyle(2,0,5);
outtextxy(120,445,"unshow sea this form again?");
rectangle(105,450,115,460);
rg[0]=getpixel(x,y);
rg[1]=getpixel(x+5,y);
rg[2]=getpixel(x,y-5);
rg[3]=getpixel(x-5,y);
rg[4]=getpixel(x,y+5);
putpixel(x,y,12);
putpixel(x+5,y,12);
putpixel(x,y-5,12);
putpixel(x-5,y,12);
putpixel(x,y+5,12);
settextstyle(1,0,1);
outtextxy(10,100,"you can move the pointer whid right,top,left and down buttons!");
settextstyle(1,0,8);
setcolor(11);
outtextxy(100,200,"BehzadiM.ir");
while(ascii!=97)
{
if (kbhit())
{
ascii=getch();
if(ascii==75||ascii==80||ascii==72||ascii==77)
{
putpixel(x,y,rg[0]);
putpixel(x+5,y,rg[1]);
putpixel(x,y-5,rg[2]);
putpixel(x-5,y,rg[3]);
putpixel(x,y+5,rg[4]);
if(ascii==75)
x-=10;
if(ascii==72)
y-=10;
if(ascii==77)
x+=10;
if(ascii==80)
y+=10;
rg[0]=getpixel(x,y);
rg[1]=getpixel(x+5,y);
rg[2]=getpixel(x,y-5);
rg[3]=getpixel(x-5,y);
rg[4]=getpixel(x,y+5);
putpixel(x,y,12);
putpixel(x+5,y,12);
putpixel(x,y-5,12);
putpixel(x-5,y,12);
putpixel(x,y+5,12);
}
if(ascii==13&&x>xe&&x
exit(1);
if(ascii==13&&x>xg&&x
ascii=97;
if(x>xg+5&&x
{
setfillstyle(1,2);
bar(xg,yg,xg+wg,yg+hg);
setcolor(WHITE);
rectangle(xg,yg,xg+wg,yg+hg);
settextstyle(3,0,2);
outtextxy(xg+4,yg-6," go to game");
}
else
{
if(getpixel(xg+1,yg+1)==2)
{
setfillstyle(1,8);
bar(xg,yg,xg+wg,yg+hg);
setcolor(WHITE);
rectangle(xg,yg,xg+wg,yg+hg);
settextstyle(3,0,2);
outtextxy(xg+4,yg-6," go to game");
}
}
if(x>106,x<114&&y<459&&y>451&&ascii==13)
{
if(chek==0)
{
setcolor(3);
circle(110,455,2);
chek=1;
}
else
{
setcolor(8);
circle(110,455,2);
chek=0;
}
}
}
}
}
clrscr();
setbkcolor(8);
setfillstyle(1,8);
floodfill(1,1,WHITE);
gotoxy(75,1);
printf("[%c]\nleval=%1.0f",'X',level);
gotoxy(30,10);
printf("<*help*>\n");
printf(" press <- for go raket to left in game\n");
printf(" press -> for go raket to right in game\n");
printf(" press x for Exit any time\n");
printf(" press any keys for startgame now!");
gotoxy(1,30);
printf(" Programer: Mansoor Behzadi from Iran(perisa) 1387");
ascii=getch();
if(ascii==120)
exit(0);
}
//////////////////////////////////////////////////////////////////////
void toop()
{
static int r=10;
setfillstyle(1,rkadr);
fillellipse(xtoop,ytoop,r,r);
if (jtoop==1)
{
xtoop+=5;
ytoop+=5;
if((ytoop>(hkadr-r-8-hraket))&&(xtoop>xraketp)&&(xtoop
jtoop=2;
else
if(ytoop>(hkadr-r-1))
{
timep=0;
jtoop=5;
}
if(xtoop>(wkadr-r-1))
jtoop=4;
}
if (jtoop==2)
{
if( (ytoop<(hkadr/2)) && (xtoop<(wkadr-wraket/2)) && (xtoop>(xkadr+wraket)) )
xraketc=xtoop-wraket/2;
xtoop+=5;
ytoop-=5;
if(ytoop
jtoop=1;
if(xtoop>(wkadr-r-1))
jtoop=3;
}
if (jtoop==3)
{
if((ytoop<(hkadr/2))&&(xtoop
xraketc=xtoop-wraket/2;
xtoop-=5;
ytoop-=5;
if(ytoop<(ykadr+r+1))
jtoop=4;
if(xtoop<(xkadr+r+6+hraket))
jtoop=2;
}
if (jtoop==4)
{
xtoop-=5;
ytoop+=5;
if(ytoop>(hkadr-r-8-hraket)&&(xtoop>xraketp)&&(xtoop
jtoop=3;
else
if(ytoop>(hkadr-r-1))
{
timep=0;
jtoop=5;
}
if((xtoop
jtoop=1;
}
if(jtoop==5)
{
setcolor(rkadr);
circle(xtoop,ytoop,r);
}
if(timep!=0)
{
setfillstyle(1,rtoop);
fillellipse(xtoop,ytoop,r,r);
}
setcolor(rraket);
raketc();
}
//////////////////////////////////////////////////////////////////////////
void raket(int ascii)
{
int yraketp;
setcolor(rkadr);
yraketp=(hkadr-hraket-1);
rectangle(xraketp,yraketp,xraketp+wraket,yraketp+hraket);
if((ascii==75)&&(xraketp>=(xkadr)))
xraketp-=60-stoop;
if(xraketp
xraketp=xkadr+2;
if((ascii==77)&&(xraketp<=((wkadr-wraket)-(50-stoop)-2)))
xraketp+=60-stoop;
if(xraketp>(xkadr+wkadr-wraket))
xraketp=xkadr+wkadr-wraket-2;
setcolor(rraket);
rectangle(xraketp,yraketp,xraketp+wraket,yraketp+hraket);
}
void main()
{
if(level<6)
{
int driver = DETECT,mode,i;
initgraph(&driver,&mode,"c:\\tc\\bgi");
if((level<2)&&(level>1))
m();
else
{
textbackground(8);
clrscr();
setfillstyle(1,8);
floodfill(1,1,WHITE);
gotoxy(75,1);
printf("[%c]\nleval=%1.0f",'X',level);
gotoxy(1,30);
printf("Thichername is MrSoori (Mansoor Behzadi & Saeed Omidi) 1387");
}
setfillstyle(1,rkadr);
setcolor(WHITE);
rectangle(xkadr,ykadr,wkadr,hkadr);
floodfill(xkadr+1,ykadr+1,WHITE);
getch();
while(!(ascii==120))
{
if(timep==0)
timep=1;
raket(ascii);
while(!kbhit())
{
delay(stoop);
if(timep>0)
timep+=(float)stoop/1000;
if((int)timep>60)
{
settextstyle(1,0,2);
outtextxy(1,20,"You Win");
setcolor(5);
outtextxy(1,80,"press");
setcolor(12);
settextstyle(3,0,2);
outtextxy(1,100," b for cantinuo");
outtextxy(1,120," x for Exit");
while(!(ascii==120||ascii==98))
ascii=getch();
if(ascii==101)
exit(0);
else
if(ascii==98)
{
ytoop=100;
jtoop=1;
ascii=100;
timep=1;
stoop-=6;
level+=1.0;
main();
}
}
gotoxy(1,1);
printf("time=%0.2f",timep);
setcolor(rkadr);
raketc();
toop();
if (timep==0)
{
settextstyle(1,0,2);
outtextxy(1,20,"You Loss");
setcolor(5);
outtextxy(1,80,"press");
setcolor(12);
settextstyle(3,0,2);
outtextxy(1,100," b for Newgame");
outtextxy(1,120," x for Exit");
}
}
if(timep==0)
while(!(ascii==120||ascii==98))
ascii=getch();
else
ascii=getch();
if(timep==0)
{
if(ascii==101)
exit(0);
else
if(ascii==98)
{
level=1.5;
ytoop=100;
jtoop=1;
stoop=40;
ascii=100;
main();
}
}
}
closegraph();
}
else
{
clrscr();
gotoxy(10,10);
printf("end game and you is winner");
}
}