激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

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

微信小游戲怎么開(kāi)發(fā)(C語(yǔ)言開(kāi)發(fā):如何用130行代碼,寫(xiě)出"超火"微信小游戲)

發(fā)布時(shí)間:2023-11-27 12:01:53 瀏覽量:133次

?C語(yǔ)言開(kāi)發(fā):如何用130行代碼,寫(xiě)出"超火"微信小游戲

微信小游戲怎么開(kāi)發(fā)(C語(yǔ)言開(kāi)發(fā):如何用130行代碼,寫(xiě)出"超火"微信小游戲)

近日,一款名為“羊了個(gè)羊”微信小游戲火爆全網(wǎng)。

憑借簡(jiǎn)單玩法和不走尋常路的關(guān)卡設(shè)置,三消小游戲《羊了個(gè)羊》,成為《合成大西瓜》《召喚神龍》后的小微游戲新王者。

“其實(shí)游戲很簡(jiǎn)單,就是湊齊三個(gè)一樣的圖案就能點(diǎn)擊消除,湊不齊三個(gè)的圖案先放在底部的七個(gè)待選欄位里,如果七個(gè)槽位都占滿了,游戲就失敗了?!庇螒虻谝魂P(guān)其實(shí)是玩法教程,但當(dāng)玩家來(lái)到第二關(guān)時(shí),難度直線上升。根據(jù)官方介紹,“羊了個(gè)羊”是一款超難的闖關(guān)消除小游戲,通關(guān)率不到0.1%。

當(dāng)然,我們這次可不是為了針對(duì)“羊了個(gè)羊”的玩法開(kāi)發(fā)出游戲輔助這類(lèi)的東西,而是說(shuō),我們作為學(xué)編程的程序員,能不能自己用自己所學(xué)知識(shí)來(lái)開(kāi)發(fā)一個(gè)《羊了個(gè)羊(仿制版)》呢?那么話不多說(shuō),我反正已經(jīng)試出來(lái)了,今天就是來(lái)秀秀源碼的?。ㄈ绻写罄形鸸郑?/span>

首先我準(zhǔn)備了一些東西:

編譯器+需要的插件:VS2022/2019,easyX圖形庫(kù)插件(建議安裝最新的版本)注:VScode的朋友需要另外配置好環(huán)境。

需要準(zhǔn)備的圖片素材:

如果有需要可以在文章最后找到獲取方式!

接下來(lái)就來(lái)看看我們的源碼:

#include<easyx.h>
#include<stdio.h>
const int WIDTH = 400;
const int HEIGHT = 760;
const int INTERVAL = 48;

IMAGE img_bk;
IMAGE img_item[3];

void loadImg()
{
	loadimage(&img_bk, "images/bk.jpg", WIDTH, HEIGHT);
	loadimage(img_item + 0, "images/cao.png",48,48);
	loadimage(img_item + 1, "images/lingdang.png", 48, 48);
	loadimage(img_item + 2, "images/shu.png", 48, 48);
}

int main()
{
	initgraph(WIDTH, HEIGHT,EW_SHOWCONSOLE);
	loadImg();

	int map[3][3] = {0};
	//初始化地圖
	for (int r = 0; r < 3; r++)
	{
		for (int c = 0; c < 3; c++)
		{
			map[r][c] = r+1;	//1 2 3
		}
	}
	//打亂數(shù)組
	for (int r = 0; r < 3; r++)
	{
		for (int c = 0; c < 3; c++)
		{
			int r1 = rand() % 3;
			int c1 = rand() % 3;
			int t = map[r1][c1];
			map[r1][c1] = map[r][c];
			map[r][c] = t;
		}
	}

	int store[7] = { 0 };

	int offsetX = (WIDTH - (2 * (48 + INTERVAL) + 48)) / 2;
	int offsetY = (HEIGHT - (2 * (48 + INTERVAL) + 48)) / 2;
	while (true)
	{
		BeginBatchDraw();
		//繪制地圖
		putimage(0, 0, &img_bk);
		//輸出圖片
		for (int r = 0; r < 3; r++)
		{
			for (int c = 0; c < 3; c++)
			{
				if(map[r][c])
					putimage(offsetX + c * (48 + INTERVAL), offsetY + r * (48 + INTERVAL), img_item + (map[r][c]-1));
			}
		}
		//繪制下面
		for (int i = 0; i < 7; i++)
		{
			if (store[i])
				putimage((i * 50)+26, 620, img_item + (store[i]-1));
		}


		EndBatchDraw();
		ExMessage msg = { 0 };
		if (peekmessage(&msg) && msg.message == WM_LBUTTONDOWN)
		{
			//鼠標(biāo)坐標(biāo)判斷
			for (int r = 0; r < 3; r++)
			{
				for (int c = 0; c < 3; c++)
				{
					int x = offsetX + c * (48 + INTERVAL);
					int y = offsetY + r * (48 + INTERVAL);
					//printf("pos(%d,%d)\n", x, y);
					//判斷鼠標(biāo)是否點(diǎn)擊了圖片
					if (msg.x > x && msg.x < x + 48 && msg.y>y && msg.y < y + 48)
					{
						//求出點(diǎn)擊的圖片對(duì)應(yīng)的數(shù)組下標(biāo)
						int col = (msg.x - offsetX)  /  (48 + INTERVAL);
						int row = (msg.y - offsetY)  / (48 + INTERVAL);
						//printf("row:%d col:%d\n", row, col);
						//把點(diǎn)擊的圖片添加到下面
						for (int i = 0; i < 7; i++)
						{
							if (store[i] == 0)
							{
								store[i] = map[row][col];
								break;
							}
						}

						//如果下面有三個(gè)一樣的就消除
						int cnt = 0;
						for (int i = 0; i < 7; i++)
						{
							if (store[i] == map[row][col])
							{
								cnt++;
							}
						}
						if (cnt == 3)
						{
							for (int i = 0; i < 7; i++)
							{
								if (store[i] == map[row][col])
								{
									store[i] = 0;
								}
							}
						}

						//把點(diǎn)擊的圖片從map中刪除
						map[row][col] = 0;					
					}
				}
			}
		}

	}

	while (1);
	return 0;
}

我可沒(méi)有私藏哦,想要試試的小伙伴趕緊去拿著源碼編譯吧!如果遇到問(wèn)題可以從下面來(lái)找我哦~

微信小游戲怎么開(kāi)發(fā)(C語(yǔ)言開(kāi)發(fā):如何用130行代碼,寫(xiě)出&quot;超火&quot;微信小游戲)

對(duì)啦對(duì)啦!另外的話為了幫助大家,輕松,高效學(xué)習(xí)C語(yǔ)言/C++,我給大家分享我收集的資源,從最零基礎(chǔ)開(kāi)始的,幫助大家在學(xué)習(xí)C語(yǔ)言的道路上披荊斬棘!可以來(lái)我粉絲群領(lǐng)取哦~

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

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

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

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

微信小游戲怎么開(kāi)發(fā)(C語(yǔ)言開(kāi)發(fā):如何用130行代碼,寫(xiě)出&quot;超火&quot;微信小游戲)

熱門(mén)課程推薦

熱門(mén)資訊

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

x

同學(xué)您好!

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