資源簡介
就是簡單的彈球游戲,用按鍵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?< }
void??eraseboard()?{
gotoxy(pos1);
cout?<“??????“;
}
void?drawball()?{
gotoxy(pos2);
cout?< }
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“?< 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? {
Sleep(200);
cout?< }
cout?< 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\li
?????文件????????3166??2018-02-13?21:31??彈球小游戲\彈球小游戲\Debug\Project2.tlog\li
?????文件?????????622??2018-02-13?21:31??彈球小游戲\彈球小游戲\Debug\Project2.tlog\li
?????文件??????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
評論
共有 條評論