C++语言easyx弹球动画改装版(不建议启动)

这都什么年头了,测试危险程序还用实体机!?

不能用用虚拟机吗,坏了也不怕,

千万不要作死,用实体机测试危险程序(例如此程序) 

代码:

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <Windows.h>
#include <graphics.h>
#define NUM 5
using namespace std;
double WIDTH = GetSystemMetrics(SM_CXSCREEN);
double HEIGHT = GetSystemMetrics(SM_CYSCREEN);
double x[NUM] = { (WIDTH / 2.0),(WIDTH / 3.0),(WIDTH / 4.0),(WIDTH / 10.0),(WIDTH / 10.0) };
double y[NUM] = { (HEIGHT / 2.0),(HEIGHT / 3.0),(HEIGHT / 4.0),(HEIGHT / 10.0),(HEIGHT / 10.0) };
double vx[NUM] = { 1.0,1.0,1.0,1.0,1.0 };
double vy[NUM] = { 1.0,1.0,1.0,1.0,1.0 };
double radius[NUM] = { 1.0,1.0,1.0,1.0,1.0 };
void WinSet();
void MOUSE();
void Ballo(){
    solidcircle(x[0], y[0], radius[0]);
    x[0] = x[0] + vx[0];
    y[0] = y[0] + vy[0];
    if ((x[0] < radius[0]) || (x[0] >= WIDTH - radius[0]))
        vx[0] = -vx[0];
    if ((y[0] <= radius[0]) || (y[0] >= HEIGHT - radius[0]))
        vy[0] = -vy[0];
    setfillcolor(BLUE);
    solidcircle(x[0], y[0], radius[0]);
}
void Ballt(){
    solidcircle(x[1], y[1], radius[1]);
    x[1] = x[1] + vx[1];
    y[1] = y[1] + vy[1];
    if ((x[1] < radius[1]) || (x[1] >= WIDTH - radius[1]))
        vx[1] = -vx[1];
    if ((y[1] <= radius[1]) || (y[1] >= HEIGHT - radius[1]))
        vy[1] = -vy[1];
    setfillcolor(GREEN);
    solidcircle(x[1], y[1], radius[1]);
}
void Ballh(){
    solidcircle(x[2], y[2], radius[2]);
    x[2] = x[2] + vx[2];
    y[2] = y[2] + vy[2];
    if ((x[2] < radius[2]) || (x[2] >= WIDTH - radius[2]))
        vx[2] = -vx[2];
    if ((y[2] <= radius[2]) || (y[2] >= HEIGHT - radius[2]))
        vy[2] = -vy[2];
    setfillcolor(YELLOW);
    solidcircle(x[2], y[2], radius[2]);
}
void Ballf(){
    solidcircle(x[3], y[3], radius[3]);
    x[3] = x[3] + vx[3];
    y[3] = y[3] + vy[3];
    if ((x[3] < radius[3]) || (x[3] >= WIDTH - radius[3]))
        vx[3] = -vx[3];
    if ((y[3] <= radius[3]) || (y[3] >= HEIGHT - radius[3]))
        vy[3] = -vy[3];
    setfillcolor(RED);
    solidcircle(x[3], y[3], radius[3]);
}
void Balli(){
    solidcircle(x[4], y[4], radius[4]);
    x[4] = x[4] + vx[4];
    y[4] = y[4] + vy[4];
    if ((x[4] < radius[4]) || (x[4] >= WIDTH - radius[4]))
        vx[4] = -vx[4];
    if ((y[4] <= radius[4]) || (y[4] >= HEIGHT - radius[4]))
        vy[4] = -vy[4];
    setfillcolor(RGB(128, 128, 255));
    solidcircle(x[4], y[4], radius[4]);
}
int main(){
    initgraph(WIDTH, HEIGHT);
    HWND hWnd = GetHWnd();
    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_CAPTION);
    MoveWindow(hWnd, 0, 0, WIDTH, HEIGHT, TRUE);
    WinSet();
    setbkcolor(WHITE);
    cleardevice();
    BeginBatchDraw();
    while (1){
        Ballo();
        Ballt();
        Ballh();
        Ballf();
        Balli();
        FlushBatchDraw();
        Sleep(1);
        MOUSE();
    }
    EndBatchDraw();
    return 0;
}
void WinSet(){
    HWND hWnd = GetHWnd();
    ::SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & (~(WS_CAPTION | WS_SYSMENU | WS_SIZEBOX)));
    ::SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) & (~(WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME)) | WS_EX_LAYERED | WS_EX_TOOLWINDOW);
    SetWindowPos(hWnd, HWND_TOPMOST, (GetSystemMetrics(SM_CXSCREEN) - getwidth()) / 2, (GetSystemMetrics(SM_CYSCREEN) - getheight()) / 2, getwidth(), getheight(), SWP_SHOWWINDOW | SWP_FRAMECHANGED | SWP_DRAWFRAME);
    SetLayeredWindowAttributes(hWnd, 0x000000, 0, LWA_COLORKEY);
}
void MOUSE(){
    int x, y;
    x =0; 
    y =0;
    SetCursorPos(x, y); 
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值