Displaying Source Code(s)
|
|
Simple Snake game.
--------------------------------------------------------------------------------
Description : This game contains one white colored object which
is under user control and runs over the screen, and we need to
touch the target object, which is in red color with out touching
the border lines.
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#define T 2000
int n=0,px,py;
main()
{
int gd=DETECT,gm,i,j;
clrscr();
gotoxy(25,4);
printf("DON'T TUCH THE BORDER");
gotoxy(25,6);
printf("Press < p > for pause");
gotoxy(17,8);
printf("IN MIDDLE OF GAME, PRESS < Esc > TO EXIT");
x:
gotoxy(26,10);
printf("press < s > to start ");
gotoxy(26,12);
printf(" Use SMALL case only");
gotoxy(34,10);
if(getch()=='s')
initgraph(&gd,&gm,"c:\tc\bgi");
else {
clrscr();
goto x;
}
line(0,0,0,479);
line(0,0,639,0);
line(639,0,639,479);
line(0,479,639,479);
pause();
print();
right(100,100);
}
right(int x,int y)
{
char ch,fu='r';
int i,j;
for(i=x;i<=652;i++){
for(j=y;j<=y+10;j++){
putpixel(i,j,4);
putpixel(i-10,j,16);
}
delay(T-n);
check(i,j-1);
if(kbhit()){
ch=getch();
if(ch=='p')
pause();
else
choice(i,j-1,ch,fu);
}
}
}
left(int x,int y)
{
char ch,fu='l';
int i,j;
for(i=x;i>-12;i--){
for(j=y;j<=y+10;j++){
putpixel(i,j,4);
putpixel(i+10,j,16);
}
delay(T-n);
check(i,j-1);
if(kbhit()){
ch=getch();
if(ch=='p')
pause();
else
choice(i,j-1,ch,fu);
}
}
}
down(int x,int y)
{
char ch,fu='d';
int i,j;
for(j=y;j<=492;j++){
for(i=x;i<=x+10;i++){
putpixel(i,j,4);
putpixel(i,j-10,16);
}
delay(T-n);
check(i-1,j);
if(kbhit()){
ch=getch();
if(ch=='p')
pause();
else
choice(i-1,j,ch,fu);
}
}
}
up(int x,int y)
{
char ch,fu='u';
int i,j;
for(j=y;j>=-12;j--){
for(i=x;i<=x+10;i++){
putpixel(i,j,4);
putpixel(i,j+10,16);
}
delay(T-n);
check(i-1,j);
if(kbhit()){
ch=getch();
if(ch=='p')
pause();
else
choice(i-1,j,ch,fu);
}
}
}
choice(int i,int j,char ch,char fu)
{
if(fu=='r'){
if(ch=='K'){
j-=10;
i-=10;
left(i,j);
}
else if(ch=='P'){
i-=10;
down(i,j);
}
else if(ch=='H'){
j-=10;
i-=10;
up(i,j);
}
else if(ch==27)
esc();
else {
j-=10;
right(i,j);
}
}
else if(fu=='l'){
if(ch=='M'){
j-=10;
/*i+=-10; no comments here free me*/
right(i,j);
}
else if(ch=='P')
down(i,j);
else if(ch=='H'){
j-=10;
up(i,j);
}
else if(ch==27)
esc();
else {
j-=10;
left(i,j);
}
}
else if(fu=='d'){
if(ch=='H'){
j-=10;
i-=10;
up(i,j);
}
else if(ch=='K'){
i-=10;
j-=10;
left(i,j);
}
else if(ch=='M'){
j-=10;
right(i,j);
}
else if(ch==27)
esc();
else {
i-=10;
down(i,j);
}
}
else if(fu=='u'){
if(ch=='P'){
j+=10;
i-=10;
down(i,j);
}
else if(ch=='M')
right(i,j);
else if(ch=='K'){
i-=10;
left(i,j);
}
else if(ch==27)
esc();
else {
i-=10;
up(i,j);
}
}
}
check(int i,int j)
{
if (n>T-1750) {
gotoxy(7,5);
printf("U r Great U got Good Score, If possible Please Develop
this game");
gotoxy(24,7);
printf("Press ENTER Key To Continue");
getchar();
esc();
}
if(i<3 || i>637 || j<3 || j>477){
outtextxy(240,240,"YOU HAVE TOUUCHED THE BORDER");
outtextxy(280,280,"GAME OVER");
outtextxy(240,370,"Better Luck Next Time");
outtextxy(200,310,"<press ENTER Key to continue>");
getchar();
esc();
}
else if(tuch(i,j)){
rub();
bell();
n+=10;
stage();
print();
}
}
int tuch(int i,int j)
{
int x=px,y=py,t,s,flag=0;
for(t=x;t<=x+15;t++){
for(s=y;s<=y+15;s++)
if(j==s && i==t)
flag=1;
}
return(flag);
}
rub()
{
setcolor(16);
outtextxy(px,py,"±");
setcolor(15);
}
bell()
{
int i;
for(i=1;i<=5;i++){
sound(200*i);
delay(10000);
nosound();
}
}
stage()
{
gotoxy(60,5);
printf("U got %d points",n);
sleep(1);
gotoxy(60,5);
printf(" ");
}
print()
{
px=random(636);
py=random(460);
if(px<10)
px+=10;
if(py<10)
py+=10;
outtextxy(px,py,"±");
}
pause()
{
outtextxy(200,470,"< Press Any Key To Continue >");
getch();
setcolor(16);
outtextxy(200,470,"< Press Any Key To Continue >");
setcolor(15);
}
esc()
{
gotoxy(20,18);
printf(" THANK YOU ");
gotoxy(20,20);
printf(" < Press any key to continue > ");
getch();
closegraph();
exit(0);
}
|
|
|