• 大小: 11.32MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-26
  • 语言: C/C++
  • 标签: c++  初学者  

资源简介

就是简单的弹球游戏,用按键A和按键D控制板子左右移动

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

using namespace  std;

void gotoxy(COORD pos) {

HANDLE hout;
hout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout pos);
}


class game {
public:
string Board = “▄▄▄“;
string ball = “●“;
COORD pos1 = { 3517 };
COORD pos2;
int  spsign szsign = 1;

void initball() {
srand((unsigned)time(0));
int y = 0 x = rand() % 41 + 20;
COORD temp = { xy };
pos2 = temp;
spsign = rand() % 2;     //如果直接产生1或者-1的话,

if (spsign == 0)
spsign = -1;
}

void drawboard() {
gotoxy(pos1);
cout << Board;
}

void  eraseboard() {
gotoxy(pos1);
cout << “      “;
}


void drawball() {
gotoxy(pos2);
cout << ball;
}

void  eraseball() {
gotoxy(pos2);
cout << “      “;
}

void shuipingmove() {
pos2.X = pos2.X + spsign;        //优化的结果
if (pos2.X >= 78 || pos2.X <= 0)
spsign = 0 - spsign;

}

void cuizhimove() {
pos2.Y = pos2.Y + szsign;

if (pos2.Y == 16) {
if (pos2.X >= pos1.X&&pos2.X <= pos1.X + 6)
szsign = 0 - szsign;

else gameover();

}

if (pos2.Y == 0)
szsign = 0 - szsign;
}

void boardmove(char x) {
if (x == ‘a‘) {
pos1.X--;
if (pos1.X < 0)
pos1.X = 0;
}

if (x == ‘d‘) {
pos1.X++;
if (pos1.X > 74)
pos1.X = 74;
}

}

void playing() {

begin();
initball();
drawboard();
drawball();

clock_t startx starty;
startx = starty = clock();
   

while (1) {
Sleep(8);

if (_kbhit()) {
char x = _getch();

if (x == ‘a‘ || x == ‘d‘) {
eraseboard();
boardmove(x);
drawboard();
}
else if (x == ‘p‘)
{
Pause();
}
}

if (clock()-startx>300) {
eraseball();
shuipingmove();
drawball();
startx = clock();
}



if (clock()-starty>500) {
eraseball();
cuizhimove();
drawball();
starty = clock();
}
}
}

void Pause()
{
COORD temp;
temp = { 612 };

gotoxy(temp);
cout << “暂停中...“;
char c = _getch();
while (c != ‘p‘)
c = _getch();
gotoxy(temp);
cout << “         “;
}

void begin() {

COORD temp = { 2010 };
gotoxy(temp);
cout << “welcome to game Board And Ball“ << endl;
temp = { 2513 };
gotoxy(temp);
cout << “Press Any To Start...“;
getchar();
system(“cls“);
}

void gameover() {
system(“cls“);
COORD temp = { 3612 };
gotoxy(temp);
string str = “Game Over!“;
for (int i = 0; i < str.size(); i++)
{
Sleep(200);
cout << str[i];
}
cout << endl;
exit(0);

}


};


int main() {

game test;
test.playing();
}

//   总结
//    在做1.0的时候,总体的思路是分2步走,首先思考的是如何实现板的移动,后来就从网上找了代码,如何通过键盘来实现光标的移动,加入几个输出语句后
//   就能实现板子的移动了,新问题在于如何控制边界问题。在实现小球的移动时,考虑了小球初始位置的随机性,小球移动方向的随机性,小球要怎么能凑够
//    自己去运动呢 实现方案就是运用clock()函数来计数 一开始还分别置了2个标志  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-01 14:10  弹球小游戏\
     目录           0  2018-03-01 14:10  弹球小游戏\.vs\
     目录           0  2018-03-01 14:10  弹球小游戏\.vs\Project2\
     目录           0  2018-03-01 14:10  弹球小游戏\.vs\Project2\v14\
     文件       32768  2018-02-13 21:36  弹球小游戏\.vs\Project2\v14\.suo
     目录           0  2018-03-01 14:10  弹球小游戏\Debug\
     文件       74752  2018-02-13 21:31  弹球小游戏\Debug\Project2.exe
     文件      453496  2018-02-13 21:31  弹球小游戏\Debug\Project2.ilk
     文件      602112  2018-02-13 21:31  弹球小游戏\Debug\Project2.pdb
     文件    29827072  2018-02-13 21:36  弹球小游戏\Project2.VC.db
     文件        1306  2017-09-26 21:02  弹球小游戏\Project2.sln
     目录           0  2018-03-01 14:10  弹球小游戏\弹球小游戏\
     目录           0  2018-03-01 14:10  弹球小游戏\弹球小游戏\Debug\
     文件         551  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.log
     目录           0  2018-03-01 14:10  弹球小游戏\弹球小游戏\Debug\Project2.tlog\
     文件        1776  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\CL.command.1.tlog
     文件       92352  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\CL.read.1.tlog
     文件        3174  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\CL.write.1.tlog
     文件         232  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\Project2.lastbuildstate
     文件        2582  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\link.command.1.tlog
     文件        3166  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\link.read.1.tlog
     文件         622  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\Project2.tlog\link.write.1.tlog
     文件      226724  2017-10-19 12:45  弹球小游戏\弹球小游戏\Debug\main.obj
     文件     1133568  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\vc140.idb
     文件      577536  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\vc140.pdb
     文件       46712  2017-10-18 22:19  弹球小游戏\弹球小游戏\Debug\源.obj
     文件      189367  2018-02-13 21:31  弹球小游戏\弹球小游戏\Debug\源2.0.obj
     文件        5707  2018-02-13 21:31  弹球小游戏\弹球小游戏\Project2.vcxproj
     文件         947  2018-02-13 21:31  弹球小游戏\弹球小游戏\Project2.vcxproj.filters
     文件        6055  2018-02-13 21:31  弹球小游戏\弹球小游戏\源2.0.cpp

评论

共有 条评论