代码如下:
// Sample1.cpp : 定义控制台应用程序的入口点。
//
#include <stdio.h>
#include “console.h”
#pragma comment(lib,“console.lib”)
#include <time.h>
void jiemian0(); // 0
int main()
{
Screen screen;
screen.ShowOrHideCursor(0);
screen.SetTitle(“别踩白块”);
Event event;
event.AddMouseMode();
jiemian0();
event.RestoreMode();
screen.MoveCursorTo(29, 30);
screen.Pause();
screen.Close_handle();
return 0;
}
void jiemian0()
{
Screen screen;
screen.SetSize(61,33);
screen.Paint_screen(14);
screen.TextAttribute(4,14);
screen.DisplayText(1,25,“说明: 鼠标点击黑框,或按代表黑框的字母。”);
Button EXIT_button=Button(30,30,“退出”);
EXIT_button.Attribute(2,14);
EXIT_button.Display_button();
Event event;
Window window0=Window(1,12,60,10);
Window window[4]={Window(1,12,14,10),Window(16,12,14,10),Window(31,12,14,10),Window(46,12,14,10)};
screen.Character_Bgcolor_num=14;
screen.Character_color_num=4;
char s[4]={‘A’,‘S’,‘D’,‘F’};
for(int i=0;i<4;i++)
{
window[i].Paint_window(1);
screen.DisplayCharacter(window[i].cx0+window[i].wide/2,window[i].cy0+window[i].heigh,s[i],1);
}
srand((unsigned)time(0));
int num=(int)(rand()%4);
window[num].Paint_window(0);
int selection=10;
int score = 0;
while(1)
{
event.ReadEvent();
if(event.Mouse_Event())
{
if(EXIT_button.MousePosition_At_button()
&&event.Left_Button_Pressed())
{
break;
}
for(int i=0;i<4;i++)
if(window[i].MousePosition_At_window()
&&event.Left_Button_Pressed()&&!event.Mouse_Moved())
{
selection=i;
if(selection==num)
{
for(int x=window0.cx0,y=window0.cy0;y>=1;y--)
{
window0.MoveWindow(x,y,14);
Sleep(20);
}
for(int i=0;i<4;i++)window[i].Paint_window(1);
num=(int)(rand()%4);
window[num].Paint_window(0);
window0.cx0=1;
window0.cy0=12;
selection=10;
score += 20;
}
else
{
screen.SetTextColorAndTextBackgroundColor(2,14);
screen.MoveCursorTo(10, 30);
printf("得分:%d", score);
return;
}
}
}
if(event.Key_Event()&&event.Key_Down())
{
char ch=event.Get_ch();
WORD vk=event.Get_vk();
if(ch=='q'||vk==VK_ESCAPE)
{
break;
}
if(ch=='a'||ch=='A')selection=0;
else if(ch=='s'||ch=='S')selection=1;
else if(ch=='d'||ch=='D')selection=2;
else if(ch=='f'||ch=='F')selection=3;
else continue;
if(selection==num)
{
for(int x=window0.cx0,y=window0.cy0;y>=1;y--)
{
window0.MoveWindow(x,y,14);
Sleep(20);
}
for(int i=0;i<4;i++)window[i].Paint_window(1);
num=(int)(rand()%4);
window[num].Paint_window(0);
window0.cx0=1;
window0.cy0=12;
selection=10;
score +=100;
}
else
{
screen.SetTextColorAndTextBackgroundColor(2, 14);
screen.MoveCursorTo(10, 30);
printf("得分:%d", score);
break;
}
}
}
}
运行效果: