告白程序

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<windows.h>
#define MY_BUFSIZE 1024
HWND GetConsoleHwnd(void)
{	
	HWND hwndFound;
	char pszNewWindowTitle[MY_BUFSIZE];
	char pszOldWindowTitle[MY_BUFSIZE];
	GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE); 
	wsprintf(pszNewWindowTitle,"%d/%d",
	GetTickCount(),
	GetCurrentProcessId());
	SetConsoleTitle(pszNewWindowTitle);
 	Sleep(40);
 	hwndFound=FindWindow(NULL, pszNewWindowTitle);
 	SetConsoleTitle(pszOldWindowTitle);
 	return(hwndFound);
}
void drawXY()
{
	HWND hWnd=GetConsoleHwnd();
	HDC hDC=GetDC(hWnd);
	COORD dwSize;
	HPEN hNewPen=CreatePen(PS_SOLID,1,RGB(255,0,0));
	HPEN hOldPen=(HPEN)SelectObject(hDC,hNewPen);
	CONSOLE_SCREEN_BUFFER_INFO bInfo; 
	HANDLE Hout=GetStdHandle(STD_OUTPUT_HANDLE);
	GetConsoleScreenBufferInfo(Hout, &bInfo );
	dwSize=bInfo.dwMaximumWindowSize ;
	dwSize.X *=8;
	dwSize.Y*=8;
	SetBkMode(hDC, TRANSPARENT);SetTextColor(hDC,255*255);
	TextOut(hDC,dwSize.X-15,dwSize.Y/2-15,"X",1);
	TextOut(hDC,dwSize.X/2,0,"Y",1);
	MoveToEx(hDC,0,dwSize.Y /2,NULL);
	LineTo(hDC,dwSize.X,dwSize.Y/2);
	MoveToEx(hDC,dwSize.X/2,0,NULL);
	LineTo(hDC,dwSize.X/2,dwSize.Y);
	ReleaseDC(hWnd,hDC); 
}
void draw(double p)
{
	int i;
	double x,y;
	HWND hWnd=GetConsoleHwnd();
	HDC hDC=GetDC(hWnd);
	COORD dwSize;
	HPEN hNewPen=CreatePen(PS_SOLID,1,RGB(255,0,0));
	HPEN hOldPen=(HPEN)SelectObject(hDC,hNewPen);
	CONSOLE_SCREEN_BUFFER_INFO bInfo;
	HANDLE Hout=GetStdHandle(STD_OUTPUT_HANDLE);
	GetConsoleScreenBufferInfo(Hout, &bInfo );
	dwSize=bInfo.dwMaximumWindowSize ;
	dwSize.X *=8;
	dwSize.Y*=8;
	for(i=-180;i<=180;i++)
	{
		x=16*pow(sin(i*3.1415926/180),3.0)*p;
		y=(13*cos(i*3.1415926/180)-5*cos(2*i*3.1415926/180)-2*cos(3*i*3.1415926/180)-cos(4*i*3.1415926/180))*p;
		x=(x+16)*dwSize.X/32/2+dwSize.X/4;
		y=-y/16*dwSize.Y/2.3+dwSize.Y/2;
		x=x;
		y=y;
		MoveToEx(hDC,x,y,NULL);
		LineTo(hDC,x+1,y+1);
	}
	
}
 
int main(void)
{
	double p;
	system("color 0c");
	//drawXY();
	printf("                                这是一个告白程序!");
	for(p=0.6;p<=1;p=p+0.01)
		draw(p);
	printf("\n\n\n\n\n\n\n\n\n\n\n\n                                     那个谁!\n");
	printf("                                   I love you!\n\n\n\n\n\n\n\n\n\n\n\n");
	system("PAUSE"); 
}

 

posted @   JackieDYH  阅读(2)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示