my homework is a simple simple snake game. plz guide me as i am a beginner. need
ID: 3634071 • Letter: M
Question
my homework is a simple simple snake game.plz guide me as i am a beginner. need some initial source code!!!
Explanation / Answer
#include #include #include #include #include #include #include #include class Snake { int p1,p2,v1,v2,v3,e1,e2,prev,now,n,colr,dsp,cnt,dly,m; int stp,egGen; int xr,yr; void caught(); public: long scr; int strtX,strtY,endX,endY; int pos[100][2]; void show(); void init(); void egg(); void transpose(); void gnrtCond(); void gnrtUnCond(); void check(); void checkEgg(); void move(); void chngDir(); void sndEt(); void sndCgt(); int test(); void score(); Snake(); Snake(Snake*); ~Snake(); }; Snake::Snake() { } Snake::~Snake() { } void Snake::checkEgg() { if((e1 == p1) && (e2 == p2)) {sndEt(); egg(); dly--; score(); n++; } } void Snake::sndEt() {nosound(); sound(2500); delay(2); nosound(); } void Snake::sndCgt() {nosound(); for(int x=1000;x>0;x--) {sound(x); delay(1); } nosound(); } void Snake::score() { char *p; ltoa(scr,p,10); settextstyle(8,0,1); setcolor(0); outtextxy(585,40,p); if(egGen != 1){ scr = scr + dly / 10; } ltoa(scr,p,10); setcolor(10); outtextxy(585,40,p); } void Snake::gnrtCond() {if(n < 367) {if(now == 8 && (prev != 8 && prev != 2)) {pos[0][0] = p1; pos[0][1] = p2 - dsp; prev = now; } if(now == 4 && (prev != 4 && prev != 1)) {pos[0][0] = p1 + dsp; pos[0][1] = p2; prev = now; } if(now == 2 && (prev != 8 && prev != 2)) {pos[0][0] = p1; pos[0][1] = p2 + dsp; prev = now; } if(now == 1 && (prev != 1 && prev != 4)) {pos[0][0] = p1 - dsp; pos[0][1] = p2; prev = now; } } } void Snake::gnrtUnCond() { if( prev == 8 ) {pos[0][0] = p1; pos[0][1] = p2 - dsp; } if( prev == 4 ) {pos[0][0] = p1 + dsp; pos[0][1] = p2; } if( prev == 2 ) {pos[0][0] = p1; pos[0][1] = p2 + dsp; } if( prev == 1 ) {pos[0][0] = p1 - dsp; pos[0][1] = p2; } p1 = pos[0][0]; p2 = pos[0][1]; } void Snake::check() { if(p1 > endX) {p1 = strtX;} else if(p1 endY) {p2 = strtY;} else if(p2 = 0;i--) {pos[i][0] = 201 + (n - i - 1) * dsp; pos[i][1] = 301; } strtX = 21; strtY = 21; endX = 481; endY = 361; colr = 14; now = prev; dsp = 20; stp = 111; cnt = -1; scr = 0; dly = 150; xr = 3; yr = 9; egg(); egGen = 1; score(); int x = getcolor(); setlinestyle(0,1,3); setcolor(15); rectangle(strtX-15,strtY-15,endX+15,endY+15); rectangle(endX+25,strtY-15,getmaxx()-15,endY+15); rectangle(strtX-15,endY+25,getmaxx()-15,getmaxy()-5); line(endX+25,strtY+75,getmaxx()-15,strtY+75); line(endX+25,strtY+200,getmaxx()-15,strtY+200); line(endX+25,strtY+275,getmaxx()-15,strtY+275); setlinestyle(0,1,1); settextstyle(8,0,1); setcolor(11); outtextxy(514,40,"SCORE"); setcolor(14); settextstyle(11,0,5); outtextxy(524,110," CONTROLS "); outtextxy(522,135,"p = PAUSE"); outtextxy(522,155,"g = RESUME"); outtextxy(522,175,"e = EXIT"); outtextxy(513,195,"ARROWS"); outtextxy(512,205," -MOVEMENT"); setcolor(14); settextstyle(4,0,9); outtextxy(getmaxx()-500,getmaxy()-110,"SNAKE"); settextstyle(8,0,1); setcolor(x); } void Snake::caught() { stp = 0; sndCgt(); for(int i=0;i= endY+1)) break; } if(i != n) return 1; else return 0; } void main() {Snake snk; int gd=DETECT,gm,i,j,k,x,y; clrscr(); initgraph(&gd,&gm,"E:Turboc3"); snk.init(); snk.move(); closegraph(); restorecrtmode(); }Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.