A Flash Developer Resource Site

Results 1 to 7 of 7

Thread: sourece code of snake game

  1. #1

    sourece code of snake game

    hello friends
    I am harish kumar. I am going to post source code of snake game.

    #include<stdio.h>
    #include<graphics.h>
    #include<conio.h>
    #include<malloc.h>
    #include<stdlib.h>
    #include<dos.h>
    #include<iostream.h>

    int k=1, i, user=0, dice=0, x1=50, y1=410, x2=70, y2=410, dir1=0,
    dir2=0,
    ch;
    int cnt1=1, cnt2=1;
    void *obj1, *obj2, *o1, *o2, *dot, *back, *turn, *ready;
    unsigned int size;

    void ladder1()
    {
    int m,n;
    for(m=0;m<=250;m+=250)
    for(n=0;n<=m;n+=250)
    {
    setcolor(DARKGRAY);
    line(53+m,57+n,55+m,55+n);
    line(53+m,57+n,133+m,137+n);
    line(55+m,55+n,135+m,135+n);
    line(133+m,137+n,135+m,135+n);
    setfillstyle(SOLID_FILL, YELLOW);
    floodfill(55+m,58+n,DARKGRAY);
    line(68+m,42+n,70+m,40+n);
    line(68+m,42+n,148+m,122+n);
    line(70+m,40+n,150+m,120+n);
    line(148+m,122+n,150+m,120+n);
    floodfill(70+m,43+n,DARKGRAY);
    line(65+m,65+n,78+m,52+n);
    line(68+m,68+n,81+m,55+n);
    floodfill(79+m,54+n,DARKGRAY);
    line(75+m,75+n,88+m,62+n);
    line(78+m,78+n,91+m,65+n);
    floodfill(89+m,64+n,DARKGRAY);
    line(85+m,85+n,98+m,72+n);
    line(88+m,88+n,101+m,75+n);
    floodfill(99+m,74+n,DARKGRAY);
    line(95+m,95+n,108+m,82+n);
    line(98+m,98+n,111+m,85+n);
    floodfill(109+m,84+n,DARKGRAY);
    line(105+m,105+n,118+m,92+n);
    line(108+m,108+n,121+m,95+n);
    floodfill(119+m,94+n,DARKGRAY);
    line(115+m,115+n,128+m,102+n);
    line(118+m,118+n,131+m,105+n);
    floodfill(129+m,104+n,DARKGRAY);
    line(125+m,125+n,138+m,112+n);
    line(128+m,128+n,141+m,115+n);
    floodfill(139+m,114+n,DARKGRAY);
    }
    }

    void ladder2()
    {
    int p,q=0;
    for(p=0;p<=180;p+=155)
    {
    line(100+p,330-q,140+p,290-q);
    line(100+p,330-q,102+p,332-q);
    line(102+p,332-q,142+p,292-q);
    line(142+p,292-q,140+p,290-q);
    floodfill(141+p,292-q,8);
    line(115+p,345-q,155+p,305-q);
    line(115+p,345-q,117+p,347-q);
    line(117+p,347-q,157+p,307-q);
    line(157+p,307-q,155+p,305-q);
    floodfill(155+p,307-q,8);
    line(112+p,322-q,125+p,335-q);
    line(114+p,320-q,127+p,333-q);
    floodfill(125+p,334-q,8);
    line(122+p,312-q,135+p,325-q);
    line(124+p,310-q,137+p,323-q);
    floodfill(135+p,324-q,8);
    line(132+p,302-q,145+p,315-q);
    line(134+p,300-q,147+p,313-q);
    floodfill(145+p,314-q,8);
    q+=95;
    }
    }

    void snake1()
    {
    int x,y=0,h=2;
    for(x=0;x<=200;x+=125)
    {
    arc(120+x,110+y,10,85,60);
    arc(258+x,85+y,190,240,80);
    arc(112+x,118+y,10,80,60);
    arc(250+x,93+y,190,290,80);
    arc(275+x,100+y,250,270,70);
    line(250+x,170+y,250+x,165+y);
    line(250+x,165+y,230+x,160+y);
    line(230+x,160+y,218+x,155+y);
    line(130+x,50+y,115+x,47+y);
    line(121+x,59+y,106+x,52+y);
    line(106+x,52+y,114+x,48+y);
    circle(114+x,52+y,1);
    setfillstyle(1,h);
    floodfill(116+x,52+y,8);
    y+=230; h+=8;
    }
    }

    void snake2()
    {
    arc(130,220,150,180,40);
    arc(130,220,180,253,40);
    arc(105,328,273,80,70);
    arc(143,220,150,180,40);
    arc(143,215,180,230,40);
    arc(112,328,265,50,75);
    arc(80,354,45,72,115);
    line(102,400,104,402);
    line(102,400,107,399);
    line(95,200,110,185);
    line(110,185,109,200);
    line(110,185,111,182);
    circle(104,198,1);
    setfillstyle(1,12);
    floodfill(103,199,8);
    }

    void snake3()
    {
    arc(255,118,320,0,170);
    arc(265,118,305,0,170);
    line(384,229,361,260);
    line(425,120,429,105);
    line(428,105,435,120);
    line(428,105,429,100);
    circle(430,115,1);
    setfillstyle(1,6);
    floodfill(430,117,8);
    }

    void numbering()
    {
    outtextxy(50,393,"1 2 4 5 6 7 8 10");
    outtextxy(50,353,"20 19 18 16 15 1 13 11");
    outtextxy(50,313,"21 22 25 26 29 30");
    outtextxy(50,273,"40 39 38 37 36 35 34 33 32 31");
    outtextxy(50,233,"41 43 44 45 47 48 50");
    outtextxy(50,193,"60 58 57 56 55 53 52 ");
    outtextxy(50,153,"61 62 63 64 66 67 68 69 ");
    outtextxy(50,113,"80 79 76 75 74 73 71");
    outtextxy(50,73, "81 83 84 85 86 87 89 90");
    outtextxy(50,33, "100 99 98 97 96 95 94 93 92 91");
    setcolor(15);
    // outtextxy(480,40,"HARISH KUMAR's");
    outtextxy(465,50,"The Classic Game of");
    settextstyle(GOTHIC_FONT, HORIZ_DIR, 2);
    setcolor(LIGHTRED);
    outtextxy(470,60,"Snake & Ladder");
    setcolor(WHITE);
    settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
    }

    void status()
    {
    setcolor(YELLOW);
    outtextxy(480, 95, "Dice output...");
    setlinestyle(SOLID_LINE, 1, 3);
    rectangle(480, 110, 600, 230);
    outtextxy(480, 260, "Turn...");
    rectangle(480, 275, 600, 300);
    }

    void welcome()
    {
    float octave[]={130.81, 146.83, 164.81, 174.61, 196, 220, 246.94}, n;
    for (int i=0; i<50; i++)
    { n=random(6); sound(octave[n]*4); delay(150); nosound(); }
    }



    void dispdice()
    {
    switch (dice)
    {
    case 1: putimage(535, 165, dot, COPY_PUT); break;
    case 2: putimage(515, 145, dot, COPY_PUT);
    putimage(555, 185, dot, COPY_PUT); break;
    case 3: putimage(515, 145, dot, COPY_PUT);
    putimage(535, 165, dot, COPY_PUT);
    putimage(555, 185, dot, COPY_PUT); break;
    case 4: putimage(515, 145, dot, COPY_PUT);
    putimage(555, 145, dot, COPY_PUT);
    putimage(515, 185, dot, COPY_PUT);
    putimage(555, 185, dot, COPY_PUT); break;
    case 5: putimage(515, 145, dot, COPY_PUT);
    putimage(555, 145, dot, COPY_PUT);
    putimage(535, 165, dot, COPY_PUT);
    putimage(515, 185, dot, COPY_PUT);
    putimage(555, 185, dot, COPY_PUT); break;
    case 6: putimage(515, 145, dot, COPY_PUT);
    putimage(515, 165, dot, COPY_PUT);
    putimage(515, 185, dot, COPY_PUT);
    putimage(555, 145, dot, COPY_PUT);
    putimage(555, 165, dot, COPY_PUT);
    putimage(555, 185, dot, COPY_PUT); break;
    }
    }

    void getdice()
    { dice=random(6); dice++; dispdice(); }

    void play()
    {
    getimage(50, 410, 60, 420, o1);
    getimage(70, 410, 80, 420, o2);
    putimage(50, 410, obj1, COPY_PUT);
    putimage(70, 410, obj2, COPY_PUT);
    while (1)
    {
    if (user==0)
    {
    putimage(487, 282, turn, COPY_PUT);
    setcolor(GREEN);
    outtextxy(480, 285, " Player 1");
    again: ch=getch();
    if (ch==13) getdice();
    else if (ch==27) exit(1);
    else goto again;
    setcolor(YELLOW);
    if (cnt1==96 && dice>=4) { delay(1000); goto invalid1; user=1; }
    else if (cnt1==97 && dice>=3) { delay(1000); goto invalid1; user=1;
    }
    else if (cnt1==98 && dice>=2) { delay(1000); goto invalid1; user=1;
    }
    else if (cnt1==99 && dice>=1) { delay(1000); goto invalid1; user=1;
    }
    for (i=1; i<=dice; i++, cnt1++)
    {
    putimage(x1, y1, o1, COPY_PUT);
    if (dir1==0)
    {
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    x1+=40;
    if (x1>410) x1-=40, y1-=40, dir1=1;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    delay(1000); goto ch1;
    }
    else
    {
    size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    x1-=40;
    if (x1<50) x1+=40, y1-=40, dir1=0;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    delay(1000); goto ch1;
    }
    ch1: if (cnt1==99) goto over;
    }
    if (cnt1==12 || cnt1==72 || cnt1==78)
    {
    putimage(x1, y1, o1, COPY_PUT);
    x1-=80; y1-=80;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    if (cnt1==12) cnt1=34;
    else if (cnt1==72) cnt1=94;
    else if (cnt1==78) { cnt1=100; goto over; }
    }
    else if (cnt1==22 || cnt1==46)
    {
    putimage(x1, y1, o1, COPY_PUT);
    x1+=40; y1-=40;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    if (cnt1==22) cnt1=38;
    else if (cnt1==46) cnt1=54;
    dir1=1;
    }
    else if (cnt1==36 || cnt1==99)
    {
    putimage(x1, y1, o1, COPY_PUT);
    x1+=160; y1+=120;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    if (cnt1==36) cnt1=9;
    else if (cnt1==99) cnt1=66;
    dir1=0;
    }
    else if (cnt1==62)
    {
    putimage(x1, y1, o1, COPY_PUT);
    y1+=240;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    cnt1=2;
    }
    else if (cnt1==90)
    {
    putimage(x1, y1, o1, COPY_PUT);
    x1-=80; y1+=160;
    // size=imagesize(x1, y1, x1+10, y1+10);
    // o1=malloc(size);
    getimage(x1, y1, x1+10, y1+10, o1);
    putimage(x1, y1, obj1, COPY_PUT);
    cnt1=48;
    }
    if (dice==5 || dice==6) user=0; else user=1;
    invalid1: putimage(500, 130, back, COPY_PUT);
    }
    else
    {
    putimage(487, 282, turn, COPY_PUT);
    setcolor(BROWN);
    outtextxy(480, 285, " Player 2");
    setcolor(YELLOW);
    again2: ch=getch();
    if (ch==13) getdice();
    else if (ch==27) exit(1);
    else goto again2;
    if (cnt2==96 && dice!=4) { delay(1000); goto invalid2; user=0; }
    else if (cnt2==97 && dice!=3) { delay(1000); goto invalid2; user=0;
    }
    else if (cnt2==98 && dice!=2) { delay(1000); goto invalid2; user=0;
    }
    else if (cnt2==99 && dice!=1) { delay(1000); goto invalid2; user=0;
    }
    for (i=1; i<=dice; i++, cnt2++)
    {
    putimage(x2, y2, o2, COPY_PUT);
    if (dir2==0)
    {
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    x2+=40;
    if (x2>440) x2-=40, y2-=40, dir2=1;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    delay(1000); goto ch2;
    }
    else
    {
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    x2-=40;
    if (x2<50) x2+=40, y2-=40, dir2=0;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    delay(1000); goto ch2;
    }
    ch2: if (cnt2==99) goto over;
    }
    if (cnt2==12 || cnt2==72 || cnt2==78)
    {
    putimage(x2, y2, o2, COPY_PUT);
    x2-=80; y2-=80;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    if (cnt2==12) cnt2=34;
    else if (cnt2==72) cnt2=94;
    else if (cnt2==78) { cnt2=100; goto over; }
    }
    else if (cnt2==22 || cnt2==46)
    {
    putimage(x2, y2, o2, COPY_PUT);
    x2+=40; y2-=40;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    if (cnt2==22) cnt2=38;
    else if (cnt2==46) cnt2=54;
    dir2=1;
    }
    else if (cnt2==36 || cnt2==99)
    {
    putimage(x2, y2, o2, COPY_PUT);
    x2+=160; y2+=120;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    if (cnt2==36) cnt2=9;
    else if (cnt2==99) cnt2=66;
    dir2=0;
    }
    else if (cnt2==62)
    {
    putimage(x2, y2, o2, COPY_PUT);
    y2+=240;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    cnt2=2;
    }
    else if (cnt2==90)
    {
    putimage(x2, y2, o2, COPY_PUT);
    x2-=80; y2+=160;
    // size=imagesize(x2, y2, x2+10, y2+10);
    // o2=malloc(size);
    getimage(x2, y2, x2+10, y2+10, o2);
    putimage(x2, y2, obj2, COPY_PUT);
    cnt2=48;
    }
    if (dice==5 || dice==6) user=1; else user=0;
    invalid2: putimage(500, 130, back, COPY_PUT);
    delay(1000);
    }
    }
    over: }

    void main()
    {
    int gd=DETECT, gm;
    initgraph(&gd, &gm, "d:\tc\bgi");
    randomize();

    size=imagesize(487, 282, 593, 293);
    turn=malloc(size);
    getimage(487, 282, 593, 293, turn);

    rectangle(100, 100, 110, 110);
    setfillstyle(1, 2);
    floodfill(102, 102, 15);
    size=imagesize(100, 100, 110, 110);
    obj1=malloc(size);
    getimage(100, 100, 110, 110, obj1);
    cleardevice();

    rectangle(100, 100, 110, 110);
    setfillstyle(1, 6);
    floodfill(102, 102, 15);
    size=imagesize(100, 100, 110, 110);
    obj2=malloc(size);
    getimage(100, 100, 110, 110, obj2);
    cleardevice();

    o1=malloc(size); o2=malloc(size);

    setcolor(WHITE);
    setfillstyle(SOLID_FILL, 15);
    rectangle(500, 130, 580, 210);
    floodfill(510, 140, 15);

    size=imagesize(500, 130, 580, 210);
    back=malloc(size);
    getimage(500, 130, 580, 210, back);
    setcolor(0);
    setfillstyle(1, 0);
    rectangle(535, 165, 545, 175);
    floodfill(540, 170, 0);
    size=imagesize(535, 165, 545, 175);
    dot=malloc(size);
    getimage(535, 165, 545, 175, dot);
    cleardevice();

    setcolor(WHITE);
    setfillstyle(SOLID_FILL, 15);
    rectangle(500, 130, 580, 210);
    floodfill(510, 140, 15);

    for(int i=0;i<=360;i+=40)
    for(int j=0;j<=360;j+=40)
    {
    setfillstyle(SOLID_FILL, k);
    bar(50+j,30+i,90+j,70+i);
    k+=2;
    }
    ladder1(); ladder2();
    snake1(); snake2(); snake3();
    numbering(); status();

    welcome(); play();
    if (cnt1>=99) outtextxy(480, 330, "PLAYER 1 WINS!");
    else if (cnt2>=99) outtextxy(480, 330, "PLAYER 2 WINS!");
    getch();
    }

    tell your views how is it.......
    Last edited by hkp819; 12-17-2008 at 02:43 AM.

  2. #2
    M.D. mr_malee's Avatar
    Join Date
    Dec 2002
    Location
    Shelter
    Posts
    4,140
    its great.

    however, this is a flash forum.
    lather yourself up with soap - soap arcade

  3. #3
    Intermediate Game Dev pseudobot's Avatar
    Join Date
    May 2008
    Location
    New Zealand
    Posts
    561
    Good 'ol C
    Needs an update...

  4. #4
    Developer dVyper's Avatar
    Join Date
    Oct 2008
    Location
    UK
    Posts
    168
    As pointless as this post I'm posting now.

  5. #5
    When you know are. Son of Bryce's Avatar
    Join Date
    Aug 2002
    Location
    Los Angeles
    Posts
    839
    This thread makes me laugh. So random.

  6. #6
    Hype over content... Squize's Avatar
    Join Date
    Apr 2001
    Location
    Lost forever in a happy crowd...
    Posts
    5,928
    Guys, this is alchemy, this is the future.

    Give it a year and this board will be a crazy mix of c++ and ruby on rails and python and lua and...
    No one will be using actionscript any more, as it'll be the slowest way to code for the Flash format.

    They always treat visionaries as mentals, hkp819 isn't just some nut nut whose posted the wrong code to the wrong site, he's reaching out to the future, and you should all want to be right behind him.

    Squize.

  7. #7
    Student
    Join Date
    Apr 2001
    Location
    -
    Posts
    4,756
    They always treat visionaries as mentals, hkp819 isn't just some nut nut whose posted the wrong code to the wrong site, he's reaching out to the future, and you should all want to be right behind him.
    yeah right,- still dont think so
    why is it that this forum still has no silverlight section? propably because of the lack of interest - same for c,c#,c++,... stuff - most people on this board still fight with AS1.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center