《点燃我,温暖你》理工男神李峋同款C语言版本爱心

这篇具有很好参考价值的文章主要介绍了《点燃我,温暖你》理工男神李峋同款C语言版本爱心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期很火的《点燃我,温暖你》很火,里面的爱心代码也很惊艳,但是程序员看了觉得尬的扣脚,

网上也有他其他的语言爱心源码,但都不是C语言的,用语言描述一下,就是好多爱心,然后从内到外,从小到大的显示。今天就给大家分享:爱心代码,边看边用!

2.实现

C语言程序的编写就像同将一头大象放到冰箱里。

1、打开冰箱

2、放入大象

3、关上冰箱

首先就是计算坐标,更新坐标,绘制爱心三步。重复调用,就可以实现。里面的具体细节,可以查看代码。

3.运行效果

点燃我温暖你计算机知识,C语言,编程语言,计算机/it,c语言,算法,c++,开发语言,服务器文章来源地址https://www.toymoban.com/news/detail-833808.html

 4.源码


///
// 程序名称:《点燃我,温暖你》爱心程序
// 编译环境:Mictosoft Visual Studio 2013,+EasyX_20200315(beta)
// 作  者:爱编程的胡桃
// 源码获取加q群:724050348   想学习更多项目、和同行交流学习都可以进来 ~
// 

#include<graphics.h>
#include<conio.h>
#include<time.h>
#include<math.h>
#include<sys/timeb.h>

struct MyLove
{
  int NUMS;  //  编号
  double m;
  double n;
  double size;
  bool Is_show;
  int x;
  int y;
};

MyLove mylove[400];
int CenterX = 320;
int CenterY = 180;
double Size = 60;
void initdata();  // 初始化数据
void updata();    // 更新
void movedata();  // 平移
void showdata();  // 显示
int* GetRand(int* buf, int count, int range);  // 随机数的生成
void heart(int x0, int y0, int size, COLORREF C);
void HpSleep(int ms);

int main()
{
  initgraph(640, 480);
  initdata();
  BeginBatchDraw();
  while (true)
  {
    updata();
    showdata();
    HpSleep(30);    // 改为精确延时
    FlushBatchDraw();
    cleardevice();
  }
  EndBatchDraw();
  _getch();
  return 0;
}

void updata()
{
  int* buf = (int*)malloc(sizeof(int)* 20);
  buf = GetRand(buf, 20, (int)(2 * Size / 0.01));
  movedata();
  for (int i = 0; i < 20; i++)
  {
    mylove[i].m = buf[i] * 0.01;
    mylove[i].n = (((sin(buf[(int)i] * 0.01) * sqrt(fabs(cos(buf[(int)i] * 0.01)))) / (sin(buf[(int)i] * 0.01) + 1.4142)) - 2 * sin(buf[(int)i] * 0.01) + 2);
    mylove[i].size = Size;
    mylove[i].NUMS = i / 20;
    mylove[i].Is_show = true;
    mylove[i].x = (int)(-Size *mylove[i].n * cos(mylove[i].m) + CenterX);
    mylove[i].y = (int)(-Size *mylove[i].n * sin(mylove[i].m) + CenterY - mylove[i].size);
  }
  for (int i = 20; i < 400; i++)
  {
    mylove[i].size = mylove[i].size + 1;
    if (mylove[i].size>80)
    {
      mylove[i].size = 80;
    }
    mylove[i].NUMS = i / 20;
    mylove[i].x = (int)(-mylove[i].size *mylove[i].n * cos(mylove[i].m) + CenterX);
    mylove[i].y = (int)(-mylove[i].size *mylove[i].n * sin(mylove[i].m) + CenterY - mylove[i].size);
  }
}

void movedata()
{
  for (int i = 399; i > 19; i--)
  {
    mylove[i] = mylove[i - 20];
  }
}

void showdata()
{
  settextcolor(RED);
  wchar_t c = 0x59;    // 0x28 是电话机在 Wingdings 字体中的对应编码
  for (int i = 0; i < 400; i++)
  {
    settextstyle(mylove[i].NUMS + 10, 0, "Webdings");
    setbkmode(TRANSPARENT);
    outtextxy(mylove[i].x + 20, mylove[i].y + 20, c);
  }
}

int* GetRand(int* buf, int count, int range)
{
  struct timeb timeSeed;
  ftime(&timeSeed);
  srand(timeSeed.time * 1000 + timeSeed.millitm);  // milli time
  for (int i = 0; i < count; i++)
  {
    int randTmp = rand() % range;
    for (int j = 0; j < i; j++)
    {
      if (buf[j] == randTmp)
      {
        break;//检查重复。
      }
    }
    buf[i] = randTmp;
  }
  return buf;
}

void initdata()
{
  for (int i = 0; i < 400; i++)
  {
    mylove[i].NUMS = 0;
    mylove[i].m = 0;
    mylove[i].n = 0;
    mylove[i].size = 0;
    mylove[i].Is_show = false;
    mylove[i].x = 0;
    mylove[i].y = 0;
  }
}

// 精确延时函数(可以精确到 1ms,精度 ±1ms)
// by yangw80<yw80@qq.com>, 2011-5-4
void HpSleep(int ms)
{
  static clock_t oldclock = clock();    // 静态变量,记录上一次 tick
  oldclock += ms * CLOCKS_PER_SEC / 1000;  // 更新 tick
  if (clock() > oldclock)          // 如果已经超时,无需延时
    oldclock = clock();
  else
  while (clock() < oldclock)      // 延时
    Sleep(1);            // 释放 CPU 控制权,降低 CPU 占用率,精度 10~16ms
  //      Sleep(0);            // 更高精度、更高 CPU 占用率,精度 1ms
}

想学习更多实战项目的可以看看:的个人空间_哔哩哔哩_Bilibili,的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/1827181878?spm_id_from=333.788.0.0

源码获取处:源码获取、问题解答https://jq.qq.com/?_wv=1027&k=D22WxKDq

到了这里,关于《点燃我,温暖你》理工男神李峋同款C语言版本爱心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爱心代码李峋同款爱心 python html

    目录 前言 一、python 1.python 第一个 2.python第二个 二、HTML 1.第一个 2.第二个html 3.第三个html 3.第四个html 总结 最近那个电视剧很火,就是搞爱心代码的,本人兴趣使然,在网上搜集了一些代码,经过一定修改,做一个小总结。源文件直接免费下载点此处 运行 主要用的包都是那

    2024年02月03日
    浏览(42)
  • HTML爱心代码 | 一起体验理工男的极致浪漫(电视剧男主同款)

    大家好,我是陈橘又青,今天中午刷微博,看到最近《点燃我温暖你》中男主角——理工男李峋的爱心代码撩到了无数人,于是把代码开源分享给大家。 遇见你温暖你 李峋爱心代码 因为代码比较简单,就不做过多讲解了,大家需要自取即可, 拿到代码不知道怎么运行 或 想

    2024年01月20日
    浏览(65)
  • 微软Copilot魔法来袭!用自然语言,点燃你的工作热情

    近日我们发布了全新Copilot功能,旨在通过智能化的工作方式,提高企业整体的生产力和客户体验。 新一代的Copilot结合了先进的AI技术,通过自然语言交互,为用户提供即时、个性化的信息和解决方案。 这一变革性的工具将为现场服务人员提供基于聊天的即时支持,并助力重

    2024年02月05日
    浏览(30)
  • 北理工乐学C语言 60.合并排序

    成绩 0 开启时间 2022年11月7日 星期一 08:00 折扣 0.8 折扣时间 2022年11月27日 星期日 23:35 允许迟交 否 关闭时间 2022年12月4日 星期日 23:35 要求,将两个已经排好顺序的字符串合并到一个字符串里 main函数和函数的定义已经写好了,你只能使用指针来完成了。   测试输入 期待的输

    2024年02月03日
    浏览(23)
  • 7-3 投票统计 武汉理工大学C语言

    7-3 投票统计 分数 15 作者 TracyLi 单位 成都信息工程大学 用程序模拟一个活动的投票统计功能。首先输入参选人员个数,再输入每位参选人员名字(不超过20字节),再输入选票张数,再依次输入选票中所选的参选人名(选票中必须选参选中的其中一位)。在输入选票过程中统

    2024年01月21日
    浏览(28)
  • windows11 这个男神到底值得用吗?——一个男神的传奇

    hihihi,我总算开始更新了!这一天(11/21),正好我在家里上课,所以我来了兴致,给大家讲讲windows11,这个男神的传奇! Windows 11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备。于2021年6月24日发布,2021年10月5日发行。 Windows 11提供了许多创新功

    2024年02月09日
    浏览(33)
  • 麻省理工学院与Meta AI共同开发StreamingLLM框架,实现语言模型无限处理长度

    🦉 AI新闻 🚀 麻省理工学院与Meta AI共同开发StreamingLLM框架,实现语言模型无限处理长度 摘要 :麻省理工学院与Meta AI的研究人员联合研发了一款名为StreamingLLM的框架,解决了大语言模型在RAM与泛化问题上的挑战,使其能够处理无限长度的文本内容。该框架采用了注意力下沉

    2024年02月07日
    浏览(29)
  • 陪伴关爱,陪诊小程序源码开发带给您温暖服务

    在现代社会,随着人们生活压力的增加和健康意识的提高,陪诊服务成为了越来越多人的需求。为了满足用户对于贴心陪诊服务的需求,陪诊小程序应运而生。陪诊小程序是基于微信小程序平台开发的应用程序,旨在为用户提供便捷高效的陪诊服务体验。 陪诊小程序通过整合

    2024年02月15日
    浏览(30)
  • 前端男神尤雨溪传奇

    论中国对开源世界的贡献,尤雨溪一定占用一席之地。 本文探寻尤雨溪的成才之路,解密vue背后的动人故事。尤雨溪以一介文科生,而成长为计算机界的大拿,成功之道何在?我虽乏史迁笔法,但有史迁雄心,搜罗网络,荟集成文,以飨读者。 话说,尤大的英语口语让我辈

    2024年02月03日
    浏览(29)
  • 李峋爱心代码

    温馨提示:此代码涉及Tkinter库,小伙伴们运行前需确保Tkinter库函数有安装 windows下安装python tkinter,如果使用pip install tkinter或conda install tkinter都出错: ERROR: Could not find a version that satisfies the requirement tkinter (from versions: none) ERROR: No matching distribution found for tkinter 可尝试方法:

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包