創(chuàng)新創(chuàng)業(yè)實踐(綜合創(chuàng)新型設(shè)計)
課程論文
題目名稱: 基于ARM9的貪吃蛇游戲設(shè)計
學院名稱: 自動化與電氣工程學院
專 業(yè): 測控技術(shù)與儀器
課程設(shè)計任務(wù)書
課程設(shè)計題目:基于ARM9的貪吃蛇游戲設(shè)計
實踐教學要求與任務(wù):
1、熟悉所確定的題目,從問題需求、程序結(jié)構(gòu)、難點及關(guān)鍵技術(shù)等方面進行分析,形成系統(tǒng)的設(shè)計方案;
2、根據(jù)方案設(shè)計硬件電路;
3、軟件編程并調(diào)試;
4、完成課程設(shè)計報告,打印程序,給出運行結(jié)果。
工作計劃與進度安排:
第17周(1月6日-1月10日):布置設(shè)計任務(wù),查資料,完成總體設(shè)計框架,完善設(shè)計內(nèi)容,系統(tǒng)調(diào)試,驗收答辯。
摘 要 在電腦極大普及的今天,游戲是我們?nèi)粘I畹闹匾獖蕵贩绞。隨著科技的快速發(fā)展,時間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀錄。隨便計算機技術(shù)的發(fā)展,游戲行業(yè)越來越得到人們的關(guān)注,特別是在年輕人行列,F(xiàn)行的游戲一般是基于個人計算機的,像貪吃蛇這類小游戲在高檔掌上電腦或高檔電子消費品,但基于小型掌上低端游戲機在市場上卻幾乎沒有。 本文以飛利浦公司的LPC2124芯片板為平臺,在討論ARM體系結(jié)構(gòu)和游戲開發(fā)的同時,設(shè)計并實現(xiàn)了貪吃蛇游戲機的軟件仿真。 綜上所述此類貪吃蛇游戲機具有使用方便,綠色安全,低功耗、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。
目 錄
創(chuàng)新創(chuàng)業(yè)實踐(綜合創(chuàng)新型設(shè)計)
課程論文
引言
1 ARM概述
2 ARM的開發(fā)環(huán)境
2.1 Keil介紹
2.2 ADS介紹
3 系統(tǒng)的硬件設(shè)計
3.1 電路設(shè)計框圖
3.2 系統(tǒng)硬件概述
3.3 系統(tǒng)主要硬件
3.3.1 LPC2124
3.3.2 LP3228顯示屏
3.3.3 用戶操作接口
4 軟件仿真
5 系統(tǒng)的軟件設(shè)計與實現(xiàn)
5.1 游戲說明
5.2 游戲結(jié)構(gòu)設(shè)計
5.3 游戲具體設(shè)計
5.3.1 矩陣鍵盤按鍵掃描子程序
5.3.2 矩陣鍵盤處理子程序
5.3.3 LCD顯示子程序
5.3.4 主程序流程
6 程序測試
6.1 仿真測試
6.2 程序的局限性
7 總結(jié)
參考文獻
附 錄
附錄一 系統(tǒng)仿真電路圖
附錄二 程序文件清單
附錄三 使用說明書
引言基于ARM芯片的產(chǎn)品憑借其強大的功能、低廉的價格和體積小等優(yōu)點,在許多領(lǐng)域得到了廣泛的應(yīng)用。而當前在游戲開發(fā)中,ARM并沒有充分顯示出它的這些特點。而彩色液晶顯示器具有功耗低、顯示信息量大、顯示效果逼真等特點。所以若用彩色液晶顯示器為游戲提供界面一會受到歡迎。 液晶顯示屏LCD作為一種功耗低、體積小、無輻射的顯示器件,近幾年被廣泛應(yīng)用于各式各樣的嵌入式電子產(chǎn)品中,LCD可分為段位式、字符式和點陣式三種,其中,段位式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求,而點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動動畫功能,分區(qū)開窗口、反轉(zhuǎn)、閃爍等功能,用途十分廣泛,為了簡化液晶顯示電路的設(shè)計和應(yīng)用,生產(chǎn)廠家通常將液晶顯示單元、顯示控制器,顯示內(nèi)存和顯示驅(qū)動電路等裝配在一起,做成液晶顯示模塊LCD Module(LCM)。 目前,基于ARM芯片的產(chǎn)品遍布人類生活空間,在移動娛樂工具上應(yīng)用廣泛,特別在手機游戲制作方面越來越收人們的歡迎。 1 ARM概述 ARM(Advanced RISC Machines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術(shù)的名字。 1991 年ARM 公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,采用ARM 技術(shù)知識產(chǎn)權(quán)(IP)核的微處理器,即我們通常所說的ARM 微處理器,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了32位RISC 微處理器75%以上的市場份額,ARM 技術(shù)正在逐步滲入到我們生活的各個方面。ARM 公司是專門從事基于RISC 技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計的ARM 微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當?shù)耐鈬娐,從而形成自己的ARM 微處理器芯片進入市場。目前,全世界有幾十家大的半導(dǎo)體公司都使用ARM 公司的授權(quán),因此既使得ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。 ARM公司出售芯片技術(shù)授權(quán)給半導(dǎo)體公司,ARM核因為具有高性能、低成本、低功耗的特點而被廣采用。這樣在全球范圍內(nèi)圍繞著ARM技術(shù)形成了從一個芯片設(shè)計、生產(chǎn)、銷售,工具軟件設(shè)計與開發(fā),系統(tǒng)軟件開發(fā)以及應(yīng)用軟件開發(fā)的龐大產(chǎn)業(yè)鏈。說ARM代表著以ARM為核心的軟硬件開發(fā)技術(shù)也不為過。 2 ARM的開發(fā)環(huán)境2.1 Keil介紹 uVision3集成開發(fā)環(huán)境(uVision3 IDE)是一個窗口化的軟件開發(fā)平臺,它集成了功能強大的編輯器、工程管理器以及各種編譯工具(包括C編譯器、宏編譯器、鏈接/裝載器和十六進制文件轉(zhuǎn)換器)。uVision3包括以下功能組件,能加速嵌入式應(yīng)用程序的開發(fā)過程: (1)功能強大的源代碼編輯器; (2)可根據(jù)開發(fā)工具配置的設(shè)備數(shù)據(jù)庫; (3)用于創(chuàng)建和維護工程的工程管理器; (4)集匯編、編譯和鏈接過程于一體的編譯工具; (5)用于設(shè)置開發(fā)工具配置的對話框; (6)真正集成高速CPU及片上外設(shè)模擬器的源碼級調(diào)試器; (7)高級GDI接口;可用于目標硬件的軟件調(diào)試和KEIL ULINK仿真器的連接; (8)用于下載應(yīng)用程序到FLASH ROM中的FLASH編程器; (9)完善的開發(fā)工具手冊、設(shè)備數(shù)據(jù)手冊和用戶向?qū)А?/font> uVision3 IDE使用簡單、功能強大,是設(shè)計者完成設(shè)計任務(wù)的重要保證。uVision3 IDE還提供了大量的例程及相關(guān)信息,有助于開發(fā)人員快速開發(fā)嵌入式應(yīng)用程序。 2.2 ADS介紹ADS 集成開發(fā)環(huán)境是 ARM 公司推出的 ARM 核微控制器集成開發(fā)工具,英文全稱為ARM Developer Suite,成熟版本為 ADS1.2。ADS1.2 支持 ARM10 之前的所有 ARM 系列微控制器,支持軟件調(diào)試及 JTAG 硬件仿真調(diào)試,支持匯編、C、C++源程序,具有編譯效率高、 系統(tǒng)庫功能強等特點, 可以在 Windows98、 Windows XP、 Windows2000 以及 RedHat Linux上運行。這里將簡單介紹使用 ADS1.2 建立工程,編譯連接設(shè)置,調(diào)試操作等等。最后還介紹了基于 LPC2200 系列 ARM7 微控制器的工程模板的使用,EasyJTAG 仿真器的安裝與使用。 ADS 1.2 由 6 個部分組成,如表2.1所示。 表 2.1 ADS1.2組成表 | | | | ARM匯編去,ARM的C、C++編譯器,Thumb的C、C++編譯器,ARM連接器 |
由CodeWarrior IDE 調(diào)用 | | | | | | | | | | | | 一些實用程序由CodeWarrior IDE 調(diào)用 | | | | 3系統(tǒng)的硬件設(shè)計3.1 電路設(shè)計框圖系統(tǒng)以LPC2124ARM芯片作為核心控制器件,外圍只有液晶顯示和鍵盤操作,且均為串行通信器件,使得系統(tǒng)線路簡單可靠性高。系統(tǒng)結(jié)構(gòu)框圖3.1所示。
圖3.1系統(tǒng)結(jié)構(gòu)框圖 3.2 系統(tǒng)硬件概述本電路由ARM芯片LPC2124為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;液晶顯示部份由LM2124液晶顯示器作為顯示,因其具有很多優(yōu)點,被廣泛使用;按鍵部分我們使用矩陣鍵盤,因其使用方便,且便于記住,所以我們使用矩陣鍵盤而不是用獨立鍵盤。 3.3 系統(tǒng)主要硬件3.3.1 LPC2124LPC2124 是基于一個支持實時仿真和跟蹤的 16/32 位 ARM7TDMI-STM CPU 的微控制器,并帶有128/256 k字節(jié)(kB)嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴格控制的應(yīng)用可使用 16 位 Thumb 模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。 由于LPC2124較小的 64腳封裝、極低的功耗、多個 32 位定時器、4 路 10 位ADC以及多達9個外部中斷使它們特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機。 在 64 腳的封裝中,最多可使用 46 個 GPIO。由于內(nèi)置了寬范圍的串行通信接口,它們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟modern以及其它各種類型的應(yīng)用。 LPC2124是64管腳封裝的,其封裝圖如圖3.3所示。
圖3.3 LPC2124封裝圖 LPC2124里面最重要的組成部分是寄存器,其部分寄存器功能如表3-1所示。 表3.1 管腳連接映射 其管腳功能選擇寄存器如表3-2和表3-3所示。 表3.2 PINSEL0管腳選擇功能 | | | | | | | | | | | | | | | | | | | | | | | | SCL(  C) | | | | | | | SDA(  C) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
表3.3 PINSEL1管腳選擇功能 3.3.2 LP3228顯示屏采用LM3228液晶顯示,其擁有微功耗無電磁輻射,壽命長,價格低,接口方便等一系列顯著特點,被廣泛應(yīng)用于各種儀器儀表,測量顯示裝置,計算機顯示終端等方面。它是以點陣為單位組成的液晶顯示器,內(nèi)部CMOS驅(qū)動,由日本東芝公司T6963C 控制集成電路,印制電路板和金屬支持框架所組成。LM3228液晶可以用來顯示字母,數(shù)字,漢字等,因此可以用LM3228液晶形象的模擬出貪吃蛇的形狀和它運動的情況。 LM3228的硬件結(jié)構(gòu)圖如圖3.3所示。
圖3.3 LM3228的硬件結(jié)構(gòu)圖 3.3.3 用戶操作接口用戶操作接口采用的是4×4矩陣鍵盤,用戶可以通過操縱鍵盤控制貪吃蛇的游動方向,控制方向如表3-4所示: 表3.4貪吃蛇方向控制
矩陣鍵盤原理圖如圖3.5所示: 圖3.5 矩陣鍵盤原理圖 矩陣鍵盤的工作原理如下: (1)先讀取鍵盤的狀態(tài),得到按鍵的特征編碼。 先從P1口的高四位輸出低電平,低四位輸出高電平,從P1口的低四位讀取鍵盤狀態(tài)。再從P1口的低四位輸出低電平,高四位輸出高電平,從P1口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當前按鍵的特征編碼。使用上述方法我們得到16個鍵的特征編碼。 (2)根據(jù)按鍵的特征編碼,查表得到按鍵的順序編碼。 將16個鍵的特征編碼按順序排成一張表,然后用當前讀得的特征編碼來查表,當表中有該特征編碼時,它的位置就是對應(yīng)的順序編碼。 (3)根據(jù)特征編碼與順序編碼的對應(yīng)關(guān)系就可以確定所按下的是哪一個鍵。 4 軟件仿真Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。④具有強大的原理圖繪制功能。該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。 本次實中設(shè)計的貪吃蛇電路,電路核心是LPC2124,P0端接液晶顯示屏,P1端接的是控制按鍵,具體仿真電路圖請見附錄一。 5 系統(tǒng)的軟件設(shè)計與實現(xiàn)5.1 游戲說明游戲目標是控制貪吃蛇吃掉畫面中的目標豆,每吃掉一個目標豆就會加分,但同時貪吃蛇的尾巴會相應(yīng)地長上一截,吃得越多,尾巴越長。游戲中,貪吃蛇碰上了自己的身體游戲即結(jié)束。分數(shù)增加到一定后,貪吃蛇移動的速度增加,從而逐步增加游戲的難度。 5.2 游戲結(jié)構(gòu)設(shè)計游戲主要分為A、B、C三個模塊。 A模塊主要用于控制游戲的開始、暫停與結(jié)束,這些方法與其他程序相同。 B模塊主要用于完成游戲的主要功能,包括了蛇體控制,目標豆的擺放,游戲控制,屏幕繪制等。 C模塊主要用于完成蛇體在屏幕上的定位。 5.3 游戲具體設(shè)計5.3.1 矩陣鍵盤按鍵掃描子程序用戶設(shè)計行列鍵盤接口,一般常采用3種方法讀取鍵值。分別為:中斷式,掃描法和反轉(zhuǎn)法。 (1)中斷式:在鍵盤按下時產(chǎn)生一個外部中斷通知CPU,并由中斷處理程序通過不同的地址讀取數(shù)據(jù)線上的狀態(tài),判斷哪個按鍵被按下。 (2)掃描法:對鍵盤上的某一行送低電平,其他行為高電平,然后讀取列值。若列值中有一位是低,則表明該行與低電平對應(yīng)列的鍵被按下;否則,掃描下一行。 (3)反轉(zhuǎn)法:先將所有行掃描線輸出低電平,讀列值。若列值有一位是底,則表明有鍵按下,讀列值;然后所有列掃描線輸出低電平,再讀行值。根據(jù)讀到的值組合就可以查表得到鍵值。 在本次實訓中我們采用的是反轉(zhuǎn)法,其硬件連接請見圖3.5。 關(guān)鍵代碼如下所示,具體可見源代碼。 uint8 Keyboard_Scan(void) { uint8 keycode = 0xff; uint8 row; uint8 col; for(col=0;col<KEYBOARD_COLUMN;col++) { Column_Clear(col); for(row=0;row<KEYBOARD_ROW;row++) { if(Row_Status(row)==0) { keycode = row*KEYBOARD_ROW+col; } } Column_Set(col); } return keycode; } 5.3.2 矩陣鍵盤處理子程序 主要是對鍵盤掃描子程序返回的鍵值進行處理,為了程序化模塊化,處理返回的鍵值時調(diào)用了各個鍵的處理函數(shù),這里就不給出具體的處理函數(shù)了,具體可見源代碼。 void Key_Process(uint8 num) //num為鍵盤掃描子程序返回的鍵值 { switch(num) { case 1:up();break; //向上 case 4:left();break; //向左 case 5:pause();break; //暫停 case 6:right();break; //向右 case 9:down(); break; //向下 default:move();break; //默認為自動移動 } } 5.3.3 LCD顯示子程序這部分的處理是在文件LOADBIT.C中完成。 子程序的功能為顯示單色圖形及漢字顯示。實現(xiàn)的流程是先將圖形轉(zhuǎn)換為對應(yīng)的點陣數(shù)組,然后即可調(diào)用LM3228的設(shè)備驅(qū)動程序中的函數(shù)輸出驅(qū)動。 本次實訓中采用LM3228的顯示屏,圖形液晶模塊驅(qū)動程序要考慮它的操制器,要參考它的DataSheet來設(shè)計,這部分程序具體可見源代碼。 5.3.4 主程序流程
主程序 在main.c中,它的程序流程如圖5.3所示。圖5.3 主程序流 6 程序測試6.1 仿真測試由于ARM芯片管腳比較多,而且很多元器件都是貼片元件,做成電路板比較困難,由于資源等客觀限制,所以在這里只進行仿真測試。測試將粗略檢測貪吃蛇游戲的5項基本功能:向上,向下,向左,向右和暫停功能。這里將測試貪吃蛇向右運動的情況,如圖6.1所示。
圖6.1 貪吃蛇向右運動 測試結(jié)果:在按了矩陣鍵盤的”6”號鍵之后,貪吃蛇開始向右運動,測試成功。 然后再測試貪吃蛇小游戲的暫停和繼續(xù)功能,按了一次矩陣鍵盤的”5”號鍵之后,貪吃蛇停止運動,再按一次矩陣鍵盤的”5”號鍵,貪吃蛇又繼續(xù)運動,測試成功。 6.2 程序的局限性由于時間的局限性和個人能力的局限性,這個程序中檢測出不少局限性,如下所述。 (1)在算法實現(xiàn)上,未充分考慮貪吃蛇碰壁的情況,只是簡單的讓貪吃蛇穿過墻壁,沒做其他處理。 (2)貪吃蛇在運動時可以改變至相反方向,即存在掉頭情況。 (3)貪吃蛇吃到自己尾巴的時候,有時會分成兩截,有待改進。 7 總結(jié)本次實踐,我選的題目是基于LPC2124實現(xiàn)的貪吃蛇游戲機。因為課題貪吃蛇游戲比較難,此次實踐我多方請教同學。這次實踐,我們可謂歷經(jīng)重重困難。第一階段是方案確定,我們花了大量時間采集資料,整理資料,首先是確定自己的課題,最后著手設(shè)計。在第二階段將我們的原理圖設(shè)計好。然后進入第三階段軟件的編程。但是在編寫程序時,困難時刻困擾著我,可能是因為自己平時不太注重動手能力的培養(yǎng),在實踐過程中遇到了好多問題。我們通過虛心請教計算機專業(yè)的同學和老師,用自己所學的知識分析后及時改正錯誤,通過再次不斷的修改原理圖,請教,再修改程序,但是在程序編寫部分我還是困難重重。當自己著手編寫程序時,通過采集到的資料進行修改,通過不斷的運行調(diào)試,仿真。按照自己的設(shè)計構(gòu)思,經(jīng)過一系列的測試工作,我們終于解決了貪吃蛇小游戲中發(fā)生的部分錯誤,完善該小游戲的基本功能。在測試過程中,面對所遇到的問題,認真分析流程圖,根據(jù)原理圖,認真檢查程序流程,并觀察各寄存器的變化情況, 最終能基本實現(xiàn)貪吃蛇小游戲的功能。 由于此次實踐期間不是考試期間,時間不是很緊迫,但是我們還是分秒必爭,有時呆在科協(xié)一呆就是一天,經(jīng)常晚上凌晨兩三點才回宿舍。這次實訓真的是對我們最大的考驗,困難問題的不斷出現(xiàn),讓我們應(yīng)付不過來,因為我們的堅持不懈,相信失敗是成功之母,功夫不負有心人,最后終于成功了,成功的喜悅讓人舒心。 通過這次實踐,我覺得對我來說本身就是一個提升。真理正是靠實踐而證明的,而成功就是靠自己的摸索而成功的。當自己遇到失敗的時候,不要心灰氣餒,沉著冷靜,認真分析原理,實在不懂虛心向老師和同學學習請教,終會有所收獲。 在做作品的過程中我學到了很多在課堂上學不到的東西,雖然說這次實踐很累。但是在這期間,我感覺真的是過得和充實,而且得到了許多寶貴的經(jīng)驗,相信對我以后的軟件編程和專業(yè)的學習都會有很大的幫助。
參考文獻[1] 崔更申,孫安青.ARM嵌入式系統(tǒng)開發(fā)與實踐[M].北京:中國電力出版社,2008. [2] 田澤.嵌入式開發(fā)與應(yīng)用[M].北京:北京航空航天大學出版社,2005. [3] 周立功等.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學出版社,2005. [4] 譚浩強.C語言程序設(shè)計.北京:清華大學出版社,2002.
附 錄附錄一 系統(tǒng)仿真電路圖
附錄二 程序文件清單表1所示系統(tǒng)源程序文件清單如附。 表1 系統(tǒng)源程序文件清單 | | | | | | | | | | | | | | | | | | | 設(shè)置前景色及背景色變量實現(xiàn)文件 | | | | 液晶模塊驅(qū)動程序?qū)崿F(xiàn)文件 | | | | | | | | | | | | |
附錄三 使用說明書貪吃蛇小游戲簡單易玩,矩陣鍵盤的2 ,4,6, 8鍵分別使蛇向下,左,右,上方運動,按5鍵為暫停/繼續(xù)游戲,在游戲過程中貪吃蛇吃到東西身體會變長,身體長度長到一定程序貪吃蛇運動的速度就加快,游戲的難度就增加,總的來說這款貪吃蛇小游戲比其他的更簡單更容易上手。
完整的Word格式文檔51黑下載地址:
1506020210王浩宇.doc
(1000 KB, 下載次數(shù): 59)
2018-11-29 12:43 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|