1. 程式人生 > 實用技巧 >C/C++程式設計筆記:浪漫流星雨表白程式,七夕想表白,我教你啊!

C/C++程式設計筆記:浪漫流星雨表白程式,七夕想表白,我教你啊!

明天就七夕節了,各位學習程式設計的小可愛們,有什麼美好的計劃了嗎?約好了自己心儀的姑娘嗎?什麼!不要告我說明天你準備宅家看動漫!

別慌,我知道,在座的各位肯定都是有自己的心儀的姑娘,那麼今天就教大家一招,做一個表白程式去進行表白,別等了,趕緊開啟你的VS2013,跟著程式碼敲起來,不然的話,喜歡的人都跟別人跑了!

直接原始碼分享:

#include<stdio.h>
#include<graphics.h>    //圖形庫:easyX201905
#include<conio.h>
#include<time.h>

#define MAXSTAR 1314
#define
MAXMETEOR 520 //結構體 //幾個星星:1000 struct Star { int x, y; int color; int step; }star[MAXSTAR]; //流星結構 struct Meteor { int x, y; int style; int step; }meteor[MAXMETEOR]; IMAGE img1, img2;//1.定義圖片變數 void printText() { //設定文字顏色 settextcolor(RGB(255, 0, 255));//三原色:紅,綠,藍 //調整字型大小 settextstyle(50
, 0, "華文行楷"); //你的文采:發到公屏上 /* 海底月是天上月,眼前人是心上人 春分十里,我喜歡你 終是莊周圓了夢 這是我的手背,這是我的腳背,你是我的寶貝。 一粥一飯/不及你/顰顰一笑 問君能有幾多愁?家人未入眼簾人消瘦 我喜歡你,像風走了八萬裡,不問歸期 白酒清歡無別事,我在等風也在等你 就承認一笑傾城一見自難忘 問君能有幾多愁?佳人未入眼簾人消瘦 ABCDEFGHIJKLMNOPQRSTVWXYZ
*/ //在指定位置輸出字串 outtextxy(450, 20, "七夕到了,炮姐我喜歡你"); //設定文字顏色 settextcolor(RGB(0, 255, 255));//三原色:紅,綠,藍 //調整字型大小 settextstyle(40, 0, "華文行楷"); outtextxy(200, 100, "終是莊周圓了夢"); outtextxy(200, 150, "春分十里,我喜歡你"); outtextxy(200, 200, "一粥一飯不及你顰顰一笑"); outtextxy(200, 250, "就承認一笑傾城一見自難忘"); outtextxy(200, 300, "海底月是天上月,眼前人是心上人"); outtextxy(200, 350, "白酒清歡無別事,我在等風也在等你"); outtextxy(200, 400, "ABCDEFGHIJKLMNOPQRSTVWXYZ"); outtextxy(200, 450, " 我喜歡你,像風走了八萬裡,不問歸期"); outtextxy(200, 500, "問君能有幾多愁?佳人未入眼簾人消瘦"); outtextxy(200, 550, "這是我的手背,這是我的腳背,你是我的寶貝。"); outtextxy(300, 600, "----------------------------------愛你的藝辰"); _getch();//按鍵 } //放大招:流星雨 //初始化星星 void initStar(int i) { //隨機產生座標,顏色,速度 star[i].x = rand() % 1200; star[i].y = rand() % 800; star[i].color = RGB(rand() % 256, rand() % 256, rand() % 256); star[i].step = rand() % 10; } //畫星星 void drawStar(int i) { //畫畫素點:在初始化星星的座標 putpixel(star[i].x, star[i].y, star[i].color); //移動星星:給它速度 star[i].x += star[i].step; //跑到視窗外面的星星:初始化 if (star[i].x >= 1200) { putpixel(star[i].x, star[i].y, star[i].color); initStar(i); } } //流星 //初始化流星 void initMeteor(int i) { meteor[i].x = rand()%2200-1000;//[-1200,1199] meteor[i].y = rand()%20-200; meteor[i].style = rand() % 2; //0,1 meteor[i].step = rand() % 30 + 1;//+3 :流星的速度不為0 } //畫流星:貼圖技術 void drawMeteor(int i) { //3.貼圖:顯示圖片 for (i = 0; i < MAXMETEOR; i++) { switch (meteor[i].style) { case 0: putimage(meteor[i].x, meteor[i].y, &img1,SRCPAINT); break; case 1: putimage(meteor[i].x, meteor[i].y, &img2, SRCPAINT); break; } } } //移動流星 void moveMeteor(int i) { for (i = 0; i < MAXMETEOR; i++) { meteor[i].x += meteor[i].step; meteor[i].y += meteor[i].step; if (meteor[i].x >= 1200 || meteor[i].y >= 800) { initMeteor(i); } } } int main() { //2.載入圖片 loadimage(&img1, "1.jpg", 50, 50); loadimage(&img2, "2.jpg", 50, 50); //介面:初始化圖形環境寬度,高度 initgraph(1200, 800); //隨機函式種子:如果不播種:隨機出來的是偽隨機 srand((unsigned int)time(NULL)); printText(); int i = 0; for ( i = 0; i < MAXSTAR; i++) { initStar(i); } for (i = 0; i < MAXMETEOR; i++) { initMeteor(i); } drawMeteor(i); while (1) { BeginBatchDraw(); cleardevice(); for (i = 0; i < MAXSTAR; i++) { drawStar(i); } drawMeteor(i); moveMeteor(i); Sleep(100); EndBatchDraw(); } while (1); //卡屏 _getch()函式 closegraph();//關閉圖形環境 return 0; }

程式碼都給你們了,還在等什麼呢?GOGOGO!

自學C/C++程式設計難度很大,如果你想更快提升自己的程式設計能力和編寫專案的水平,歡迎一起共同成長!

C語言C++程式設計學習交流圈子,Q群【757874045點選進入微信公眾號:C語言程式設計學習基地

有一些原始碼和資料分享,歡迎轉行也學習程式設計的夥伴,和大家一起交流成長會比自己琢磨更快哦!