Repository navigation
Egg eater
#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); //outtextxy(0,0,"Eggitarian"); outtext("Eggs : "); outtext(itoa(score,temp,10)); outtext(" Buckets Left :"); outtext(itoa(remaining,temp,10)); 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; } void show(int score,int remaining) { char temp[5]; outtext("Eggs : "); outtext(itoa(score,temp,10)); outtext(" Buckets Left :"); outtext(itoa(remaining,temp,10)); }
#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; }