Wednesday, 22 June 2016

A SIMPLE GAME IN C++

Hello guys today i am gonna give you the source code to build a simple game in C++.....
for any query you can place a comment..
note this program is build in code blocks compiler
you can also download the source code @ game.cpp

use A W S D  for controlling 



  1. #include<iostream>
  2. #include<windows.h>
  3. #include<conio.h>
  4. #include<stdlib.h>
  5. using namespace std;
  6. COORD coord={0,0};
  7.  void gotoxy(int x,int y)
  8.  {
  9.  coord.X=x;
  10.  coord.Y=y;
  11.  SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
  12.  }// gotoxy
  13.  void setup();
  14.  void base();
  15.  void draw();
  16.  void input();
  17.  void logic();
  18.  void level();
  19.  void clr();
  20.  enum edir{stop,l,r,u,d};
  21.  edir dir;
  22.  bool gameover;
  23.  int width,height,x,y,fx,fy,score,slow;
  24.  int main()
  25.  {
  26.      setup();
  27.      base();
  28.      while(gameover==false)
  29.      {
  30.          draw();
  31.          input();
  32.          Sleep(slow);
  33.          clr();
  34.          logic();
  35.      }
  36.  }
  37.  void setup()
  38.  {
  39.      slow=500;
  40.      dir=stop;
  41.      gameover=false;
  42.      width=40;
  43.      height=20;
  44.      x=width/2;
  45.      y=height/2;
  46.      fx=rand()%width;
  47.      if(fx==0)
  48.         fx++;
  49.      fy=rand()%height;
  50.      if(fy==0)
  51.         fy++;
  52.      score=0;

  53.  }
  54.  void base()
  55.  {
  56.      system("color 60");
  57.      for(int i=0;i<width;i++)
  58.         cout<<"_";
  59.      cout<<endl;
  60.      for(int i=0;i<=height-2;i++)
  61.       {
  62.           cout<<"|";
  63.           gotoxy(width-1,i+1);
  64.           cout<<"|"<<endl;
  65.       }
  66.       for(int i=0;i<width;i++)
  67.         cout<<"-";
  68.     gotoxy(width+1,1);
  69.     cout<<"score =";
  70.     gotoxy(width+10,1);
  71.     cout<<"speed will increase after every score";
  72.  }
  73.  void draw()
  74.  {
  75.      gotoxy(x,y);
  76.      cout<<"O";
  77.      gotoxy(fx,fy);
  78.      cout<<"F";
  79.      gotoxy(width+8,1);
  80.      cout<<score;
  81.  }
  82.  void input()
  83.  {
  84.    if(kbhit())
  85.    {
  86.        switch(getch())
  87.        {
  88.            case 'w':dir=u;
  89.            break;
  90.            case 's':dir=d;
  91.            break;
  92.            case 'a':dir=l;
  93.            break;
  94.            case 'd':dir=r;
  95.            break;
  96.            case 'q':gameover=true;
  97.            break;
  98.            case 'W':dir=u;
  99.            break;
  100.            case 'S':dir=d;
  101.            break;
  102.            case 'A':dir=l;
  103.            break;
  104.            case 'D':dir=r;
  105.            break;
  106.            case 'Q':gameover=true;
  107.            break;
  108.            default:
  109.             break;
  110.        }
  111.    }
  112.  }
  113.  void logic()
  114.  {
  115.    switch(dir)
  116.    {
  117.        case u: y--;
  118.        break;
  119.        case d: y++;
  120.        break;
  121.        case r:x++;
  122.        break;
  123.        case l:x--;
  124.        break;
  125.        default:
  126.         break;
  127.    }
  128.    if(x==fx&&y==fy)
  129.    {
  130.        score++;
  131.        cout<<"\a";
  132.        fx=rand()%width;
  133.      if(fx==0)
  134.         fx++;
  135.      fy=rand()%height;
  136.      if(fy==0)
  137.         fy++;
  138.         level();
  139.    }
  140.      if(x<=0||y<=0||x>=width||y>=height)
  141.    {
  142.        gameover=true;
  143.        system("cls");
  144.        cout<<"GAME_OVER\a"<<"\nDEVELOPED BY -MAYANK AGRAWAL";
  145.    }
  146.  }
  147.  void clr()
  148.  {
  149.     gotoxy(x,y);
  150.     cout<<" ";

  151.  }
  152.  void level()
  153.  {
  154.      if(slow>=20)
  155.         slow-=20;
  156.      else
  157.      {
  158.       system("cls");
  159.       cout<<"u won \a"<<"\n DEVELOPED BY-MAYANK AGRAWAL";
  160.      }
  161.  }

              OUTPUT


Location: India

0 comments:

Post a Comment