C语言练手项目—流星雨表白—程序员的浪漫—脱单神器
生活随笔
收集整理的這篇文章主要介紹了
C语言练手项目—流星雨表白—程序员的浪漫—脱单神器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
穿越時間的屏障,扭曲,聯結,消逝,重回。流星帶來的是什么?絕望,亦或是希望。守望同一片天空的那份期望,三年前的相遇,你說出了你的名字,在比我名字更久之前的你。三年后的我,因為失去了什么而感到失落。現在我終于知道了,不要再走散了吧。醒來后還能記起來嗎?你的名字是什么?
今天就為大家帶來浪漫流星雨表白程序教程
先看下效果(背景照片、字體、流星雨圖案這些都可依據個人喜好更換哈)
?怎么寫呢,必不可少的圖形庫不能丟
#include<easyx.h>再加一個多媒體頭文件
#include<mmsystem.h>設置背景圖以及流星雨數量與圖片
#define NUM 100 //流星雨數量//背景圖 IMAGE img_bk[2]; //流星圖片 IMAGE img_meteor[2];設置流星位置與速度
struct Meteor //流星 {int x;int y;int speed; //速度 }; struct Meteor meteor[NUM];背景音樂
mciSendString(_T("open ./images/浪漫空氣.mp3 alias bgm"), NULL, 0, NULL);字體樣式
settextstyle(40, 0, _T("華文行楷"));字體顏色
settextcolor(RGB(rand()%256, rand() % 256, rand() % 256));背景圖片
putimage(0, 0, img_bk);主角登場,表白語句
outtextxy(450, 20, _T("德克薩斯,我喜歡你"));outtextxy(200, 100, _T("愛意隨風起,風止意難平。"));outtextxy(200, 150, _T("我還是很喜歡你,像風吹過幾萬里"));outtextxy(200, 200, _T("春風十里不如你,我喜歡你"));outtextxy(200, 250, _T("曾經有份真摯的感情擺在我面前,我卻沒有珍惜"));outtextxy(200, 300, _T("春風十里,不及你嫣然一笑。"));outtextxy(200, 350, _T("天青等煙雨,而我在等你"));outtextxy(200, 400, _T("因為我愛你,所以縱容你"));outtextxy(200, 450, _T("情書是抄的,愛你是真的。"));outtextxy(200, 500, _T("----------------------------愛你的拉普蘭德"));氣氛組少不了的禮花
for (size_t i = 0; i < 10; i++){settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));outtextxy(rand()%1200, rand() % 800, _T("?"));outtextxy(rand() % 1200, rand() % 800, _T("🌺"));}Sleep(1000);一些細節
//初始化流星 void initMeteor(int i) {meteor[i].x = rand() % (1200*2) - 1200; //(0-1200,1200)meteor[i].y = rand() %20 - 200; //(-78,-200)meteor[i].speed = rand() % 15 + 1; } //繪制流星 void drawMeteor() {for (int i = 0; i < NUM; i++){putimage(meteor[i].x, meteor[i].y, img_meteor + rand() % 2,SRCPAINT);} } //移動流星 void moveMeteor() {//改變坐標就可以實現移動了,斜向x,y都要變化for (int i = 0; i < NUM; i++){meteor[i].x += meteor[i].speed;meteor[i].y += meteor[i].speed;if (meteor[i].y > getheight() || meteor[i].x>getwidth()){initMeteor(i);}} }主函數
int main() {//創建圖形窗口initgraph(1200, 800,EW_SHOWCONSOLE);//加載圖片loadimage(img_bk, _T("./images/welcome.png"),1200,800);loadimage(img_bk + 1, _T("./images/bk.png"),1200,800);loadimage(img_meteor, _T("./images/1.jpg"), 50, 50);loadimage(img_meteor+1, _T("./images/2.jpg"), 50, 50);welcome();for (size_t i = 0; i < NUM; i++){initMeteor(i);}//防止閃屏,雙緩沖BeginBatchDraw(); //開啟雙緩沖繪圖while (true){//控制畫面的幀率 26幀 60int begin = clock(); //獲取程序運行時間(毫秒數)putimage(0, 0, img_bk + 1);drawMeteor();moveMeteor();//Sleep(50); //讓程序休眠FlushBatchDraw();//刷新//獲取程序總共的執行時間int timeRemaining = clock() - begin;//計算每幀需要的時間int timeFrame = 1000.0 / 60;//獲取程序執行時間有沒有超過,每幀執行的最大時間int delay = timeFrame - timeRemaining;if (delay > 0){printf("%d\n", delay); Sleep(delay); //動態變化}}EndBatchDraw();有個地方忘說了,記得設置透明背景模式
setbkmode(TRANSPARENT);再完善一下整體格式與代碼完整度就大功告成啦。
獲取游戲源碼及素材可以進來我的學習圈【806041599】,進來一起學習交流,有一些資料可以幫助大家更好的學習,在學習C語言的過程中遇到任何的問題,都可以發出來一起討論,每天晚上20:00都會有直播給大家分享C/C++編程學習知識和路線方法,會不定期更新最新的教程和學習方法,大家都是學習C/C++的,或是轉行,或是大學生,還有工作中想提升自己能力的前端黨,如果你是正在學習C/C++的小伙伴可以加入學習。最后祝所有程序員都能夠走上人生巔峰,讓代碼將夢想照進現實。
總結
以上是生活随笔為你收集整理的C语言练手项目—流星雨表白—程序员的浪漫—脱单神器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 佛祖保佑,永无 BUG,永不修改 | K
- 下一篇: python开发温湿度显示界面_用Mic