趣學(xué)妙用Scratch編程08 趣學(xué)篇(四)密林深處的危險(xiǎn)氣息

通過(guò)永恒之河,天色轉(zhuǎn)暗文搂,一輪明月冉冉升起响迂。卡卡慢慢走進(jìn)了密林深處细疚。
月光下的一切很安靜,只有卡卡自己的腳步聲,以及遠(yuǎn)處不時(shí)傳來(lái)的不知名動(dòng)物的叫聲疯兼。四周隱藏著一種莫名的危險(xiǎn)氣息然遏。
卡卡的夜視能力不錯(cuò)。他瞪大眼睛吧彪,小心翼翼地向前走待侵,想盡快走出這個(gè)令人不安的地方。
“嘩啦啦……”前面忽然傳來(lái)一陣異響姨裸⊙砬悖卡卡敏捷地向后跳了一步,抬頭看去——不好傀缩!一大群黑色的蝙蝠象烏云一樣飛快地向自己撲過(guò)來(lái)那先!

AI助手適時(shí)傳來(lái)了提示——請(qǐng)使用飛鏢消滅來(lái)襲的吸血蝙蝠。
卡卡發(fā)現(xiàn)手里出現(xiàn)了飛鏢赡艰,他急忙甩了出去售淡。
“嗖”!“嗖嗖慷垮!”

鋒利的飛鏢呼嘯而去揖闸,被擊中的蝙蝠紛紛慘叫著化為黑煙消失。
卡卡正想松口氣料身,更多的蝙蝠黑壓壓地飛了過(guò)來(lái)……

本節(jié)學(xué)習(xí)目標(biāo)

  1. 練習(xí)使用繪圖編輯器畫(huà)造型汤纸,進(jìn)一步掌握繪圖方法;
  2. 使用隨機(jī)指令產(chǎn)生指定范圍任意數(shù)字的方法芹血;
  3. 用鼠標(biāo)或其它角色作為目標(biāo)贮泞,改變當(dāng)前角色方向的方法;
  4. 使用偵測(cè)類指令祟牲,判斷角色與其它角色或舞臺(tái)的碰撞情況隙畜;
  5. 學(xué)會(huì)使用克隆指令快速創(chuàng)建同一個(gè)角色的副本。

編程實(shí)戰(zhàn)

本節(jié)我們要開(kāi)發(fā)的是一個(gè)射擊小游戲说贝,在這個(gè)游戲中你要用鼠標(biāo)引導(dǎo)方向议惰,空格鍵發(fā)射飛鏢,擊落飛來(lái)的蝙蝠乡恕。

第一步:建立游戲場(chǎng)景

新建 Scratch 項(xiàng)目后言询,保留小貓角色,添加一個(gè)角色庫(kù)中的Bat(蝙蝠)傲宜,并將背景設(shè)置為 Scratch 背景庫(kù)中的 Wood(樹(shù)林)运杭。你可能覺(jué)得蝙蝠有點(diǎn)大,沒(méi)關(guān)系函卒,待會(huì)我們把程序?qū)懞煤笤僬{(diào)整大小辆憔,現(xiàn)在這樣有利于查看動(dòng)畫(huà)效果。

01 添加背景和角色

小貓、蝙蝠都有了虱咧,還差什么熊榛?小貓扔出的飛鏢啊腕巡!使用“繪制”角色功能玄坦,打開(kāi)繪圖編輯器,自己畫(huà)一支飛鏢吧绘沉。

先用畫(huà)方形工具畫(huà)一個(gè)長(zhǎng)方形煎楣,然后選中圖中所示的變換工具:

02 繪圖步驟一

這個(gè)變換工具的神奇之處在于,你可以用它任意修改形狀车伞!比如择懂,你可以用它在長(zhǎng)方形左側(cè)這條邊中間位置點(diǎn)一下,這個(gè)位置就多出了一個(gè)節(jié)點(diǎn)帖世,然后用鼠標(biāo)拖動(dòng)這個(gè)節(jié)點(diǎn)向左休蟹,這個(gè)長(zhǎng)方形就會(huì)變成圖中的樣式:

03 繪圖步驟二

然后選中長(zhǎng)方形右上方的節(jié)點(diǎn),點(diǎn)擊功能菜單區(qū)的“刪除”日矫,刪除這個(gè)節(jié)點(diǎn):

04 繪圖步驟三.png

節(jié)點(diǎn)消失后赂弓,用變換工具拖動(dòng)最右側(cè)的節(jié)點(diǎn)移動(dòng)到垂直居中的位置,形狀調(diào)整成這樣:

05 繪圖步驟四

再畫(huà)一個(gè)長(zhǎng)方形的手柄哪轿,選中這個(gè)長(zhǎng)方形后點(diǎn)擊功能菜單區(qū)的“放最后面”:

06 繪圖步驟五

最后再畫(huà)一個(gè)紅色輪廓盈魁,無(wú)填充色的圓形到尾部。這個(gè)簡(jiǎn)易飛鏢就完成了窃诉。盡管你可能覺(jué)得這個(gè)飛鏢角色不是那么完美杨耙,但相信通過(guò)這幾個(gè)簡(jiǎn)單的步驟,你能理解繪圖中圖形變換的方法飘痛。

07 繪圖步驟六

在飛鏢角色的屬性區(qū)把大小改成15或20珊膜,然后放到小貓前面。現(xiàn)在你的舞臺(tái)區(qū)應(yīng)該是這樣:

08 場(chǎng)景布置

第二步:為蝙蝠編寫(xiě)代碼

運(yùn)用前幾節(jié)課掌握的知識(shí)宣脉,我們用重復(fù)執(zhí)行指令车柠,加上切換造型,讓蝙蝠“動(dòng)”起來(lái)塑猖。

09 蝙蝠飛行

運(yùn)行起來(lái)竹祷,這只蝙蝠就會(huì)開(kāi)始不斷地扇動(dòng)翅膀。與此同時(shí)羊苟,我們還希望蝙蝠從右上角出現(xiàn)塑陵,然后向小貓逼近——這里面有一個(gè)問(wèn)題,我們不希望它每次出現(xiàn)的位置都是固定的蜡励,而是在舞臺(tái)右上角的一個(gè)區(qū)域范圍內(nèi)出現(xiàn)令花。從上一節(jié)的內(nèi)容我們得知阻桅,可以用X、Y坐標(biāo)確定角色位置兼都,現(xiàn)在的問(wèn)題是怎么讓每次程序運(yùn)行的時(shí)候鳍刷,獲得一個(gè)不一樣的坐標(biāo)呢?這要用到隨機(jī)運(yùn)算指令俯抖。你可以在“運(yùn)算”類指令中找到它:

10 隨機(jī)指令

這條指令每次運(yùn)行時(shí),就能生成一個(gè)在指定范圍內(nèi)的數(shù)字瓦胎,稱為“隨機(jī)數(shù)”芬萍,就像我們?cè)谫I彩票的時(shí)候“機(jī)選”一樣,由計(jì)算機(jī)選擇的一個(gè)數(shù)搔啊。只要把X、Y坐標(biāo)設(shè)置為隨機(jī)數(shù),就能控制蝙蝠出現(xiàn)的位置了今缚。

掌握了隨機(jī)指令调窍,我們就可以編寫(xiě)另一段代碼了,注意這段代碼也使用綠旗啟動(dòng)旧蛾。這里有一個(gè)重要的概念莽龟,即同一個(gè)事件會(huì)觸發(fā)多段代碼執(zhí)行,它們是“同時(shí)”執(zhí)行的锨天,這在計(jì)算機(jī)編程中被稱為“并行”毯盈。也就是說(shuō),蝙蝠在扇動(dòng)翅膀的同時(shí)會(huì)執(zhí)行這段代碼病袄,飛向小貓:

11 蝙蝠飛行代碼

新增的代碼中我們用到了隨機(jī)指令確定蝙蝠的坐標(biāo)位置搂赋,然后用“面向”指令(這也是一條運(yùn)動(dòng)類指令,它可以讓角色移動(dòng)的方向朝向某一個(gè)角色或者鼠標(biāo)指針)調(diào)整它的飛行方向益缠,并調(diào)整旋轉(zhuǎn)方式為左右旋轉(zhuǎn)脑奠,接著我們使用了一條“重復(fù)執(zhí)行直到”指令,這和以前我們使用的重復(fù)指令不同幅慌,它帶有一個(gè)“結(jié)束條件”宋欺,當(dāng)這個(gè)條件滿足的時(shí)候就不再執(zhí)行自己包含的代碼,而是繼續(xù)向下執(zhí)行后續(xù)指令迄靠。

那么這個(gè)“結(jié)束條件”是什么呢?這是一條“偵測(cè)”類條件判斷指令(湖藍(lán)色)喇辽,執(zhí)行指令的時(shí)候如果當(dāng)前角色碰到了指定的對(duì)象(可以是其它角色掌挚、舞臺(tái)邊緣或鼠標(biāo)指針),條件就成立(判斷結(jié)果為“真”)菩咨,重復(fù)執(zhí)行結(jié)束吠式。對(duì)這段代碼來(lái)說(shuō)陡厘,就是蝙蝠不再移動(dòng),而是說(shuō)“哈哈特占,你失敗了”糙置,中止全部腳本(中止全部腳本意味著所有角色的代碼都會(huì)停止執(zhí)行)。

第三步:創(chuàng)建一群蝙蝠

現(xiàn)在你執(zhí)行程序是目,會(huì)看到蝙蝠直接飛向小貓谤饭。但故事中說(shuō)的是一大群蝙蝠,怎么讓創(chuàng)造出“一群”蝙蝠呢懊纳?你可以用鼠標(biāo)右鍵點(diǎn)擊蝙蝠揉抵,復(fù)制角色,復(fù)制出來(lái)的蝙蝠和原來(lái)的蝙蝠一樣都具有同樣的代碼嗤疯,你執(zhí)行程序的時(shí)候冤今,這兩只蝙蝠都會(huì)飛向小貓:

12 復(fù)制蝙蝠

那么是不是用這種方法就可以了呢?理論上是可行的茂缚,但是首先這種方法很麻煩戏罢,有多少只蝙蝠你就要復(fù)制多少次,還不能控制這些蝙蝠出現(xiàn)的時(shí)間脚囊,不過(guò)更致命的問(wèn)題是——如果復(fù)制完發(fā)現(xiàn)程序有點(diǎn)問(wèn)題龟糕,要調(diào)整蝙蝠的代碼怎么辦——你就需要把所有蝙蝠的代碼全部給改一遍!是不是很痛苦凑术!

還好翩蘸,單調(diào)重復(fù)的事情應(yīng)該由電腦而不是程序員去做。所以 Scratch 為我們提供了強(qiáng)大的“克隆”功能來(lái)應(yīng)對(duì)這種場(chǎng)景淮逊〈呤祝克隆這個(gè)詞現(xiàn)在已經(jīng)不新鮮了,就是以一個(gè)對(duì)象為“本體”復(fù)制出一個(gè)完全一模一樣的“克隆體”來(lái)泄鹏,它們具有一樣的外觀和執(zhí)行邏輯——你一定對(duì)《西游記》中孫大圣拔下毫毛變成許多個(gè)一模一樣的大圣這個(gè)情節(jié)記憶猶新吧郎任?克隆就讓Scratch中的角色具備了這種復(fù)制自己的能力,復(fù)制出來(lái)的角色和本體一模一樣备籽,而且受統(tǒng)一的指令控制舶治!很強(qiáng)大吧?

Scratch 提供了三條克隆相關(guān)的指令來(lái)幫助我們進(jìn)行克隆操作:

13 克隆相關(guān)的指令

“當(dāng)作為克隆體啟動(dòng)時(shí)” 是一個(gè)觸發(fā)指令车猬,和綠旗一樣霉猛,意味著你每克隆出一個(gè)角色,就會(huì)觸發(fā)后面的代碼執(zhí)行珠闰。它一般由下面“克隆”指令觸發(fā)惜浅。“刪除此克隆體”則是讓克隆出來(lái)的角色把自己刪除伏嗜,比如克隆出來(lái)的蝙蝠如果被擊中了坛悉,它就要被刪除。讓我們用這三條指令修改一下蝙蝠的代碼裸影。

首先挣轨,我們把蝙蝠的大小設(shè)置為30轩猩,拖動(dòng)到右下角隱藏起來(lái)卷扮。然后添加下面的代碼,讓蝙蝠每一秒克隆一個(gè)自己均践。

14 克隆蝙蝠

接著画饥,把原來(lái)的兩段綠旗觸發(fā)的指令改為由克隆體執(zhí)行的,因?yàn)楸倔w被我們隱藏了浊猾,復(fù)制出來(lái)的本體也是不可見(jiàn)的,我們還需要添加一個(gè)“外觀”類的“顯示”指令把這個(gè)克隆體顯示出來(lái)热鞍,現(xiàn)在蝙蝠的代碼變成了這樣:

15 修改后的蝙蝠代碼

現(xiàn)在點(diǎn)擊綠旗葫慎,是不是從舞臺(tái)右上角不斷地冒出蝙蝠飛向小貓?現(xiàn)在你已經(jīng)知道薇宠,那些其實(shí)是“克隆體”——也就是大圣身上的毫毛偷办,真正的本體還在舞臺(tái)右下角隱藏著睡大覺(jué)呢!

第四步:為飛鏢編寫(xiě)代碼

你可能已經(jīng)迫不及待想趕緊寫(xiě)程序讓小貓具備攻擊能力了澄港。不過(guò)我們不需要為小貓編寫(xiě)代碼椒涯,而是直接為飛鏢寫(xiě)代碼。我們需要先把飛鏢隱藏起來(lái)回梧,然后拖動(dòng)下列指令:

16 飛鏢代碼

其實(shí)飛鏢代碼與蝙蝠的代碼很相似废岂,它們都會(huì)先克隆自己(這里有一個(gè)新的觸發(fā)方式,按鍵觸發(fā)狱意。當(dāng)按下鍵盤(pán)上指定鍵的時(shí)候后面的代碼會(huì)執(zhí)行)湖苞,當(dāng)作為克隆體啟動(dòng)時(shí)顯示出來(lái),移動(dòng)到小貓身前位置详囤,面向鼠標(biāo)指標(biāo)(你需要用鼠標(biāo)移動(dòng)來(lái)為飛鏢引導(dǎo)方向)飛出去财骨,直到——這里你注意到有什么不一樣了嗎?這個(gè)條件是由“碰到舞臺(tái)邊緣”和“碰到Bat”兩個(gè)條件組成的藏姐,它們之間是“或”的關(guān)系隆箩,只要有一個(gè)條件成立,循環(huán)就會(huì)終止羔杨,去刪除自己——所以我們使用了“運(yùn)算”類指令(綠色)的“或”運(yùn)算把這兩個(gè)條件組合到了一起捌臊,你可以體會(huì)一下這個(gè)指令的用法。

第五步:完善蝙蝠代碼

啟動(dòng)程序问畅,按空格鍵并用鼠標(biāo)移動(dòng)來(lái)引導(dǎo)飛鏢方向娃属,你會(huì)看到一支又一支飛鏢飛向了蝙蝠六荒,碰到蝙蝠或者舞臺(tái)邊緣就消失了——且慢,這些蝙蝠怎么沒(méi)事呢矾端?明明被擊中了啊——這是因?yàn)槲覀冞€沒(méi)有編寫(xiě)代碼讓蝙蝠處理被擊中的事件呢掏击。切換到蝙蝠角色,在蝙蝠重復(fù)執(zhí)行內(nèi)部的移動(dòng)2步指令后加一個(gè)“如果...那么”指令秩铆,我們加了一個(gè)偵測(cè)條件砚亭,如果碰到飛鏢,這個(gè)克隆體就被刪除殴玛。

蝙蝠完整的指令如下圖:

17 蝙蝠的完整代碼

至此捅膘,你的第一個(gè)小游戲開(kāi)發(fā)完成,你可以扮演卡卡滚粟,來(lái)一場(chǎng)痛快的“小貓大戰(zhàn)吸血蝙蝠”了!

指令小貼示

  • 在【數(shù)值】和【數(shù)值】之間取隨機(jī)數(shù):獲得一個(gè)在兩個(gè)數(shù)值范圍之內(nèi)的任意數(shù)值凡壤,這個(gè)指令往往用在需要感覺(jué)更“自然”的場(chǎng)合署尤,比如游戲中敵人出現(xiàn)的位置,最好不是固定的亚侠,就用這個(gè)指令來(lái)生成坐標(biāo)值曹体;
  • 面向【角色或鼠標(biāo)】:利用這個(gè)指令可以立即調(diào)整角色面對(duì)的方向;
  • 重復(fù)執(zhí)行直到:它包括的代碼會(huì)執(zhí)行直到指定的條件成立硝烂,這實(shí)際上是重復(fù)執(zhí)行指令和如果...那么指令的綜合箕别;
  • 碰到【對(duì)象名稱】:這個(gè)指令可以是偵測(cè)指令,如果碰到了指定的角色滞谢、舞臺(tái)的邊緣或者鼠標(biāo)串稀,這個(gè)指令就返回“真”,代表成立狮杨,也就可以作為如果...那么一類指令的條件厨诸。游戲中一般檢測(cè)是否碰到子彈、敵人或超出舞臺(tái)范圍等禾酱;
  • 當(dāng)按下【按鍵】:用于用戶和程序交互微酬,按下鍵盤(pán)上指定的按鍵時(shí),后面的代碼會(huì)啟動(dòng)執(zhí)行颤陶;
  • 當(dāng)作為克隆體啟動(dòng)時(shí):這是和綠旗啟動(dòng)一類的指令颗管,每一個(gè)克隆體產(chǎn)生后,會(huì)執(zhí)行這個(gè)指令開(kāi)頭的代碼滓走;
  • 克隆【對(duì)象】:在舞臺(tái)上生成一個(gè)和指定的角色一模一樣的對(duì)象垦江,而且會(huì)執(zhí)行“當(dāng)作為克隆體啟動(dòng)時(shí)”指令的代碼。在游戲中搅方,屏幕上出現(xiàn)的敵人往往都是克隆體比吭,便于創(chuàng)建和刪除绽族;
  • 刪除此克隆體:如果克隆體不再有效(比如被殺死的敵人),那就使用這條指令刪除它衩藤。在Scratch中吧慢,同時(shí)存在的克隆體有300多個(gè),一旦超過(guò)就不再執(zhí)行克隆指令赏表,所以用完的克隆體要及時(shí)刪除而不是隱藏它检诗。

課后思考

本節(jié)牽涉的內(nèi)容牽涉隨機(jī)指令、克隆指令瓢剿、偵測(cè)指令逢慌、組合條件判斷等,請(qǐng)你結(jié)合實(shí)際場(chǎng)景體會(huì)一下這些指令的用法间狂。在編寫(xiě)游戲類程序的過(guò)程中攻泼,這些指令的運(yùn)用是必不可少的。

本節(jié)我們還學(xué)習(xí)了新的觸發(fā)程序執(zhí)行的方式鉴象,比如當(dāng)按下按鍵時(shí)坠韩、當(dāng)作為克隆體啟動(dòng)時(shí),這類指令只能作為一段代碼的開(kāi)始炼列,當(dāng)特定的條件滿足時(shí)啟動(dòng)代碼。這類“特定”條件音比,我們稱之為“事件”俭尖。實(shí)際上,在編寫(xiě)角色代碼的時(shí)候洞翩,也就是為角色編寫(xiě) “事件”處理程序的過(guò)程稽犁。

你平時(shí)玩的射擊類小游戲,原理和本節(jié)程序是類似的骚亿,只要學(xué)會(huì)了本節(jié)內(nèi)容已亥,開(kāi)發(fā)同類小游戲就容易多了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末来屠,一起剝皮案震驚了整個(gè)濱河市虑椎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俱笛,老刑警劉巖捆姜,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異迎膜,居然都是意外死亡泥技,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門磕仅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)珊豹,“玉大人簸呈,你說(shuō)我怎么就攤上這事〉瓴瑁” “怎么了蜕便?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)忽妒。 經(jīng)常有香客問(wèn)我玩裙,道長(zhǎng),這世上最難降的妖魔是什么段直? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任吃溅,我火速辦了婚禮,結(jié)果婚禮上鸯檬,老公的妹妹穿的比我還像新娘决侈。我一直安慰自己,他們只是感情好喧务,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布赖歌。 她就那樣靜靜地躺著,像睡著了一般功茴。 火紅的嫁衣襯著肌膚如雪庐冯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天坎穿,我揣著相機(jī)與錄音展父,去河邊找鬼。 笑死玲昧,一個(gè)胖子當(dāng)著我的面吹牛栖茉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孵延,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吕漂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了尘应?” 一聲冷哼從身側(cè)響起惶凝,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎犬钢,沒(méi)想到半個(gè)月后梨睁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡娜饵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年坡贺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遍坟,死狀恐怖拳亿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愿伴,我是刑警寧澤肺魁,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站隔节,受9級(jí)特大地震影響鹅经,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怎诫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一瘾晃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧幻妓,春花似錦蹦误、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至妹沙,卻和暖如春偶洋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背距糖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工玄窝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肾筐。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缸剪,于是被迫代替她去往敵國(guó)和親吗铐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容