Repository navigation
Egg eater2
#include <graphics.h> #include <stdlib.h> #include <dos.h> #include <conio.h> #include<iostream.h> #include<stdio.h> void main() { int gdriver = DETECT, gmode; int userfont; int i,midx=0, midy=0,x=40,score=0,remaining=3,speed,move,flag; char c,temp[5]; void show(int score,int remaining); randomize(); initgraph(&gdriver, &gmode, ""); settextstyle(4,0,4); ellipse(10,15,0,360,10,15); setfillstyle(SOLID_FILL,WHITE); floodfill(10,15,WHITE); unsigned size_egg=imagesize(0,0,20,30); void *egg; egg=malloc(size_egg); getimage(0,0,20,30,egg); cleardevice(); setcolor(BROWN); arc(x, 0,180 /stangle/,360 /endangle/,40 /radius/); arc(x, 1,180 /stangle/,360 /endangle/,39 /radius/); arc(x, 2,180 /stangle/,360 /endangle/,38 /radius/); arc(x, 3,180 /stangle/,360 /endangle/,37 /radius/); arc(x, 4,180 /stangle/,360 /endangle/,36 /radius/); arc(x, 5,180 /stangle/,360 /endangle/,35 /radius/); arc(x, 6,180 /stangle/,360 /endangle/,34 /radius/); setcolor(BROWN); line(x-34,10,x+34,10); setfillstyle(SOLID_FILL,YELLOW); floodfill(x,12,BROWN); unsigned size_bucket=imagesize(0,0,80,40); void *bucket; bucket=malloc(size_bucket); getimage(0,0,80,40,bucket); start:midx=0, midy=0,x=40,score=0,remaining=3,speed=5,move=5; cleardevice(); setcolor(YELLOW); settextstyle(0,0,2);
while(1)
{
putimage(x,getmaxy()-40,bucket,1/*XOR_PUT*/);
if(remaining==0)
break;
midy+=1;
if(midy>getmaxy()-40)
{
midy=80;
midx=random(getmaxx()-40);
if(flag!=1)
{
remaining--;
cleardevice();
putimage(x,getmaxy()-40,bucket,1/*XOR_PUT*/);
show(score,remaining);
}
}
putimage(midx,midy,egg,XOR_PUT);
delay(speed);
delay(1);
putimage(x,getmaxy()-40,bucket,1/*XOR_PUT*/);
if(kbhit())
{
c=getche();
if(c==27)
break;
else if(c==75)
{
if(x<=0)
x=0;
else
x=x-move;
}
else if(c==77)
{
if(x>=getmaxx()-80)
x=getmaxx()-80;
else
x=x+move;
}
}
flag=0;
for(i=x+20;i<x+80;i++)
{
if(midx+20 == i && midy == getmaxy()-40)
{
flag=1;
score++;
if(score==5)
speed=speed-1;
else if(score==11)
speed=speed-1;
else if(score==17)
speed=speed-2,move=6;
else if(score==25)
speed=speed-1,move=8;
cleardevice();
putimage(midx,midy,egg,XOR_PUT);
show(score, remaining);
break;
}
}
putimage(midx,midy,egg,XOR_PUT);
}
cleardevice();
fflush(stdin);
flushall();
settextstyle(0,0,10);
outtextxy(0,getmaxy()/2-150," Game");
outtextxy(0,getmaxy()/2-50," Over");
sleep(4);
fflush(stdin);
settextstyle(1,0,4);
outtextxy(0,getmaxy()/2+70," Wanna play again y/n: ");
fflush(stdin);
while(1)
if(getch()=='y')
goto start;
else if(getch()=='n')
exit(0);
else
continue;
}
#include<graphics.h> #include<conio.h> #include<process.h> void drawboard(); void round(int); void cross(int); void ask(); void turn(int); void swap(); void winner(); int a[10],p,o,i,x,y,m,count; void main() { int gd=0,gm; initgraph(&gd,&gm,""); for(int i=1;i<10;i++) { a[i]=2; } p=0; o=1; count=0; drawboard(); while(1) { ask(); cleardevice(); drawboard(); winner(); swap(); } } void drawboard() { line(0,160,480,160); line(0,320,480,320); line(160,0,160,480); line(320,0,320,480); for(i=1;i<10;i++) { if(a[i]==0) { round(i); } if(a[i]==1) { cross(i); } } } void round(int a) { a=a-1; x=a/3; y=a%3; circle(80+160y,80+160x,60); } void cross(int a) { a=a-1; x=a/3; y=a%3; line(20+160y,20+160x,140+160y,140+160x); line(20+160y,140+160x,140+160y,20+160x); } void ask() { m=getch(); m=m-48; turn(m); } void turn(int i) { if(a[i]==2) { a[i]=p; count=count+1; } else { outtextxy(480,10,"already marked"); ask(); } } void over() { getch(); closegraph(); exit(0); } void winner() { if(a[1]==0&&a[2]==0&&a[3]==0) { line(80,80,400,80); outtextxy(480,10,"O wins"); over(); } else if(a[1]==1&&a[2]==1&&a[3]==1) { line(80,80,400,80); outtextxy(480,10,"X wins"); over(); } else if(a[4]==0&&a[5]==0&&a[6]==0) { line(80,240,400,240); outtextxy(480,10,"O wins"); over(); } else if(a[4]==1&&a[5]==1&&a[6]==1) { line(80,240,400,240); outtextxy(480,10,"X wins"); over(); } else if(a[7]==0&&a[8]==0&&a[9]==0) { line(80,400,400,400); outtextxy(480,10,"O wins"); over(); } else if(a[7]==1&&a[8]==1&&a[9]==1) { line(80,400,400,400); outtextxy(480,10,"X wins"); over(); } else if(a[1]==0&&a[4]==0&&a[7]==0) { line(80,80,80,400); outtextxy(480,10,"O wins"); over(); } else if(a[1]==1&&a[4]==1&&a[7]==1) { line(80,80,80,400); outtextxy(480,10,"X wins"); over(); } else if(a[2]==0&&a[5]==0&&a[8]==0) { line(240,80,240,400); outtextxy(480,10,"O wins"); over(); } else if(a[2]==1&&a[5]==1&&a[8]==1) { line(240,80,240,400); outtextxy(480,10,"X wins"); over(); } else if(a[3]==0&&a[6]==0&&a[9]==0) { line(400,80,400,400); outtextxy(480,10,"O wins"); over(); } else if(a[3]==1&&a[6]==1&&a[9]==1) { line(400,80,400,400); outtextxy(480,10,"X wins"); over(); } else if(a[1]==0&&a[5]==0&&a[9]==0) { line(80,80,400,400); outtextxy(480,10,"O wins"); over(); } else if(a[1]==1&&a[5]==1&&a[9]==1) { line(80,80,400,400); outtextxy(480,10,"X wins"); over(); } else if(a[3]==0&&a[5]==0&&a[7]==0) { line(80,400,400,80); outtextxy(480,10,"O wins"); over(); } else if(a[3]==1&&a[5]==1&&a[7]==1) { line(80,400,400,80); outtextxy(480,10,"X wins"); over(); } else if(count==9) { outtextxy(480,10,"Draw"); over(); } } void swap() { p=p+o; o=p-o; p=p-o; }