亚洲AV免费看深爱成人|日韩av另类一级特黄片在线|中国免费一级黄片|国产av一二三区|亚洲有码AV在线|久久亚洲国产日韩欧美|成人免费AV网站|婷婷一区综合一区|亚洲AV无码导航|高级欧美成人网站

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

c語言游戲開發(fā)(C語言零基礎(chǔ)項(xiàng)目:打字母游戲!詳細(xì)思路+源碼分享)

發(fā)布時(shí)間:2023-11-27 05:58:06 瀏覽量:128次

?C語言零基礎(chǔ)項(xiàng)目:打字母游戲!詳細(xì)思路+源碼分享

c語言游戲開發(fā)(C語言零基礎(chǔ)項(xiàng)目:打字母游戲!詳細(xì)思路+源碼分享)

每天一個(gè)C語言小項(xiàng)目,提升自己的編程能力!

《字母游戲》是一款有趣的打字游戲,可以提高你的打字速度。

今天就用C語言寫了這么個(gè)打字母的小程序,就是以前學(xué)習(xí)機(jī)上那種字母往下掉,然后按相應(yīng)鍵字母消失的游戲。

程序不長(zhǎng),尤其很大篇幅都是開始和結(jié)束的文字繪制,除去這些沒幾行代碼了,感覺做個(gè)范例還是很有用的。

又補(bǔ)了個(gè)小特效,加了點(diǎn)注釋,湊了整 100 行~

編譯環(huán)境:Visual C++ 6.0 / VS2019/2022,EasyX插件

#include <graphics.h>
#include <conio.h>
#include <time.h>

// 歡迎界面
void welcome()
{
	// 輸出屏幕提示
	cleardevice();
	settextcolor(YELLOW);
	settextstyle(64, 0, _T("黑體"));
	outtextxy(160, 50, _T("打字母游戲"));
	settextcolor(WHITE);
	settextstyle(16, 0, _T("宋體"));
	outtextxy(100, 200, _T("就是很傳統(tǒng)的那個(gè)掉字母然后按相應(yīng)鍵就消失的游戲"));
	outtextxy(100, 240, _T("只是做了一個(gè)簡(jiǎn)單的實(shí)現(xiàn)"));
	outtextxy(100, 280, _T("功能并不很完善,比如生命數(shù)、分?jǐn)?shù)等都沒有寫"));
	outtextxy(100, 320, _T("感興趣的自己加進(jìn)去吧"));

	// 實(shí)現(xiàn)閃爍的“按任意鍵繼續(xù)”
	int c = 255;
	while (!_kbhit())
	{
		settextcolor(RGB(c, 0, 0));
		outtextxy(280, 400, _T("按任意鍵繼續(xù)"));
		c -= 8;
		if (c < 50) c = 255;
		Sleep(30);
	}
	_getch();
	cleardevice();
}

// 退出界面
void goodbye()
{
	cleardevice();
	settextcolor(YELLOW);
	settextstyle(48, 0, _T("黑體"));
	outtextxy(104, 180, _T("多寫程序  不老青春"));
	_getch();
}

// 主函數(shù)
int main()
{
	initgraph(640, 480);				// 初始化屏幕為 640x480

	welcome();							// 顯示歡迎界面

	srand((unsigned)time(NULL));		// 設(shè)置隨機(jī)種子
	settextstyle(20, 0, _T("Arial"));	// 設(shè)置字母的字體和大小
	setfillcolor(BLACK);				// 設(shè)置清除字母的填充區(qū)域顏色

	char target;						// 目標(biāo)字母
	char key;							// 用戶的按鍵
	int x, y;							// 字母的位置

	// 主循環(huán)
	while (true)
	{
		target = 65 + rand() % 26;		// 產(chǎn)生任意大寫字母
		x = rand() % 620;				// 產(chǎn)生任意下落位置
		for (y = 0; y < 460; y++)
		{
			settextcolor(WHITE);		// 設(shè)置字母的顏色
			outtextxy(x, y, target);	// 顯示字母

			if (_kbhit())
			{
				key = _getch();			// 獲取用戶按鍵

				if ((key == target) || (key == target + 32))
				{
					// 按鍵正確,“擊落”字母(畫黑色方塊擦除)
					solidrectangle(x, y, x + 20, y + 20);
					break;				// 跳出循環(huán),進(jìn)行下一個(gè)字母
				}
				else if (key == 27)
				{
					goto EXIT;			// 如果按 ESC,退出游戲主循環(huán)
				}
			}

			// 延時(shí),并清除字母
			Sleep(10);
			solidrectangle(x, y, x + 20, y + 20);
		}
	}

EXIT:
	// 退出部分
	goodbye();

	// 關(guān)閉圖形界面
	closegraph();
	return 0;
}

大家趕緊去動(dòng)手試試吧!

此外,我也給大家分享我收集的其他資源,從最零基礎(chǔ)開始的教程到C語言C++項(xiàng)目案例,幫助大家在學(xué)習(xí)C語言的道路上披荊斬棘!

c語言游戲開發(fā)(C語言零基礎(chǔ)項(xiàng)目:打字母游戲!詳細(xì)思路+源碼分享)

編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)最重要的是你可以在群里面交流提問編程問題哦!

對(duì)于C/C++感興趣可以關(guān)注小編在后臺(tái)私信我【編程交流】一起來學(xué)習(xí)哦!可以領(lǐng)取一些C/C++的項(xiàng)目學(xué)習(xí)視頻資料哦!已經(jīng)設(shè)置好了關(guān)鍵詞自動(dòng)回復(fù),自動(dòng)領(lǐng)取就好了!

c語言游戲開發(fā)(C語言零基礎(chǔ)項(xiàng)目:打字母游戲!詳細(xì)思路+源碼分享)

熱門課程推薦

熱門資訊

請(qǐng)綁定手機(jī)號(hào)

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動(dòng),老師會(huì)在第一時(shí)間與您取得聯(lián)系,請(qǐng)保持電話暢通!
確定