C/C++ C++ Game Source: Mongolians Welcome!

  • Thread starter Thread starter sharavsambuu
  • Start date Start date
  • Tags Tags
    C++ Game Source
AI Thread Summary
The discussion revolves around sharing C++ game source code, specifically a "SNAKE" game created by a user named Sharavsambuu. The code is designed for DOS and can be compiled using the TURBOC compiler. Key features of the game include movement controls for the snake, scoring mechanics, and graphical elements using the graphics.h library. The code includes functions for drawing the game pane, handling snake movement in different directions, and generating random food items for the snake to consume. The user encourages others to share their own C++ game projects, highlighting the abundance of open-source game code available under the GNU GPL license.
sharavsambuu
Messages
5
Reaction score
0
Сайн байна уу? Хэрвээ энд манай Монголчууд ордог бол. хэ хэ
Та нар энд C++ дээр хийсэн жижиг сажиг тоглоомынхоо соорсыг энд тавьж болно шүү!

Hello all.
Lets putting here you c++ game source!

sorry my bad english!
 
Technology news on Phys.org
Ok. Let's do it. Any ideas?
 
My first source of "SNAKE game"

I'm just writing in DOS. You may compile it by TURBOC compiler.

//name: Snake
//author : Sharavsambuu

#include stdio.h
#include conio.h
#include iostream.h
#include graphics.h
#include dos.h
#include stdlib.h

#define X 200
#define Y 150
#define audio 0

class nud{
int urt;
public :
void move_up();
void move_down();
void move_right();
void move_left();
void urt_anh();
void urt_nem();
int len();
};
struct snake{
int x,y;
} a[500];
int x1,y1,score=0,delays,bool;
void draw_pane(int x,int y,int Ox,int Oy){
setcolor(BLACK);
for(int i=x;i<=x+Ox;i++){ if (i%5==0){ line(i,y,i,y+Oy); } } for(int j=y;j<=y+Oy;j++){ if (j%5==0){ line(x,j,x+Ox,j); } } } void bud_nogoon(int x,int y){ setcolor(GREEN); for (int i=Y+5*y+1;i<=Y+5*y+4;i++){ line(X+5*x+1,i,X+5*x+4,i); } } void bud_shar(int x,int y){ setcolor(YELLOW); for (int i=Y+5*y+1;i<=Y+5*y+4;i++){ line(X+5*x+1,i,X+5*x+4,i); } } void bud_tsenher(int x,int y){ setcolor(BLUE); for (int i=Y+5*y+1;i<=Y+5*y+4;i++){ line(X+5*x+1,i,X+5*x+4,i); } } void bud_tsagaan(int x,int y){ setcolor(WHITE); for (int i=Y+5*y+1;i<=Y+5*y+4;i++){ line(X+5*x+1,i,X+5*x+4,i); } } void bud_random(int x,int y){ setcolor(10+random(30-10)); for (int i=Y+5*y+1;i<=Y+5*y+4;i++){ line(X+5*x+1,i,X+5*x+4,i); } } void sanamsargui_tseg(int n){ l6: x1=random(50); y1=random(30); for (int i=0;i0;i--){a=a[i-1];
if (i%2==1){
bud_nogoon(a.x,a.y);}
else bud_shar(a.x,a.y);
}
a[0].x=n;a[0].y=m; bud_random(a[0].x,a[0].y);
bud_tsagaan(a[urt-1].x,a[urt-1].y);
nosound();
}
}
void nud :: move_down(){
while ((!kbhit())){ sound(audio);
delay(delays);
if (check(urt)==1){
bool=1;
break;
}
if (a[0].y>=29){a[0].y=0;}
if ((a[0].x==x1)&&(a[0].y==y1)){
urt++;
score+=2;
sanamsargui_tseg(urt);
bud_tsenher(x1,y1);
}
a[0].y++;
int n=a[0].x,m=a[0].y;
for (int i=urt-1;i>0;i--){a=a[i-1];
if (i%2==1){
bud_nogoon(a.x,a.y);}
else bud_shar(a.x,a.y);}
a[0].x=n;a[0].y=m; bud_random(a[0].x,a[0].y);
bud_tsagaan(a[urt-1].x,a[urt-1].y);
nosound();
}
}
void nud :: move_right(){
while ((!kbhit())) { sound(audio);
delay(delays);
if (check(urt)==1){
bool=1;
break;
}
if (a[0].x>=49){a[0].x=0;}
if ((a[0].x==x1)&&(a[0].y==y1)){
urt++;
score+=2;
sanamsargui_tseg(urt);
bud_tsenher(x1,y1);
}
a[0].x++;
int n=a[0].x,m=a[0].y;
for (int i=urt-1;i>0;i--){a=a[i-1];
if (i%2==1){
bud_nogoon(a.x,a.y);}
else bud_shar(a.x,a.y);}
a[0].x=n;a[0].y=m; bud_random(a[0].x,a[0].y);
bud_tsagaan(a[urt-1].x,a[urt-1].y);
nosound();
}
}
void nud :: move_left(){
while ((!kbhit())) { sound(audio);
delay(delays);
if (check(urt)==1){
bool=1;
break;
}
if (a[0].x<=0){a[0].x=49;} if ((a[0].x==x1)&&(a[0].y==y1)){ urt++; score+=2; sanamsargui_tseg(urt); bud_tsenher(x1,y1); } a[0].x--; int n=a[0].x,m=a[0].y; for (int i=urt-1;i>0;i--){a=a[i-1];
if (i%2==1){
bud_nogoon(a.x,a.y);}
else bud_shar(a.x,a.y);}
a[0].x=n;a[0].y=m; bud_random(a[0].x,a[0].y);
bud_tsagaan(a[urt-1].x,a[urt-1].y);
nosound();
}
}
void main(){
l1:
bool=0;
Game_start();
int driver=DETECT, mode;
initgraph(&driver,&mode,"c:\\sharav_snack\\bgi");
randomize();
draw_pane(X,Y,X+70,Y+50);
Game();
Game_Over();
switch (getche()){
case 'r': {closegraph();score=0;goto l1; }
case 'R': {closegraph();score=0;goto l1; }
case 'q': {closegraph(); exit(0); break;}
case 'Q': {closegraph(); exit(0); break;}
}
closegraph();
}
 
You can find tons and tons of source code in the open source world. Just look for games that were released under the GNU GPL license.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top