21xrx.com
2024-11-22 13:02:47 Friday
登录
文章检索 我的文章 写文章
【趣味编程】C++代码大赏
2023-06-22 09:37:10 深夜i     --     --
趣味编程 C++代码 大赏

C++是一种非常受欢迎的编程语言,具有高效、稳定的特点,并且对各种应用场景都有很好的支持。C++代码可以创建游戏、应用程序、操作系统等。在这些应用程序中,有太多有趣的编程技巧和黑科技。

以下是一些有趣的C++代码示例,可能会让你惊叹它们的效果:

1. C++音乐:

正如你所看到的,C++也可以创作音乐!下面是一个示例代码段,可以创建SI音符:

#include

using namespace std;

int main()

{

  int frequency = 600;

  int duration_ms = 5000;

  Beep(frequency, duration_ms);

  return 0;

}

2. C++游戏:

C++可以创建各种各样的游戏,例如扫雷、扑克牌桌游戏等。下面是视频游戏的示例代码:

#include

#include

using namespace std;

void slot_machine()

{

  int winnings = 0;

  int input;

  while (true)

  {

    cout << "Insert money and press Enter to spin:" << endl;

    cin >> input;

    if(input >= 1)

    {

      int spin1 = rand() % 10 + 1;

      int spin2 = rand() % 10 + 1;

      int spin3 = rand() % 10 + 1;

      for (int i=0; i<50; i++)

      {

        spin1 = rand() % 10 + 1;

        spin2 = rand() % 10 + 1;

        spin3 = rand() % 10 + 1;

        cout << spin1 << "..." << spin2 << "..." << spin3 << endl;

        Sleep(100);

      }

      if (spin1==spin2 && spin2==spin3)

      {

        cout << "You won!" << endl;

        winnings += (input * 10);

      }

      else

        cout << "You lost." << endl;

        winnings -= input;

      cout << "You have " << winnings << " dollars." << endl;

      if (winnings < 0)

        cout << "You don't have any money left. Game over." << endl;

        break;

    }

    else

      break;

  }

}

int main()

{

  slot_machine();

  return 0;

}

3. C++图像:

另一个有趣的应用程序是C++图像处理。下面是将图像转换为黑白图像的示例代码:

#include

#include

#include

#include

using namespace std;

int main()

{

  ifstream fin("color_pic.bmp");

  fin.seekg(18);

  int width = 0;

  fin.read((char*)&width, 4);

  int height = 0;

  fin.seekg(22);

  fin.read((char*)&height, 4);

  int row_padded = (width*3 + 3) & (~3);

  unsigned char* data = new unsigned char[row_padded];

  ofstream fout("black_and_white.bmp", ios::binary);

  fin.seekg(0);

  char bfType[2];

  fin.read(bfType, 2);

  fout.write(bfType, 2);

  char bfSize[4];

  fin.read(bfSize, 4);

  fout.write(bfSize, 4);

  char bfReserved1[2];

  fin.read(bfReserved1, 2);

  fout.write(bfReserved1, 2);

  char bfReserved2[2];

  fin.read(bfReserved2, 2);

  fout.write(bfReserved2, 2);

  char bfOffBits[4];

  fin.read(bfOffBits, 4);

  fout.write(bfOffBits, 4);

  char biSize[4];

  fin.read(biSize, 4);

  fout.write(biSize, 4);

  char biWidth[4];

  fin.read(biWidth, 4);

  fout.write(biWidth, 4);

  char biHeight[4];

  fin.read(biHeight, 4);

  fout.write(biHeight, 4);

  char biPlanes[2];

  fin.read(biPlanes, 2);

  fout.write(biPlanes, 2);

  char biBitCount[2];

  fin.read(biBitCount, 2);

  fout.write(biBitCount, 2);

  char biCompression[4];

  fin.read(biCompression, 4);

  fout.write(biCompression, 4);

  char biSizeImage[4];

  fin.read(biSizeImage, 4);

  fout.write(biSizeImage, 4);

  char biXPelsPerMeter[4];

  fin.read(biXPelsPerMeter, 4);

  fout.write(biXPelsPerMeter, 4);

  char biYPelsPerMeter[4];

  fin.read(biYPelsPerMeter, 4);

  fout.write(biYPelsPerMeter, 4);

  char biClrUsed[4];

  fin.read(biClrUsed, 4);

  fout.write(biClrUsed, 4);

  char biClrImportant[4];

  fin.read(biClrImportant, 4);

  fout.write(biClrImportant, 4);

  for(int i=0; i

  {

    fin.read((char*)data, row_padded);

    for(int j=0; j

    {

      int gray = (data[j] + data[j+1] + data[j+2]) / 3;

      data[j] = gray;

      data[j+1] = gray;

      data[j+2] = gray;

    }

    fout.write((char*)data, row_padded);

  }

  fin.close();

  fout.close();

  return 0;

}

这里我们展示了我们三个有趣的C++代码示例,但这是远远不够的。C++可以为我们带来很多惊人的程序设计效果,只要我们探索越来越深,那么趣味和挑战就会增多。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章