欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

《憤怒的小鳥》——大一下C語(yǔ)言程序課設(shè)-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)建站專業(yè)成都做網(wǎng)站、成都網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文推廣等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

一、介紹

1、題目要求

2、資源

二、關(guān)鍵功能的實(shí)現(xiàn)

1、設(shè)計(jì)的結(jié)構(gòu)體和鏈表:

2、彈弓拉繩的實(shí)現(xiàn):

3、當(dāng)繩子拉伸達(dá)到上限時(shí),仍然使小鳥可以改變方向:

3、計(jì)算小鳥飛出后的任意時(shí)刻的位置:


一、介紹

這個(gè)寒假翻電腦的時(shí)候找到了上學(xué)期C語(yǔ)言課設(shè)的介紹視頻。這是我自己做的目前來(lái)說(shuō)最長(zhǎng)的代碼,實(shí)現(xiàn)的功能也是最復(fù)雜的,對(duì)我來(lái)說(shuō)還是很有紀(jì)念意義的。我之后也把視頻傳到B站上了:《憤怒的小鳥》——C語(yǔ)言課設(shè)。感興趣的同學(xué)可以去看看。

在這里我簡(jiǎn)單分享一下我的設(shè)計(jì),也許可以幫到有需要的人。

1、題目要求

老師當(dāng)時(shí)對(duì)于我們的要求是使用easyX實(shí)現(xiàn)圖形界面,利用貼圖和重畫實(shí)現(xiàn)動(dòng)畫,必須使用鏈表。除此之外,只能使用C語(yǔ)言語(yǔ)法。

2、資源

所有的資源都在這里了,里面包含一個(gè)可執(zhí)行文件和一個(gè)文件夾,文件夾里有全部的圖片、音樂(lè)、源代碼還有工程文件。
鏈接:https://pan.baidu.com/s/1vjQ48dcR7DNjKtKG6OQgHg?pwd=qc1v
提取碼:qc1v

除此之外,在大一上學(xué)期的寒假,我是通過(guò) @童晶 老師的課程視頻學(xué)習(xí)使用easyX的,感覺(jué)很不錯(cuò),有需要的同學(xué)可以了解一下。

二、某些功能的實(shí)現(xiàn) 1、設(shè)計(jì)的結(jié)構(gòu)體和鏈表:
typedef struct users{
	char id[100];
	char password[100];
	int score[5]={0};
	int good[5] = { 0 };  //用來(lái)存購(gòu)買的道具,0放鳥制傳送門
	int money=0;
}users;

typedef struct bird_info {  //用結(jié)構(gòu)體存儲(chǔ)畫面上某一點(diǎn)的圖像,role為1(小紅鳥),2(笑鳥)
	int x;
	int y;
	int role;
	int fire;   //是否發(fā)射
	struct bird_info* next;
}b_info;

typedef struct pig_info {  //用結(jié)構(gòu)體存儲(chǔ)畫面上某一點(diǎn)的圖像,role為1(小豬),2(笑豬)
	int x;
	int y;
	int role;
	int count;
	struct pig_info* next;
}p_info;

typedef struct stick_info {  //用結(jié)構(gòu)體存儲(chǔ)畫面上某一點(diǎn)的圖像,role為1(木棍障礙)
	int x;
	int y;
	int role;
	struct stick_info* next;
}s_info;


b_info* bH;  //將b_info變量串成鏈表,將頭指針定義為全局變量,各函數(shù)均可訪問(wèn)
p_info* pH;  //將p_info變量串成鏈表,將頭指針定義為全局變量,各函數(shù)均可訪問(wèn)
s_info* sH;  //將s_info變量串成鏈表,將頭指針定義為全局變量,各函數(shù)均可訪問(wèn)
users user;
2、彈弓拉繩的實(shí)現(xiàn):

實(shí)際上是利用了easyX的畫線函數(shù),不過(guò)我把線的寬度調(diào)大了,也改了線的顏色。然后將線的一端設(shè)置為小鳥的坐標(biāo),一端為彈弓的坐標(biāo)。

3、當(dāng)繩子拉伸達(dá)到上限時(shí),仍然使小鳥可以改變方向:
void bposition1(short x1,short y1) {     //當(dāng)繩子過(guò)長(zhǎng)時(shí)計(jì)算小鳥的位置  (傳入鼠標(biāo)位置)
	double sinx;    //儲(chǔ)存正弦值
	double cosx;    //儲(chǔ)存余弦值
	double heartx = 267;  //圓心x坐標(biāo)
	double hearty = 515;  //圓心y坐標(biāo)
	double l= distance(x1, y1, heartx, hearty);

	sinx = (hearty - y1) / l;
	cosx = (heartx - x1) / l;

	bH->x = heartx - cosx * 35-25;
	bH->y = hearty - sinx * 35-25;
	
}
3、計(jì)算小鳥飛出后的任意時(shí)刻的位置:
void bposition(int a,int b) {    //計(jì)算小鳥發(fā)出后的位置
	static int speed = 0;
	double vm=14; //繩的大合速度
	double sin;
	double cos;  
	float heartx = 267;  //彈弓x坐標(biāo)
	float hearty = 515;  //彈弓y坐標(biāo)
	double l=distance(a,b, heartx, hearty);  //計(jì)算繩長(zhǎng)

	sin = (hearty - b) / l;
	cos = (heartx - a) / l;

	vx = vm * cos*l/35;
	vy = vm * sin*l/35+10*times;   //屏幕上 以向下為y坐標(biāo)增加,取+號(hào)
	if (speed == 10) {
		times=times+0.2;
		speed = 0;
	}
	else {
		speed++;
	}
}

這里的很多參數(shù)都是我自己反復(fù)嘗試才確定的,雖然我也覺(jué)得這樣直接用數(shù)字其實(shí)不利于程序的維護(hù),但是就完成課設(shè)來(lái)說(shuō)還是比較方便的。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文名稱:《憤怒的小鳥》——大一下C語(yǔ)言程序課設(shè)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.chinadenli.net/article42/djdshc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站網(wǎng)站策劃品牌網(wǎng)站制作服務(wù)器托管定制網(wǎng)站微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)