有哪些简单有趣的c/c++小程序

如题所述

简单有趣的小程序有忆年共享相册、云梦助眠引导、番茄闹钟等。

1.  忆年共享相册:忆年是一款为用户提供免费的照片存储及共享的应用软件。界面非常简洁,可点击底部按钮生成相册,原图照片都储存在云端,不过期,支持批量上传和下载。在微信中一键邀请分享,能够和亲朋好友共享照片。

2.  云梦助眠引导:它是一款有专业音乐人打造的音频助眠应用。清爽的页面设计,精选了10个睡眠场景。舒缓的音乐+白噪音+人声催眠,专业度高。晚上睡不着觉是最让人头疼的事情了,这款专业的软件可以伴你迅速入眠。

3.  番茄闹钟:有别于一般的闹钟,你可以在接下来的25分钟选择一个任务然后专注的做这件事,番茄闹钟会开始计时。同时提供白噪音,让人专心沉浸在事物中。能够有效地使人集中精力做一件事,随时保持克制。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-01

2048小游戏

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<time.h>

#include<windows.h>

int  jsk();   //计算空格数

void rsgm();  //重置游戏

void inkey();  //按键输入

void mvl();   //向左移动

void mvr();  //向右移动

void mvu();  //向上移动

void mvd();  //向下移动

void shc();   //输出界面

void adnum(); //添加随机数

void ifov();  //游戏是否结束

int bd[4][4];  //存储16个格子中的数字

int score = 0;  //每局得分

int best = 0;  //最高得分

int ifnum;  //1为需要添加0不需要

int over;  // 1为游戏结束0没有结束

int i,j,k;

int main( )

{ rsgm( );  //重置游戏

 inkey( );  //按键输入

 return 0;

}

void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)

{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);

}  //用于控制字符颜色的函数

 

void rsgm( )  //重置游戏

{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器

int n = rand( ) % 16;  //随机函数产生0-15的数字

for (i = 0; i < 4; i++)

{for (j = 0; j < 4; j++)

{ if (n == 0) { int k = rand() % 3; if (k == 0 || k == 1) { bd[i][j] = 2; }

                         else { bd[i][j] = 4; } n--; }

               else { bd[i][j] = 0; n--; }

}

       }

adnum( );

system("cls");

shc( );

}

void inkey( )  //按键输入

{ int key;

while (1)

{ key = getch( );

         if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }

                         else  if (key == 78|| key == 110) { return; }

                         else  continue; }

         ifnum = 0;

     if(key==224)key=getch( );

         switch (key)

             { case 75: mvl( ); break;

               case 77: mvr( ); break;

               case 72: mvu( ); break;

               case 80: mvd( );break;

              }

         if (score > best) { best = score; }

         if (ifnum) { adnum( ); shc( ); }

       }

}

void shc( )  //输出界面

{COORD pos = { 0, 0 };

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);

setColor(12, 0);  //设置字体淡红色,背景为黑色

printf("  游戏: 2048     得分: %d    最高: %d\n", score, best); setColor(7, 0);

printf("***********************************************\n\n");

printf("       ┌──────┬──────┬──────┬──────┐\n");

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

{ printf("       │");

        for (int j = 0; j < 4; j++)

{ if (bd[i][j] != 0)

               { if (bd[i][j] < 10)

                      {if (bd[i][j] == 2) {setColor(14, 0); }

                       else if (bd[i][j] == 4) {setColor(6, 0); }

                       else if (bd[i][j] == 8) {setColor(12, 0); }

                       printf("  %d", bd[i][j]); setColor(7, 0); printf("   │"); }

                 else if (bd[i][j] < 100)

                       {if (bd[i][j] == 16) {setColor(4, 0); }

                            else if (bd[i][j] == 32) {setColor(10, 0); }

                            else if (bd[i][j] == 64) {setColor(2, 0); }

                            printf("  %d", bd[i][j]); setColor(7, 0); printf("  │"); }

                     else if (bd[i][j] < 1000)

                       {if (bd[i][j] == 128) {setColor(9, 0); }

                            else if (bd[i][j] == 256) {setColor(1, 0); }

                            else if (bd[i][j] == 512) {setColor(13, 0); }

                            printf("  %d", bd[i][j]); setColor(7, 0); printf(" │");}

                     else if (bd[i][j] < 10000)

                       {if (bd[i][j] == 1024) {setColor(5, 0); }

                            else {setColor(15, 0); }

                            printf(" %4d", bd[i][j]); setColor(7, 0); printf(" │");}

                     else {int n = bd[i][j];

                             for (int k = 1; k < 30; k++)

                               { n /= 2;

                                    if (n == 1) {setColor(7, 0); printf("2^%2d |", k); break; }

                                   }

                            }

                     }

                else {setColor(0, 0); printf("     ");setColor(7, 0); printf(" │"); }

              }

         setColor(7, 0);

         if (i <= 2) { printf("\n       ├──────┼──────┼──────┼──────┤\n"); }

         else  printf ("\n       └──────┴──────┴──────┴──────┘\n\n");

        }

       printf("***********************************************\n\n"); setColor(13, 0);

       printf("  操作:↑ ↓ ← →  ");

       if (jsk( ) == 0) { ifov( );

                       if (over) { setColor(10, 0); printf("\n\n  游戏结束!是否继续? [ Y/N ]:"); }

}

}

int jsk( )  //计算空格数

{ int n = 0;

for (i = 0; i < 4; i++)

{ for (j = 0; j < 4; j++) { if ( bd[i][j] == 0) {n++;}} }

return n;

}

void mvl( )  //向左移动

{ for (i = 0; i < 4; i++)

{for (j = 1, k = 0; j < 4; j++)

     { if (bd[i][j] > 0)

{ if ( bd[i][k] == bd[i][j])

{ bd[i][k] *= 2;  k++;

                       score = score + 2 * bd[i][j];

                       bd[i][j] = 0;  ifnum = 1; }

                else if ( bd[i][k] == 0) { bd[i][k] = bd[i][j]; bd[i][j] = 0; ifnum = 1; }

                else { bd[i][k + 1] = bd[i][j]; if ((k + 1) != j) { bd[i][j] = 0; ifnum = 1; }

                            k++; }

               }

         }

       }

}

void mvr( )  //向右移动

{for (i = 0; i < 4; i++)

{for (j = 2, k = 3; j >= 0; j--)

{if (bd[i][j] > 0)

      { if (bd[i][k] == bd[i][j])

{bd[i][k] *= 2; k--; score = score + 2 * bd[i][j]; bd[i][j] = 0; ifnum = 1; }

           else if ( bd[i][k] == 0) {bd[i][k] = bd[i][j]; bd[i][j] = 0; ifnum = 1; }

           else { bd[i][k - 1] = bd[i][j]; if ((k - 1) != j) { bd[i][j] = 0; ifnum = 1; } k--; }

          }

        }

}

}

void mvu( )  //向上移动

{for (i = 0; i < 4; i++)

{for (j = 1, k = 0; j < 4; j++)

{if (bd[j][i] > 0)

{if ( bd[k][i] == bd[j][i]) { bd[k][i] *= 2; k++;score = score + 2 * bd[j][i];

                                             bd[j][i] = 0; ifnum = 1; }

              else if ( bd[k][i] == 0) { bd[k][i] = bd[j][i]; bd[j][i] = 0; ifnum = 1; }

              else { bd[k + 1][i] = bd[j][i]; if ((k + 1) != j) { bd[j][i] = 0; ifnum = 1; }

              k++; }

          }

        }

}

}

void mvd( )  //向下移动

{ for (i = 0; i < 4; i++)

  {for (j = 2, k = 3; j >= 0; j--)

{if (bd[j][i] > 0)

{if (bd[k][i] == bd[j][i])

{bd[k][i] *= 2; k--;score = score + 2 * bd[j][i]; bd[j][i] = 0; ifnum = 1; }

              else if (bd[k][i] == 0) {bd[k][i] = bd[j][i]; bd[j][i] = 0; ifnum = 1; }

              else {bd[k - 1][i] = bd[j][i];

                      if ((k - 1) != j) {bd[j][i] = 0; ifnum = 1; } k--; }

              }

        }

}

}

void adnum( )  //添加随机数

{ srand(time(0)); int n = rand( ) % jsk( );

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

{for (int j = 0; j < 4; j++)

{ if (bd[i][j] == 0) {if (n != 0) { n--; }

                             else {int k = rand() % 3;

                                           if (k == 0 || k == 1) {bd[i][j] = 2; return; }

                                           else {bd[i][j] = 4; return; } }

                               }

         }

  }

}

void ifov( )  //游戏是否结束

{ for (int i = 0; i < 4; i++)

   {for (int j = 0; j < 3; j++)

      {if (bd[i][j] == bd[i][j + 1] || bd[j][i] == bd[j + 1][i]) {over = 0; return; }}

  }

 over = 1;

}

有哪些简单有趣的c\/c++小程序
简单有趣的小程序有忆年共享相册、云梦助眠引导、番茄闹钟等。1. 忆年共享相册:忆年是一款为用户提供免费的照片存储及共享的应用软件。界面非常简洁,可点击底部按钮生成相册,原图照片都储存在云端,不过期,支持批量上传和下载。在微信中一键邀请分享,能够和亲朋好友共享照片。2. 云梦助眠引导:它是...

同胞们,可否提供几个有趣的c++程序!!谢谢
\/*第一个程序 <剪刀石头布> *\/#include<iostream>#include<string>#include<ctime>using namespace std;int main(){ string playStr; \/\/玩家输入的选择 int playWin=0; \/\/玩家赢 int cptWin=0; \/\/电脑赢 int noWin=0; \/\/平局 int cpt; \/\/电脑出什么 int sum=0; \/\/玩了几局 float win=0; \/...

有什么好玩的C语言小程序
一个“歼灭敌机”的小游戏,DEVc++编译通过:include <stdio.h> include <conio.h> include <stdlib.h> include <windows.h> include define zlx 10 \/\/增量坐标(x)让游戏框不靠边 define zly 3 \/\/增量坐标(y)让游戏框不靠边 define W 26 \/\/游戏框的宽度 define H 24 \/\/游戏框的...

用C++编写的小游戏源代码
cout << "y or n :";char c = 'y';cin >> c;if (c == 'n')break;} } protected:int ChoiceMode() \/\/选择模式 { int i = 0;system("cls"); \/\/系统调用,清屏 InitChessBoard(); \/\/重新初始化棋盘 cout << "***0、退出 1、电脑vs玩家 2、玩家vs玩家***" ...

用C++写一个简单的表白小程序
本文介绍一个简单的C++表白小程序,其核心功能是通过输入"no"或"yes"来触发不同的反馈。当用户输入"no"时,程序会不断提示用户重新选择,直到用户输入"yes",此时程序将显示一颗会变色的心和"爱你,么么哒"的字样。程序的实现主要通过控制流程和屏幕输出来完成。程序的运行结果是,如果用户输入"no",...

c++一个小程序编写
include<cstdlib>#include<cmath>#include<iostream>using namespace std;float triangle(float,float,float);int main(){int a,b,c;cin>>a>>b>>c;cout<<triangle(a,b,c);system("pause");return 0;}float triangle(float x, float y,float z){int p;p=(x+y+z)\/2;return sqrt(p*...

C\/C++如何写出极简的HelloWorld程序?
C\/C++编程中,要创建一个极简的HelloWorld程序,无需依赖main函数。通过内嵌汇编,可以消除额外的库函数调用,显著减小程序体积。通常的HelloWorld程序从main函数开始,但这并不是必须的。实际上,我们可以编写一个没有main函数的极简版本。以C语言为例,经典的HelloWorld程序看似简单,但编译后的二进制文件...

谁能提供个C++小程序,画面好玩的就可以。要程序代码?
我编的小型计算器程序,能计算普通+,-,*,\/,和带括号的表达式,使用顺序栈的数据结构,程序如下:\/\/\/ include "iostream"include "string"using namespace std;\/\/--- Stack.h --- \/\/定义Stack类 const maxsize=20;enum Error_code { success, overflow, underflow };template <class T> cl...

谁能提供个C++小程序,画面好玩的就可以.要程序代码
int d,fx,fy,score;bool eat;struct body{int x,y;body *last,*next;body(){last=next=NULL;}}*head;int Rand(int l,int r){return rand()%(r-l+1)+l;}void init(){for(int i=0;i<22;i++)for(int j=0;j<52;j++)map[i][j]=' ';for(int i=0;i<52;i++)map[...

制作小程序软件有哪些 制作小程序软件哪个好
1.《编程狮》这是一个有12年历史的老编程软件。用户不仅可以在其中学习大量有用的编程知识,还可以在云中进行一定的基础编程,拥有大量的编程语言。2.手机编程 这款软件最大的功能就是可以在手机上进行编程,可以随时随地进行编程。此外,它还支持许多类型的语言。这个软件可以使用著名的C语言、C++等。3...

相似回答