用C++写的一个小游戏,没用到类。 开始用的清屏函数来刷新屏幕,但是屏幕闪烁严重,最后采用了移动光标方法来刷新屏幕,使游戏过程中屏幕不会闪烁。
#include<iostream>
#include<ctime>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<fstream>
using namespace std;
int a[4][4]={0};
int score=0;
void menu();
int if_end();
void gotoxy(int x,int y);
void save_score(int x);
void read_score();
void save_data();
void read_data();
void printf_num();
void rand_num();
void move();
int if_end()
{
int i,j,b=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]==0)b++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j]==a[i][j+1])b++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
if(a[j][i]==a[j+1][i])b++;
}
}
if(b!=0)b=1;
return b;
}
void gotoxy(int x,int y)
{
COORD coord={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
void save_score(int x)
{
int i,j,t;
int a[11]={0};
ifstream fin ("score.txt",ios::in);
if(!fin)
{
ifstream fin ("score.txt",ios::trunc);
}
for(i=0;i<10;i++)
{
fin>>a[i];
}
fin.close();
for(i=0;i<10;i++)
{
if(a[i]==x)x=0;
}
a[10]=x;
for(i=10;i>0;i--)
{
for(j=i-1;j>=0;j--)
{
if(a[j]<a[i])<br> {
a[j]^=a[i];
a[i]^=a[j];
a[j]^=a[i];
}
}
}
ofstream fout ("score.txt",ios::out);
if(!fout)
{
cout<<"Can't open output file!"<<endl;<br> exit(1);
}
for(i=0;i<10;i++)
{
fout<<a[i]<<endl;<br> }
fout.close();
}
void read_score()
{
int i,a[10];
system("cls");
ifstream fin ("score.txt",ios::in);
if(!fin)
{
cout<<"Can't open output file!"<<endl;<br> getch();
system("cls");
menu();
}
for(i=0;i<10;i++)
{
fin>>a[i];
}
fin.close();
cout<<" 排行榜\n\n" ;
for(i=0;i<10;i++)
{
printf(" %2d.",i+1);
cout<<a[i]<<endl;<br> }
}
void printf_num()
{
int i,j;
char p;
cout<<"\n\n\n\n\n\n\n";
printf(" ┌──┬──┬──┬──┐\n");
for(i=0;i<4;i++)
{
printf(" ");
for(j=0;j<4;j++)
{
if(j==0)cout<<"|";
if(a[i][j]!=0)printf("%4d|",a[i][j]);
else cout<<" |";
}
cout<<endl;<br> if (i < 3)
{
printf(" ├──┼──┼──┼──┤\n"); }
else
{
printf(" └──┴──┴──┴──┘\n");
}
}
printf(" score:%d\n",score);
save_data();
if(if_end()==0)
{
save_score(score);
cout<<"\n\n\n GAME OVER!"<<endl<<"\n\n b="0;<br" br="" case="" char="" color="" cols="115" con=""