用C++写一个简单的动态甜甜圈吧字符串显示的那种哦

举报
zhangrelay 发表于 2021/07/15 02:13:57 2021/07/15
【摘要】 用这个例子,复习一下C++吧,这是一款学习机器人编程必不可缺的重要语言! Linux版本:https://zhangrelay.blog.csdn.net/article/details/110206761 效果是这样的,如下: 字符串版动态甜甜圈 使用编译环境为Win10+Microsoft Visual Studio Community 2019...

用这个例子,复习一下C++吧,这是一款学习机器人编程必不可缺的重要语言!

Linux版本:https://zhangrelay.blog.csdn.net/article/details/110206761

效果是这样的,如下:

使用编译环境为Win10+Microsoft Visual Studio Community 2019,如下:

源代码如下:


  
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <cstring>
  4. #include <Windows.h>
  5. void usleep(__int64 usec)
  6. {
  7. HANDLE timer;
  8. LARGE_INTEGER ft;
  9. ft.QuadPart = -(10 * usec);
  10. timer = CreateWaitableTimer(NULL, TRUE, NULL);
  11. SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0);
  12. WaitForSingleObject(timer, INFINITE);
  13. CloseHandle(timer);
  14. }
  15. int main() {
  16. float A = 0, B = 0;
  17. float i, j;
  18. int k;
  19. float z[1760];
  20. char b[1760];
  21. printf("\x1b[2J");
  22. for (;;) {
  23. memset(b, 32, 1760);
  24. memset(z, 0, 7040);
  25. for (j = 0; j < 6.28; j += 0.07) {
  26. for (i = 0; i < 6.28; i += 0.02) {
  27. float c = sin(i);
  28. float d = cos(j);
  29. float e = sin(A);
  30. float f = sin(j);
  31. float g = cos(A);
  32. float h = d + 2;
  33. float D = 1 / (c * h * e + f * g + 5);
  34. float l = cos(i);
  35. float m = cos(B);
  36. float n = sin(B);
  37. float t = c * h * g - f * e;
  38. int x = 40 + 30 * D * (l * h * m - t * n);
  39. int y = 12 + 15 * D * (l * h * n + t * m);
  40. int o = x + 80 * y;
  41. int N = 8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n);
  42. if (22 > y && y > 0 && x > 0 && 80 > x && D > z[o]) {
  43. z[o] = D;
  44. b[o] = ".,-~:;=!*#$@"[N > 0 ? N : 0];
  45. }
  46. }
  47. }
  48. printf("\x1b[H");
  49. for (k = 0; k < 1761; k++) {
  50. putchar(k % 80 ? b[k] : 10);
  51. A += 0.00004;
  52. B += 0.00002;
  53. }
  54. usleep(30000);
  55. }
  56. return 0;
  57. }

 试一下吧,感受编程语言和数学结合的魅力!!!


 

 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/109863427

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。