用c++来编写一个小游戏的源代码,要100-200行就可以了,可以再vc环境下运行就可。。。本人急需!~!~!

如题所述

//作者:小斌
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
//using namespace std;

const char LEFT=0x4b;
const char RIGHT=0x4d;
const char DOWN=0x50;
const char UP=0x48;
const char ESC=0x1b;
const char ENTER=0x0d;

const int BX=200;
const int BY=170;
const int SQ=30;

const int SQCL=10;
const int BkCl=BLUE;
const int SHAP1=2;
const int SHAP2=3;
const int SHAP3=4;
const int SHAP4=5;

void drawxiao(int &x, int &y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, SQCL);
bar(a+1, b+1, a+SQ-1, b+SQ-1);
}

void clearxiao(int &x, int &y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, BkCl);
bar(a+1, b+1, a+SQ-1, b+SQ-1);
}

void goleft(int &x, int &y)
{
if(x>0)
{
clearxiao(x, y);
drawxiao(--x, y);
}
}

void goright(int &x, int &y)
{
if(x<7)
{
clearxiao(x, y);
drawxiao(++x, y);
}
}

void godown(int &x, int &y)
{
if(y<7)
{
clearxiao(x, y);
drawxiao(x, ++y);
}
}

void goup(int &x, int &y)
{
if(y>0)
{
clearxiao(x, y);
drawxiao(x, --y);
}
}

void end()
{
closegraph();
exit(1);
}

void move(int &x, int &y)
{
int n=1;
drawxiao(x, y);
while(n)
switch(getch())
{
case LEFT :goleft(x, y); break;
case RIGHT :goright(x, y); break;
case DOWN :godown(x, y); break;
case UP :goup(x, y); break;
case ENTER :n=0; break;
case ESC :end();
}
}

void qipan()
{
int i;
setbkcolor(BkCl);
setfillstyle(1, 15);

for(i=0; i<9; i++)
{
line(BX, i*SQ+BY, BX+8*SQ, i*SQ+BY);
line(i*SQ+BX, BY, i*SQ+BX, BY+8*SQ);
}
}

void shap1(int x, int y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, SHAP1);
bar(a+1, b+1, a+SQ-1, b+2*SQ-1);
bar(a-SQ+1, b+1+SQ, a, b-1+2*SQ);
}

void shap2(int x, int y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, SHAP2);
bar(a+1, b+1, a+SQ-1, b+2*SQ-1);
bar(a+SQ, b+SQ+1, a+2*SQ-1, b+2*SQ-1);
}

void shap3(int x, int y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, SHAP3);
bar(a+1, b+1, a+2*SQ-1, b+SQ-1);
bar(a+SQ+1, b+SQ, a+2*SQ-1, b+2*SQ-1);
}

void shap4(int x, int y)
{
int a=x*SQ+BX, b=y*SQ+BY;
setfillstyle(1, SHAP4);
bar(a+1, b+1, a+2*SQ-1, b+SQ-1);
bar(a+1, b+SQ, a+SQ-1, b+2*SQ-1);
}

void chessboard(int size, int tr, int tc, int dr, int dc)
{
if(size>=2)
{
size=size/2;
if(dc<tc+size)//左边半个棋盘
{
if(dr<tr+size)//左上
{
shap1(tr+size, tc+size-1);
chessboard(size, tr, tc, dr, dc);
chessboard(size, tr+size, tc, tr+size, tc+size-1);
}
else//左下
{
shap2(tr+size-1, tc+size-1);
chessboard(size, tr, tc, tr+size-1, tc+size-1);
chessboard(size, tr+size, tc, dr, dc);
}
chessboard(size, tr, tc+size, tr+size-1, tc+size);
chessboard(size, tr+size, tc+size, tr+size, tc+size);
}
else//在右边半个棋盘
{
if(dr<tr+size)//右上
{
shap3(tr+size-1, tc+size-1);
chessboard(size, tr, tc+size, dr, dc);
chessboard(size, tr+size, tc+size, tr+size, tc+size);
}
else//右下
{
shap4(tr+size-1, tc+size-1);
chessboard(size, tr, tc+size, tr+size-1, tc+size);
chessboard(size, tr+size, tc+size, dr, dc);
}
chessboard(size, tr, tc, tr+size-1, tc+size-1);
chessboard(size, tr+size, tc, tr+size, tc+size-1);
}
}
}

int main()
{
int driver=DETECT, mode;
int x=0, y=0;

initgraph(&driver, &mode, "C:\\JMSOFT\\DRV");

qipan();//画棋盘
move(x, y);//移动特殊方格

chessboard(8, 0, 0, x, y);//覆盖棋盘
getch();
return 0;
}

参考资料:我自己写的棋盘覆盖游戏,dos的图形界面

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-25
10分谁帮你

用c++来编写一个小游戏的源代码,要100-200行就可以了,可以再vc环境下运...
const int BkCl=BLUE;const int SHAP1=2;const int SHAP2=3;const int SHAP3=4;const int SHAP4=5;void drawxiao(int &x, int &y){ int a=x*SQ+BX, b=y*SQ+BY;setfillstyle(1, SQCL);bar(a+1, b+1, a+SQ-1, b+SQ-1);} void clearxiao(int &x, int &y){ int a...

用“vc”或“c++”编写的一个小游戏代码,源代码是什么?
void Init(void); \/*图形驱动*\/ void Close(void); \/*关闭游戏函数*\/ void DrawK(void); \/*画图函数*\/ void GameOver(void);\/*输出失败函数*\/ void GamePlay(); \/*游戏控制函数 主要程序*\/ void PrScore(void); \/*分数输出函数*\/ DELAY(char ch)\/*调节游戏速度*\/ { if(ch=='3'){...

如何编写C语言程序?
1.打开桌面上的DEV_C++,进入如下界面:2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发...

C++程序设计:计算并输出100-200之间的所有素数的平方根之和 谢谢啦...
用一个循环遍历考察100~200间的奇数,再用一个3到被考察数的平方根(向上取整)的奇数循环去除被考察数,都不能整除的则为素数,累加其平方求和;能被其一整除的则不是素数,直接跳过。代码如下:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include <iostream>using namespace std...

C语言程序编程:输出100到200间的全部素数,每行输出5个素数。
1、打开VC2010后的界面。2、点击文件--->新建--->项目。点击 32位控制台应用程序 输入名称 3、以上完成后,再点左击C1后,右击源文件,——>添加——>新建项。4、再选择c++文件,文件名称,现在都可以写程序了。5、#define max 100 宏定义max=100。6、最后运行结果如下。

c语言小游戏代码
void gtxy( int x,int y); \/\/以下声明要用到的几个自编函数 void csh( ); \/\/初始化界面 void keymove( ); \/\/按键操作移动蛇 void putFod( ); \/\/投放食物 int Over( ); \/\/游戏结束(1是0否) void Color(int a); \/\/设定显示颜色的函数 int main( ) \/\/主函数 { csh( ); while(1) { ...

vc++环境下的c++游戏源代码,求提高求进步。。。
food.yes=1;\/*1表示需要出现新食物,0表示已经存在食物*\/ snake.life=0;\/*活着*\/ snake.direction=1;\/*方向往右*\/ snake.x[0]=100;snake.y[0]=100;\/*蛇头*\/ snake.x[1]=110;snake.y[1]=100;snake.node=2;\/*节数*\/ PrScore();\/*输出得分*\/ while(1)\/*可以重复玩游戏,压ESC键...

跪求在VC\/C++环境下运行的小游戏完整源代码,如:贪吃蛇、推箱子啊都...
跪求在VC\/C++环境下运行的小游戏完整源代码,如:贪吃蛇、推箱子啊都可以。邮箱609083568@qq.com  我来答 2个回答 #热议# 已婚女性就应该承担家里大部分家务吗?513906163 2012-06-08 知道答主 回答量:14 采纳率:0% 帮助的人:3.8万 我也去答题访问个人页 关注 展开全部 #include <windows.h>#...

用c++我自己编写一个小程序,怎么才能够生成一个独立的安装程序啊,在操...
如果你用的是VC的话,在你用F5调试之后,它会在你的工程目录下生成一个Debug文件夹,里面有一个和你工程名一样的exe文件,它就是可以直接运行的应用程序文件

怎样用vc++编写一个窗口应用程序?
1、首先设计好界面。2、然后编写DoDataExchange程式。3、然后编写OnInitDialog初始化程式。4、然后编写OnSysCommand程式。5、然后编写OnPaint绘制程式。6、最后编写OnSetlock锁程式。

相似回答