项目: 打字母游戏图形化【C++ / C】
生活随笔
收集整理的這篇文章主要介紹了
项目: 打字母游戏图形化【C++ / C】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
跪求 點(diǎn)贊 留言 打賞隨意
目錄
- 最終的效果
- 代碼
- 資源地址
最終的效果
一下子下3個(gè)字母代碼
//項(xiàng)目名稱:打字程序,有三個(gè)字母隨機(jī)下落 // #define _CRT_SECURE_NO_WARNINGS//避免換編譯器時(shí),有時(shí)候編譯不過(guò) #include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<graphics.h>//圖形圖函數(shù) #include<time.h>//隨機(jī)函數(shù)種子 #include<conio.h>//按鍵操作庫(kù) #include<mmsystem.h> #pragma comment(lib,"Winmm.lib") void intChar(char arrayChar[],int charX[],int charY[],int index) {arrayChar[index]=rand()%26+'A';//避免重復(fù)//[0] 0-1 0-2//[1] 1-0 1-2//[2] 2-0 2-1while(arrayChar[index] == arrayChar[(index+1)% 3] ||arrayChar[index] == arrayChar[index+2 % 3])//要來(lái)比較讓三個(gè)字母沒(méi)有重復(fù){arrayChar[index]=rand()%26+'A';}charX[index]= rand()%501+200;charY[index]= rand()%51-200;//讓下落出現(xiàn)有差錯(cuò)的效果,而不是在同一水平線出現(xiàn) } //轉(zhuǎn)換類型,圖形編程只允許輸出字符串 void outtextxy_score(int X,int Y,int num) //因?yàn)閳D形界面編程只能輸出字符串 //不能輸出整型,所以要把整型變?yōu)樽址?/span> {char str[20]="";sprintf(str,"score: %d",num);outtextxy(X,Y,str); }int main(void) {srand((unsigned int)time(NULL));initgraph(800,600);//打開圖形化界面char arrayChar[3] = "";//存放下落的字母int charX[3] = {0};//存放X坐標(biāo)int charY[3] = {0};//存放Y坐標(biāo)char UserKey = ' ';//存放用戶輸入的字母int score=0;int i=0;for(i=0;i<3;i++)//{intChar(arrayChar,charX,charY,i);//初始化三個(gè)字母}settextstyle(60,0,"宋體");IMAGE mg;loadimage(&mg,"mg.png",800,600);mciSendString("open 1.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); while(1){putimage(0,0,&mg);//慢慢的輸出//改變每一個(gè)字符的Y坐標(biāo)for(i=0;i<3;i++){ charY[i]+=16;}for(i=0;i<3;i++){if(charY[i]>600)//判斷字母是否到底部,如果到底部說(shuō)明你沒(méi)有打這個(gè)字母,那就重新分配{intChar(arrayChar,charX,charY,i);break;}}outtextxy_score(100,100,score);//畫出三個(gè)字符for(i=0;i<3;i++){outtextxy(charX[i],charY[i],arrayChar[i]);}if(_kbhit()){UserKey=_getch();//暫停程序:如果第一次輸入的是空格就暫停,再一次空格結(jié)束暫停。//所謂的暫停,其實(shí)就是讓程序就入死循環(huán)if(UserKey==' '){while(_getch()!=' ');}for(i=0;i<3;i++){if(arrayChar[i] == UserKey || arrayChar[i] == UserKey-('a'-'A'))//判斷三個(gè)字母中哪個(gè)與你輸入的相等,相等則重新分配{score+=10;//計(jì)分intChar(arrayChar,charX,charY,i);printf("\a");break;}}}Sleep(75);cleardevice();//清屏}_getch();//防止閃屏closegraph();return 0; }資源地址
鏈接:https://pan.baidu.com/s/1f41wj7-V20TE2kit4A2koA 提取碼:1234總結(jié)
以上是生活随笔為你收集整理的项目: 打字母游戏图形化【C++ / C】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 项目: 打字母游戏【c++/c】
- 下一篇: 项目: 写一个开头的界面 【c++ /