C/C++精品视频集
这是我收集的部分C/C++精品视频集.
其中部分下载地址:
2015-04-13 C语言精髓所在——指针的艺术 链接: http://pan.http://www.cmpx.com.cn//s/1hqy78aS 密码: nivq
2015-04-16 C++打造酷炫鼠标-Vico老师.
链接: http://pan.http://www.cmpx.com.cn//s/1c0B6X7y 密码: 5j3z
2015-04-24 C++开发最牛贪吃蛇游戏------盛大内部核心技术 链接: http://pan.http://www.cmpx.com.cn//s/1bn6P6Q7 密码: 1n8e
视频太多没一一上传.
可以到我同学初の晴空间寻找直接按住Ctry点击此处即可
1
下面是《《坦克大战》》和《《俄罗斯方块》》
坦克大战:(2页到18页)
#include
HANDLE Mutex=CreateMutex(NULL,FALSE,NULL);//互斥对象
int GameOver=0; int level=0;
int map[23][23];
//坦克种类,Normal为玩家坦克 #define Normal 0 #define Red 1 #define Blue 2 #define Green 3 //方向的宏定义 #define Up 0 #define Down 1 #define Left 2 #define Right 3
//地图标记的宏定义 #define Empty 0 #define Player 1
#define PlayerBullet 2 #define EnemyBullet 3 #define Enemy 4
int Kill; int KillRed; int KillGreen; int EnemyExist;
void SetPos(int i,int j)//设定光标位置 {
2
COORD pos={i,j}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(Out, pos); }
void HideCurSor(void)//隐藏光标 { CONSOLE_CURSOR_INFO info={1,0}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorInfo(Out,&info); }
int sharp[4][12]= { {0,1,1,0,1,1,1,2,2,0,2,2}, {0,0,0,2,1,0,1,1,1,2,2,1}, {0,1,0,2,1,0,1,1,2,1,2,2}, {0,0,0,1,1,1,1,2,2,0,2,1},
};//此数组用来保存坦克各个方向的形状信息
DWORD WINAPI Bulletfly(LPVOID lpParameter);//子弹函数申明 void Updata();//更新界面信息函数申明
class Tank//坦克类 {
private: int Direction;//方向 int hotpoint[2];//活动点 int Speed;//速度 int FirePower;//火力 public: Tank(int dir,int hot1,int hot2,int typ,int spe,int firepow)//构造函数 { Direction=dir; hotpoint[0]=hot1; hotpoint[1]=hot2; Type=typ; Speed=spe; FirePower=firepow; } int Type;//坦克的种类(详见宏定义) int ID;//坦克在MAP中的标记(详见宏定义) int FireEnable;//是否可以开火 int Life;//生命值
3
void Running();//运行函数 int Judge(int x,int y,int ID);//判断是否可以绘制坦克 void DrawTank();//重绘坦克 void Redraw();//擦除坦克 int GetSpeed()//获取速度 { return Speed; } int GetFire()//获取火力 { return FirePower; } int GetDirection()//获取方向 { return Direction; } int GetHotX()//获取活动点坐标 { return hotpoint[0]; } int GetHotY() { return hotpoint[1]; } void IncreaseFire()//火力+ { FirePower++; } void IncreaseSpeed()//速度+ { Speed++; } void ChangeDirection(int newD)//改变方向 { Direction=newD; } void ChangePos(int x,int y)//改变活动点 { hotpoint[0]=x; hotpoint[1]=y; } };
Tank player(Right,0,0,Normal,1,1);//玩家
4
Tank enemy(Left,20,0,Red,1,1);//敌人
void Tank::DrawTank()//绘制坦克 { int i; int nx,ny; if(Type==Red) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED); else if(Type==Blue) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_BLUE); else if(Type==Green) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_GREEN); else if(Type==Normal) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); for(i=0;i<6;i++) { nx=hotpoint[0]+sharp[Direction][i*2]; ny=hotpoint[1]+sharp[Direction][i*2+1]; SetPos((ny+1)*2,nx+1);//利用sharp数组相对于点x,y绘制形状 map[nx][ny]=ID; cout<<\■\ } }
void Tank::Redraw()//擦除坦克,原理同上 { int i; int nx,ny; for(i=0;i<6;i++) { nx=hotpoint[0]+sharp[Direction][i*2]; ny=hotpoint[1]+sharp[Direction][i*2+1]; map[nx][ny]=Empty; SetPos((ny+1)*2,nx+1); cout<<\ }
5