日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【java毕业设计】基于java+GUL的超级玛丽游戏GUL设计与实现(毕业论文+程序源码)——超级玛丽游戏

發布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【java毕业设计】基于java+GUL的超级玛丽游戏GUL设计与实现(毕业论文+程序源码)——超级玛丽游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于java+GUL的超級瑪麗游戲GUL設計與實現(畢業論文+程序源碼)

大家好,今天給大家介紹基于java+GUL的超級瑪麗游戲GUL設計與實現,文章末尾附有本畢業設計的論文和源碼下載地址哦。

文章目錄:

  • 基于java+GUL的超級瑪麗游戲GUL設計與實現(畢業論文+程序源碼)
    • 1、項目簡介
    • 2、資源詳情
    • 3、關鍵詞:
    • 4、畢設簡介:
    • 5、源碼下載:

1、項目簡介

  • “超級瑪麗”游戲是一個經典的游戲,它因操作簡單、娛樂性強而廣受歡迎。本游戲中通過總結和分析JAVA游戲的開發流程和代碼功能的設計,采用面向對象的設計模式,對游戲中的所有物體賦予對象的概念和屬性。開發了一款超級瑪麗游戲,該游戲主要分為窗體類、場景類、馬里奧類、敵人類、障礙物類等幾個類。在主程序運行的線程中,用戶控制的超級瑪麗隨方向鍵的操作而移動,并且可以實現馬里奧游戲中的一些基本功能,例如踩死敵人或者頂掉磚塊。本游戲采用雙緩存技術,解決了游戲過程中的閃屏問題。通過本游戲的開發,達到學習Java技術和熟悉軟件開發流程的目的。

  • 本文在介紹Java相關技術和國內外發展現狀的基礎上,對“超級瑪麗”游戲的整個生命周期的各個開發階段進行了詳細地介紹。為了保證程序代碼的正確性和功能實現的可靠性,本文還介紹了游戲軟件的程序調試過程和功能測試結果。

  • 超級瑪麗小游戲的JAVA程序,進入游戲后首先按空格鍵開始,利用方向鍵來控制的馬里奧的移動,同時檢測馬里奧與場景中的障礙物和敵人的碰撞,并判斷馬里奧的可移動性和馬里奧的生命值。當馬里奧通過最后一個場景后游戲結束。。
    本系統擁有的角色如下:
    (1)馬里奧
    (2)障礙物
    (3)敵人


  • 2、資源詳情

    項目難度:中等難度
    適用場景:相關題目的畢業設計
    配套論文字數:21903個字
    包含內容:整套源碼+完整畢業論文+答辯PPT+輔導視頻+運行截圖


    3、關鍵詞:

    面向對象;Java;碰撞檢測;超級瑪麗

    4、畢設簡介:

    提示:以下為畢業設計的簡略介紹,項目源碼及完整畢業論文下載地址見文末。

    緒論
    1.1背景以及現狀
    Java并不是以游戲編程為目的而被開發的,事實上,游戲編程可能是Java創造者心中的最后一個目標。在過去,妨礙Java發展的是它的運行環境;瀏覽器和Java類庫一起從本質上決定了Java應該用來寫哪種類型的應用程序,而高速的游戲和圖象則不在其中。這給Java帶來了不好的影響,因為人們注意的不是語言,而是它的運行環境。現在,瀏覽器已經不能控制一切了,Java作為游戲編程語言的另一個機會到來了。Java在過去有一點超前于它的時代,當時市場的動力落后于Java,但是現在Java可以而且已經取得成功。
    省略

    1.2 Java語言的特點

  • 平臺無關性
    Java引進虛擬機原理,并運行于虛擬機,實現不同平臺之間的Java接口。使用Java編寫的程序能在世界范圍內共享。Java的數據類型與機器無關。
  • 安全性
    Java的編程類似C++,但舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內存由操作系統分配,這樣可以避免病毒通過指針入侵系統。它提供了安全管理器,防止程序的非法訪問。
  • 面向對象
    Java吸收了C++面向對象的概念,將數據封裝于類中,實現了程序的簡潔性和便于維護性,使程序代碼可以只需一次編譯就可反復利用。
  • 分布式
    Java建立在TCP/IP網絡平臺上,提供了用HTTP和FTP協議傳送和接收信息的庫函數,使用其相關技術可以十分方便的構建分布式應用系統。
  • 健壯性
    Java致力與檢查程序在編譯和運行時的錯誤,并自動回收內存,減少了內存出錯的可能性。Java取消了C語言的結構、指針、#define語句、多重繼承、goto語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內存空間。
  • 1.3 系統運行環境及開發軟件:
    開發環境:Windows 7;
    (2)開發工具:eclipse;
    (3)編程語言:Java語言;

    1.4 可行性的分析
    可行性研究的目的,就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統規模和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發這個系統的程度。因此,可行性研究實質上是要進行一次大大壓縮簡化了的系統分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統分析和設計的過程。

    1.4.1 技術可行性
    本游戲是在Windows 7環境下開發的,一般的機器配置就可以了,對機器本身沒有太高的要求,一般當前學校或個人電腦完全可滿足要求,環境只需裝上jdk 1.4或以上版本就行了,Java是現在全球最時髦的開發工具之一,它擁有一套龐大且完善的類庫,內置了其他語言需要靠庫甚至是操作系統才能支持的功能,擁有一個虛擬機。NeatBeans IDE 5.5是SUN公司開發的Java可視化集成開發工具,是目前最優秀的Java集成開發工具之一。

    1.4.2 經濟可行性
    由于本系統使用到的工具一般機器都具備,使用環境也很簡單,開發成本低,本課題研究的內容是涉及網絡的游戲對戰。
    省略

    1.4.3 操作可行性
    由于在整個系統的開發過程中從操作簡便、界面美觀、靈活實用的用戶要求為出發點,界面設計時充分考慮玩家的感受,界面比較直觀,交互性很好,所以操作起來簡單明了。

    2、需求分析
    所謂系統分析,就是指在整個系統開發工程中,解決“做什么”的問題,把要解決哪些問題,滿足用戶哪些具體的信息需求調查分析清楚,從邏輯上或是說從信息處理的功能需求上提出系統的方案,即邏輯模型,為下一階段進行物理方案設計,解決怎么辦提供依據。

    2.1 用戶需求分析
    超級瑪麗這款游戲是很多人童年經典的回憶,是一種簡單的大眾的游戲,自從計算機實現以來,深受廣大電腦玩家的喜愛。并且隨著社會的快速發展,人們的生活節奏越來越快,人們對于童年的美好已經不愿意僅僅停留在回憶階段。所以利用java語言開發一款超級瑪麗游戲正是人們迫切需要的。

    2.2功能需求分析
    本系統主要是完成超級瑪麗游戲的基本操作。本系統需要滿足以下幾點要求:
    (1) 在開始界面按空格鍵進入游戲。
    (2) 利用方向鍵來控制馬里奧的運動。
    (3) 碰撞檢測:
    A.馬里奧在運動的過程中如果碰到障礙物則停止運動,在移動到懸崖上方是會掉下去,并失去一條生命。
    B.對于有些敵人,如果馬里奧跳到敵人頭頂上,則敵人消失,否則馬里奧失去一條生命。
    (4)馬里奧頂到金幣會增加分數,當馬里奧失去3條生命時游戲結束。

    2.3界面設計需求分析

  • 選取和諧Q版的圖片,使畫面色彩和諧自然。
  • 固定游戲界面大小與初始顯示位置。
  • 游戲采用900600像素顯示,對于馬里奧和障礙物選用6060像素的正
    方圖片,對于較大的障礙物分割成多個60*60的小正方形。
  • 3、系統概要設計
    3.1系統模塊設計
    首先在對于系統的需求進行了分析,因為設計者的最初是要做一款游戲,所以窗體類必不可少。接下來繼續分析,游戲中還需要背景類、障礙物類、敵人類、馬里奧類這及格類。其次為了游戲的流暢以及游戲中圖片調用的方便,專門為此再設計一個初始化類。

    3.1.1窗體類
    該類主要用于存放游戲的場景以及其他各類,并且實現KeyListener接口,用于從鍵盤的按鍵中讀取信息。該類中的一些屬性主要包括了用于存放所有場景的list集合 allBG,馬里奧類 mario,當前的場景 nowBG以及其他一些游戲中需要的標記等。而且在該類中,運用雙緩存的技術使得游戲的流暢度更高,解決了游戲中出現的閃屏問題。

    Myframe

    • allBG:List
    • mario:Mario
    • nowBG:BackGround
    • main():void
    • paint():void
    • keyPressed():void
    • kerReleased():void

    3.1.2初始化類
    用于存放游戲所需要的所有靜態文件,在游戲開始的時候將所有文件導入,提高游戲的運行速度。并且在該類中將所有需要用到的圖片進行分類,分為障礙物類,馬里奧類,敵人類以及背景圖片。當游戲運行時可以直接調用這些集合中的圖片進行遍歷,在調用的時候更加方便,而且可以使馬里奧或者敵人在移動的時候產生動態效果。

    StaticValue

    • allMarioImage:List
    • startImage:BufferedImage
    • init():void

    3.1.3背景類
    該類表示馬里奧及障礙物和敵人所處的場景,并且將障礙物和敵人繪制到場景中。在該類中包括用于存放敵人和障礙物的list集合,以及當敵人或者障礙物被消滅后用于存放已經消失的敵人和障礙物的集合,這樣做是為了在馬里奧死亡時重置場景所用的。其次在該類中還使用了控制敵人移動的方法,是為了在程序之初控制敵人靜止,然后在玩家點擊空格以后在使得敵人開始移動。

    BackGround

    • bgImage:BufferedImage
    • isOver:boolean
    • isDown:boolean
    • allEnemy:List
    • removeEnemy:List
    • enemyStartMove():void
    • reset():void

    3.1.4馬里奧類
    用來控制馬里奧的行動,并且在該類中加入碰撞檢測,判斷馬里奧是否與障礙物或者敵人發生碰撞。該類中的屬性主要定義了馬里奧所在的場景,馬里奧的移動和跳躍的速度,以及馬里奧在移動過程中需要顯示的圖片。另外該類中還定義了玩家的生命值和所獲得的分數。并且在run()方法中還定義了當馬里奧到達最后一關的旗子時,玩家將失去對馬里奧的控制,剩下的由程序控制走到城堡,完整全部游戲。

    Mario

    • x:int
    • y:int
    • xmove:int
    • ymove;int
    • life:int
    • isDead:boolean
    • leftMove():void
    • leftStop():void
    • jump():void
    • down():void
    • dead():void

    3.1.5障礙物類
    繪制場景中所需要的障礙物,例如地面、磚塊、水管等等。該類中的屬性包括了障礙物的坐標,障礙物所需要顯示的圖片等。并且在該類中也定義了障礙物類的重置方法,當馬里奧死亡時,場景類會調用該方法。

    Obstruction

    • x:int
    • y:int
    • type:int
    • starttype:int
    • showImage:BufferedImage
    • reset():void
    • setImage():void

    3.1.6敵人類
    該類中主要設置了兩種敵人,一種是蘑菇怪,可以被馬里奧踩死,另一種是食人花,不能被踩死。該類中的屬性包括了敵人的坐標,敵人的初始坐標,需要顯示的圖片,以及敵人的移動方向和移動范圍等。敵人的初始坐標主要是為了當敵人執行重置方法后將敵人的位置還原。

    Enemy

    • x:int
    • y:int
    • startx:int
    • starty:int
    • showImage:BufferedImage
    • upMax:int
    • downMax:int
    • reset():void
    • dead():void

    3.2系統流程設計:

    4、系統詳細設計
    4.1 設計目標
    本軟件是針對超級瑪麗小游戲的JAVA程序,進入游戲后首先按空格鍵開始,利用方向鍵來控制的馬里奧的移動,同時檢測馬里奧與場景中的障礙物和敵人的碰撞,并判斷馬里奧的可移動性和馬里奧的生命值。當馬里奧通過最后一個場景后游戲結束。

    4.2 系統模塊設計
    本系統共包括6各類:

    4.2.1窗體類
    該類主要用于存放游戲的場景以及其他各類,并且實現KeyListener接口,用于從鍵盤的按鍵中讀取信息。該類中的一些屬性主要包括了用于存放所有場景的list集合 allBG,馬里奧類 mario,當前的場景 nowBG以及其他一些游戲中需要的標記等。而且在該類中,運用雙緩存的技術使得游戲的流暢度更高,解決了游戲中出現的閃屏問題。

    public MyFrame(){this.setTitle("瑪麗奧");this.setSize(900, 600);//這里是為了獲得電腦屏幕的整體大小,以便于下面確定窗體的位置int width = Toolkit.getDefaultToolkit().getScreenSize().width;int height = Toolkit.getDefaultToolkit().getScreenSize().height;this.setLocation((width-900)/2, (height-600)/2);//設置窗體默認不可以被拉伸this.setResizable(false);//初始化圖片StaticValue.init(); 當這些都設置好以后,接下來就應當在構造方法中繪制了,當然最先應當將游戲的場景繪制到窗體類中,然后在窗體類中還應當繪制馬里奧類,這是游戲中必不可少的。當然在繪制場景類的時候因為不知一個場景,所以可以使用循環,將所有的場景全部繪制。然后在將所需要的所有監視設置好以后就可以開啟該類的線程了。//使用循環創建全部場景for(int i=1;i<=7;i++){this.allBG.add(new BackGround(i, i==7?true:false));}//將第一個場景設置為當前場景this.nowBG = this.allBG.get(0);//初始化瑪麗奧this.mario = new Mario(0, 480);//將瑪麗奧放入場景中this.mario.setBg(nowBG);this.repaint();this.addKeyListener(this);this.t = new Thread(this);t.start();//使窗口在關閉的時候,程序也同時停止。this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true); } 在這些最基本的東西設置完以后,還需要一個方法來解決游戲中經常會出現的閃屏問題。這個方法就是雙緩存方法,現在類中定義一個BufferedImage的圖片,然后從該圖片中獲取到圖片的Graphics g2,然后利用畫筆g2將所要繪制的東西繪制到這個空的圖片中,然后在利用窗體類中的paint方法中的畫筆g將這個已經繪制好的圖片繪制到窗體類中,這樣利用空白圖片作為程序運行中的中轉,就可以很好的解決游戲運行過程中出現的閃屏問題。 public void paint(Graphics g) {//先定義一個圖片,然后利用雙緩存解決閃屏問題BufferedImage image = new BufferedImage(900, 600, BufferedImage.TYPE_3BYTE_BGR);Graphics g2 = image.getGraphics();//利用上面圖片中得到的畫筆g2,將所需繪制到圖片中if(this.isStart){//繪制背景g2.drawImage(this.nowBG.getBgImage(), 0, 0, this);//繪制生命g2.drawString("生命: "+this.mario.getLife(), 800, 50);//繪制怪物敵人Iterator<Enemy> iterEnemy = this.nowBG.getAllEnemy().iterator();while(iterEnemy.hasNext()){Enemy e = iterEnemy.next();g2.drawImage(e.getShowImage(), e.getX(), e.getY(), this);}//把緩存圖片繪制進去g.drawImage(image, 0, 0, this); } 當然游戲的宗旨是讓玩家和電腦之間的互動,那么就又涉及到一個問題,就是玩家對游戲中的馬里奧的控制。我們前面已經說過了該類中必須要實現KeyListener接口,這個接口的作用就是使該類中實現一些方法,以便于達到玩家在游戲進行時可以對游戲中的馬里奧進行控制。我們這里擬定對于馬里奧的控制可以使用我們常見的四個方向鍵,即我們說的上下左右。并且通過控制臺打印,可以知道上對應的是38,右對應的是39,左對應的是37。并且游戲的設定是開始后游戲不會直接運行,而是要使用空格鍵以后游戲才會真正開始,所以還要加入當按空格鍵的時候游戲正式開始,空格鍵對應的是32public void keyPressed(KeyEvent e) {if(this.isStart){//瑪麗奧的移動控制if(e.getKeyCode()==39){this.mario.rightMove();}if(e.getKeyCode()==37){this.mario.leftMove();}//跳躍控制if(e.getKeyCode()==38){this.mario.jump();}}else if(e.getKeyCode()==32){this.isStart = true;} } 對于按鍵,那么相對應的就是當抬起建的時候。因為你向右移動的時候,如果這時候突然停止,那么很可能馬里奧會保持一個運動的狀態停下來,那么就必須在瑪麗奧停止的時候給他一個指令,讓他的移動圖片變為靜止。相對于運動的時候是類似的,這里不做累述。 public void keyReleased(KeyEvent e) {if(this.isStart){//控制瑪麗奧的停止if(e.getKeyCode()==39){this.mario.rightStop();;}if(e.getKeyCode()==37){this.mario.leftStop();;}}當這一切都做好以后,那么最后就應該在類中重寫一下run方法了,在這個方法中應當提一下游戲的通關和死亡后的狀態。即游戲通關,或者馬里奧死亡時應當彈出一個窗口,說明游戲通關或者馬里奧死亡,并且點擊了這個窗口以后,游戲應當結束,而且整個游戲也應當關閉。 if(this.mario.isDead()){JOptionPane.showMessageDialog(this, "游戲結束");System.exit(0); } if(this.mario.isClear()){JOptionPane.showMessageDialog(this, "恭喜游戲通關!");System.exit(0);}

    4.2.2初始化類
    用于存放游戲所需要的所有靜態文件,在游戲開始的時候將所有文件導入,提高游戲的運行速度。并且在該類中將所有需要用到的圖片進行分類,分為障礙物類,馬里奧類,敵人類以及背景圖片。當游戲運行時可以直接調用這些集合中的圖片進行遍歷,在調用的時候更加方便,而且可以使馬里奧或者敵人在移動的時候產生動態效果。

    public class StaticValue {public static List<BufferedImage> allMarioImage = new ArrayList<BufferedImage>();public static BufferedImage startImage = null;public static BufferedImage endImage = null;public static BufferedImage bgImage = null;public static List<BufferedImage> allFlowerImage = new ArrayList<BufferedImage>();public static List<BufferedImage> allTriangleImage = new ArrayList<BufferedImage>();public static List<BufferedImage> allObstructionImage = new ArrayList<BufferedImage>(); 定義完這些屬性之后,剩下的就是初始化了,在該類中定義一個init()方法,這個方法在執行的時候會將所需的所有圖片放入到之前定義好的各個集合中。因為圖片存放的路徑都是一樣的,所以為了減少代碼量會定義一個公共路徑ImagePath。然后就可以利用循環,將存放的圖片全部導入進去。//介紹代碼量,定義公共路徑public static String ImagePath = System.getProperty("user.dir")+"/bin/";//定義方法init(),將圖片初始化public static void init(){//利用循環將瑪麗奧圖片初始化for(int i=1;i<=10;i++){try {allMarioImage.add(ImageIO.read(new File(ImagePath+i+".png")));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//導入背景圖片try {startImage = ImageIO.read(new File(ImagePath+"start.jpg"));bgImage = ImageIO.read(new File(ImagePath+"firststage.jpg"));endImage = ImageIO.read(new File(ImagePath+"firststageend.jpg"));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}//導入瑪麗奧死亡圖片try {mariDeadImage = ImageIO.read(new File(ImagePath+"over.png"));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }

    4.2.3背景類
    該類表示馬里奧及障礙物和敵人所處的場景,并且將障礙物和敵人繪制到場景中。在該類中包括用于存放敵人和障礙物的list集合,以及當敵人或者障礙物被消滅后用于存放已經消失的敵人和障礙物的集合,這樣做是為了在馬里奧死亡時重置場景所用的。其次在該類中還使用了控制敵人移動的方法,是為了在程序之初控制敵人靜止,然后在玩家點擊空格以后在使得敵人開始移動。并且在第六個關卡處設置了一個隱形通關要點,只有當馬里奧頂到這個隱形磚塊時才會出現,馬里奧就可以借助這個磚塊通過關卡。

    public class BackGround {//當前場景圖片private BufferedImage bgImage = null;//場景順序private int sort;//是否為最后的場景private boolean flag;//游戲結束標記private boolean isOver = false;在最后一個關卡中,馬里奧到達旗桿的位置后就會失去控制,同時旗子將會開始下降,只有等旗子下降完畢后,馬里奧才能開始移動,所以這里還要定義一個旗子是否下降完畢的boolean類型的屬性isDown,用于判斷馬里奧什么時候移動。//定義降旗結束private boolean isDown = false;當馬里奧失去生命的時候,但是并沒有失去所有的生命,那么這個時候應當重置這個場景,將所有消滅掉的障礙物和敵人全部還原。因此除了在該類中除了要定義存放敵人和障礙物的List集合以外,還應當有存放被消滅的敵人或者障礙物的List,當敵人或者障礙物被消滅的時候先放入到這個List中,這樣在充值的時候就可以直接將這個集合中的數據在還原到原先的集合里面。//用集合保存敵人private List<Enemy> allEnemy = new ArrayList<Enemy>();//用集合保存障礙物private List<Obstruction> allObstruction = new ArrayList<Obstruction>();//被消滅的敵人private List<Enemy> removeEnemy = new ArrayList<Enemy>();//被消滅的障礙物private List<Obstruction> removeObstruction = new ArrayList<Obstruction>();在游戲的設定中,應當是游戲開始的時候,所有的敵人其實是靜止的,而且玩家也不能控制馬里奧,必須要等到玩家按空格鍵開始以后游戲才會進行,那么這里就應當在定義一個方法,即當玩家空格鍵的時候會調用這個方法,同時游戲中的敵人開始移動,游戲正式開始。這個方法也就是相當于控制敵人開始移動的方法,所以命名為enemyStartMove()方法。//敵人開始移動public void enemyStartMove(){//遍歷當前場景中的敵人,使之開始移動for(int i=0;i<this.allEnemy.size();i++){this.allEnemy.get(i).startMove();}}接下來就應當定義背景類的構造方法了,通過獲取場景的順序,即場景的sort,來判斷是哪一個場景,同時將場景繪制好。//構造方法public BackGround(int sort,boolean flag){//第一個場景if(sort==1){for(int i=0;i<15;i++){this.allObstruction.add(new Obstruction(i*60, 540, 9,this));}//繪制磚塊和問號this.allObstruction.add(new Obstruction(120, 360, 4,this));this.allObstruction.add(new Obstruction(300, 360, 0,this));......}前面提到,如果馬里奧死亡,但是卻沒有失去所有的生命值,那么游戲應當重置,當前場景中的所有敵人和障礙物,也包括馬里奧都應當回到初始位置。為了達到這個效果,那么我們的場景類中就必須要定義一個reset()方法,來調用障礙物和場景還有馬里奧的各自的重置方法,來使當前的場景還原。并且在這之前我們還要將消滅掉的敵人和障礙物從消滅掉的存放的List中提出來,放回到原來的List中。然后遍歷障礙物和敵人的List,使用循環調用他們的重置方法。//重置方法,重置障礙物和敵人public void reset(){//將移除的障礙物和敵人還原this.allEnemy.addAll(this.removeEnemy);this.allObstruction.addAll(this.removeObstruction);//調用障礙物和敵人的重置方法for(int i=0;i<this.allEnemy.size();i++){this.allEnemy.get(i).reset();}for(int i=0;i<this.allObstruction.size();i++){this.allObstruction.get(i).reset();}}

    4.2.4馬里奧類

    用來控制馬里奧的行動,并且在該類中加入碰撞檢測,判斷馬里奧是否與障礙物或者敵人發生碰撞。該類中的屬性主要定義了馬里奧所在的場景,馬里奧的移動和跳躍的速度,以及馬里奧在移動過程中需要顯示的圖片。另外該類中還定義了玩家的生命值和所獲得的分數。并且在run()方法中還定義了當馬里奧到達最后一關的旗子時,玩家將失去對馬里奧的控制,剩下的由程序控制走到城堡,完整全部游戲。

    public class Mario implements Runnable{//坐標private int x;private int y;//定義瑪麗奧所在場景private BackGround bg;//加入線程private Thread t = null;為了玩家在游戲過程中的良好體驗,那么對于馬里奧的移動速度和跳躍速度就必須要定義好。所以該類里面還應當定義馬里奧的移動速度和跳躍速度,其本質就是馬里奧在移動過程中坐標加減的值。當然初始值為零,必須等到馬里奧構造的時候,再將這些屬性賦予相對應的值。在本類中還要定義游戲的分數以及馬里奧的生命數,這些都是必不可少的。//移動速度private int xmove = 0;//跳躍速度private int ymove = 0;//狀態private String status;//顯示圖片private BufferedImage showImage;//生命和分數private int score;private int life;在馬里奧這個類中,還要定義馬里奧的移動和跳躍方法,以便玩家在按下方向鍵后調用這些方法,來達到控制馬里奧的移動。下面是馬里奧向左移動的方法,其他方法同理。public void leftMove(){//移動速度xmove = -5;//改變狀態//如果當前已經是跳躍,應該保持原有狀態,不能再改變if(this.status.indexOf("jumping") != -1){this.status = "left-jumping";}else{this.status = "left-moving";}}......在定義馬里奧的跳躍方法的時候,不單單定義一個方法就行,而且還要判斷馬里奧的狀態。如果馬里奧是在地面或者是在障礙物的上方,那么馬里奧可以進行跳躍,如果馬里奧處于空中,那么馬里奧就不可以繼續跳躍。public void jump(){ //判斷馬里奧是否可以進行跳躍if(this.status.indexOf("jumping") == -1){if(this.status.indexOf("left") != -1){this.status = "left-jumping";}else{this.status = "right-jumping";}ymove = -5;upTime = 36;}}接下來就要寫馬里奧中的run()方法了,這個方法中的內容相對來說比較麻煩,因為要在這個方法中對馬里奧和障礙物或者敵人之間進行邏輯判斷,即所謂的碰撞檢測。首先在這個類中對馬里奧是否處于最后一個場景進行判斷,如果馬里奧處于最后一個場景,并且坐標大于520,那么說明馬里奧已經撞到的旗桿,這個時候馬里奧將不會由玩家控制。并且同時調用旗子的移動方法,使旗子進行下落,當旗子下落完畢后給馬里奧一個標記,馬里奧開始移動到城堡。當馬里奧的坐標大于780,即馬里奧到達城堡的門口的時候,這個時候游戲結束。public void run() {while(true){//判斷是否與障礙物碰撞//定義標記if(this.bg.isFlag() && this.x >= 520){this.bg.setOver(true);if(this.bg.isDown()){//降旗后瑪麗奧開始移this.status = "right-moving";if(this.x < 580){//向右this.x += 5;}if(this.x >= 780){//游戲結束this.setClear(true);}然后對當前馬里奧所處的場景中的所有障礙物進行遍歷,獲取到所有障礙物的坐標,通過障礙物的坐標和馬里奧的坐標的之間的關系的判斷,來決定馬里奧是否與障礙物發生了碰撞,并且通過判斷的結果來對馬里奧和障礙物的狀態進行相應的變化。 for(int i=0;i<this.bg.getAllObstruction().size();i++){Obstruction ob = this.bg.getAllObstruction().get(i);//不能向右移動if(ob.getX()==this.x+60&&(ob.getY()+50>this.y&&ob.getY()-50<this.y)){if(ob.getType() != 3){canRight = false;}}......當馬里奧撞到障礙物的時候,那么就要根據障礙物的類型進行接下來的判斷,如果是磚塊或者是問號的話,那么障礙物消失,馬里奧被彈回,即馬里奧的狀態由上升狀態變為下落狀態,并且將消失掉的障礙物放入相對應的消失的List集合當中。如果障礙物的類型為其他,比如說是石頭的話,那么障礙物不變,馬里奧直接被彈回。//判斷瑪麗奧跳躍時是否撞到障礙物if(ob.getY()==this.y-60&&(ob.getX()+50>this.x && ob.getX()-50<this.x)){//如果是磚塊if(ob.getType()==0){//移除磚塊this.bg.getAllObstruction().remove(ob);//保存到移除的障礙物中this.bg.getRemoveObstruction().add(ob);}為了游戲的可玩性,將會在游戲中加入一個隱藏的陷阱,或者是隱藏的通關點。這個隱藏的障礙物在游戲進行的時候不會顯示出來,當然馬里奧從他的左右兩邊過去的時候也不會觸發這個隱藏的障礙物,必須是從下方撞到這個障礙物時才會顯示出來。同時馬里奧由上升狀態變為下落狀態。而且他和磚塊障礙物相同,被頂到后會變為石頭,改變類型。//如果是問號||隱藏的磚塊if((ob.getType()==4 || ob.getType()==3) && upTime > 0){ob.setType(2);ob.setImage();}//馬里奧開始下落upTime = 0; 在游戲中敵人大致可以分為兩類。一類是蘑菇怪,這種敵人是可以被殺死的,當馬里奧從蘑菇怪的正上方踩到蘑菇怪時,那么蘑菇怪就會被消滅,同時馬里奧向上跳起一小段距離。而消失掉的蘑菇怪就會被放到消失掉的敵人的List集合中,等到重置的時候在調用出來。但是如果馬里奧從蘑菇怪的左右兩邊碰到蘑菇怪的話就會失去一條生命,并且重置游戲。第二類是食人花,這種敵人不會被馬里奧消滅掉,不論馬里奧從哪個方向去碰撞食人花,食人花都不會消失,而且如果馬里奧碰到了食人花,自身還會失去一條生命,并且游戲重置,當然前提是馬里奧沒有失去所有的生命值,否則的話游戲就結束。 首先馬里奧對于所有的敵人,如果從左右兩邊碰撞到敵人,那么馬里奧死亡,失去一條生命,游戲重置。//對敵人的判斷for(int i=0;i<this.bg.getAllEnemy().size();i++){Enemy e = this.bg.getAllEnemy().get(i);//對于所有的敵人都適用if((e.getX()+50>this.x && e.getX()-50<this.x) && (e.getY()+60>this.y && e.getY()-60<this.y)){//瑪麗奧死亡this.dead();}//這里開始區分敵人的類別,對于不同的敵人做出不同的反應if(e.getY()==this.y+60 && (e.getX()+60>this.x && e.getX()-60<this.x)){if(e.getType() == 1){e.dead();this.upTime = 10;this.ymove = -5;}else if(e.getType() == 2){this.dead();}}

    4.2.5障礙物類
    繪制場景中所需要的障礙物,例如地面、磚塊、水管等等。該類中的屬性包括了障礙物的坐標,障礙物所需要顯示的圖片等。并且在該類中也定義了障礙物類的重置方法,當馬里奧死亡時,場景類會調用該方法。

    public class Obstruction implements Runnable{//坐標private int x;private int y;//控制旗子private Thread t = new Thread(this);前面說過,當馬里奧頂到問好或者是隱藏的磚塊時,那么這個障礙物的類型就會改變,變為石頭。那么在障礙物這個類里面就必須要定義一個屬性stype,這個屬性用于表示當前障礙物的類型,以便于變化形態的時候調用。這個類型的值就可以用初始化類中的相對應的List集合里面的下標表示。既然有改變,就要有恢復,所以還要定義一個不變的type,命名為starttype,這個屬性是為了當游戲重置的時候,障礙物可以通過調用這個屬性恢復到最初始的狀態。而且不同的狀態對應不同的顯示圖片,所以還要有showImage屬性。//類型private int type;//初始類型private int starttype;//顯示圖片private BufferedImage showImage = null;//取得場景private BackGround bg;在該類中還要寫入reset()方法,這個方法是為了當馬里奧死的時候調用重置方法,對已經被消滅掉的障礙物進行重置。因為有的障礙物被頂掉以后會給變類型和圖片,所有還要定義一個setImage()方法,用來改變障礙物的顯示圖片。//重置方法public void reset(){this.type = starttype;this.setImage();}//根據狀態改變顯示圖片public void setImage(){showImage = StaticValue.allObstructionImage.get(type);}最后該類中的run方法主要是為了控制最后一個場景中的旗子的移動,并且在旗子移動完畢后要設置一個標記,并且將該標記表示給馬里奧類,這樣馬里奧就可以開始自主移動了。if(this.bg.isOver()){if(this.y < 420){this.y += 5;}else{//設計標記為true,即表示馬里奧可以開始移動了this.bg.setDown(true);}

    4.2.6敵人類
    該類中主要設置了兩種敵人,一種是蘑菇怪,可以被馬里奧踩死,另一種是食人花,不能被踩死。該類中的屬性包括了敵人的坐標,敵人的初始坐標,需要顯示的圖片,以及敵人的移動方向和移動范圍等。敵人的初始坐標主要是為了當敵人執行重置方法后將敵人的位置還原。

    public class Enemy implements Runnable{//坐標private int x;private int y;//加入線程private Thread t = null;當馬里奧失去一條生命值的時候,游戲會被重置,敵人回回到初始的位置,所以還要定義另外兩個int屬性startx和starty,用來當游戲進行重置的時候,可以根據這個初始坐標回復敵人的位置。//初始坐標private int startx;private int starty;對于不同的敵人,所顯示的圖片肯定是不同的,所以要定義一個現實的圖片屬性showImage,并且在馬里奧中,馬里奧要通過判斷敵人的類型,來決定是馬里奧死亡,還是敵人死亡,對于不同的敵人有不同的反應,所以還要在該類中定義一個type屬性,用來表示敵人的類型。//怪物類型private int type;//顯示圖片private BufferedImage showImage;對于敵人里面的食人花而言,他是在水管中直上直下的,所以他的上下移動應當有一個界限,不論是向上移動還是向下移動,都不能超過這個界限,否則的話食人花就會從水管中飛出來或者是移動到MyFrame外面了。//移動范圍private int upMax = 0;private int downMax = 0;在這個類中應當有兩個構造方法,對于不同的敵人,所需要的屬性都是不同的。并且在兩個類中都有一個共同的代碼,那就是要在開啟線程后應當先將線程掛起。這是為了配合游戲在開始的時候敵人不移動,必須要等到玩家按空格鍵的時候才會開始,所以先將線程掛起來,當點擊空格鍵以后在將線程開啟。//蘑菇怪的構造方法public Enemy(int x,int y,boolean isLeft,int type,BackGround bg){... ...this.t = new Thread(this);t.start();t.suspend();}接下來是寫敵人類中的run()方法了,該方法主要是為了控制蘑菇怪以及食人花敵人的移動的。因為不同的敵人在不同的場景中有不同的移動方法,所以對于敵人的移動而且,首先要判斷敵人的類型和敵人所處的場景。public void run() {while(true){//判斷怪物類型if(type==1){if(this.isLeftOrUp){this.x -= 5;}else{this.x += 5;}... ...在游戲中,當馬里奧死亡的時候會對整個場景中的障礙物進行重置,當然敵人也不例外。當馬里奧死亡的時候,不僅要將所有被消滅的敵人全部顯示出來,即從消滅的List中還原到原來的敵人List中,并且敵人的狀態和坐標也要進行重置。要將敵人的坐標還原到最開始的坐標,而且把圖片進行還原。并且在重置方法中也要對敵人的類型進行判斷,使得敵人的類型和他的顯示圖片相對應。public void reset(){//還原坐標this.x = this.startx;this.y = this.starty;//還原圖片if(this.type == 1){this.showImage = StaticValue.allTriangleImage.get(0);}else if(this.type == 2){this.showImage = StaticValue.allFlowerImage.get(0);}}最后在該類中定義一個死亡方法,主要是針對蘑菇怪被消滅的時候所調用的方法。在這個方法中要定義蘑菇怪死亡的時候的顯示圖片,也就是蘑菇怪被踩扁的圖片。并且要將這個敵人從相對應的場景的敵人集合中除去,放入別消滅的敵人的List集合。public void dead(){//死亡圖片this.showImage = StaticValue.allTriangleImage.get(2);//從原來的List集合中刪除,讓入被消滅的List集合中this.bg.getAllEnemy().remove(this);this.bg.getRemoveEnemy().add(this);} }

    5、系統的實現
    5.1游戲開發所需要的圖片
    5.1.1馬里奧的所有圖片

    這組圖片中包含了馬里奧的移動,跳躍以及死亡的圖片:

    5.1.2游戲中障礙物的圖片
    這組圖片中包含了游戲中的各種障礙物,以及最后通過關卡的旗幟圖片還有設置陷阱的隱形圖片:
    A.地面及普通障礙物圖片

    B.用于設置陷阱的隱形圖片

    C.水管類圖片

    D.最后場景中的旗幟圖片

    5.1.3游戲中怪物的圖片
    這組圖片中包含了游戲中所有的敵人圖片,以及敵人被消滅時的圖片:
    A.食人花的圖片


    B蘑菇怪的圖片以及被消滅時的圖片.


    C.烏龜的圖片以及被消滅時的圖片




    5.1.4游戲中的背景圖片

    這組圖片中有一張游戲中的背景圖片(圖5.1)和一張馬里奧通關時的最后一關的背景圖片(圖5.2):

    圖5.1

    圖5.2

    5.1.5游戲開始時的圖片

    在游戲的最開始會顯示該圖片(圖5.3),然后玩家按空格鍵開始游戲,之后游戲才正式開始運行。

    圖5.3

    5.2游戲設計的界面
    5.2.1 游戲邏輯展示
    這一組圖片中包括了一些系統中的邏輯圖片,如馬里奧的控制移動示例圖片(圖5.4),玩家通過方向鍵控制馬里奧的移動、跳躍等功能;馬里奧與障礙物進行碰撞之后的效果圖片(圖5.5),這張圖片中顯示了馬里奧再與障礙物碰撞后,問號會消失變成石頭,而且磚塊會被撞碎;玩家控制游戲開始的圖片(圖5.6),游戲打開后并不會立即運行,必須等到玩家按空格鍵啟動游戲后游戲才會正式開始;當馬里奧失去所有的生命以后,游戲結束(圖5.7);如果馬里奧順利通過所有關卡,那么游戲同樣結束(圖5.8)。

    圖5.4

    圖5.5

    圖5.6

    圖5.7

    圖5.8

    5.2.1 游戲邏輯展示
    這一組圖片中主要對游戲的關卡進行展示,其中包括第一關(圖5.9),馬里奧順利通過第一管來到第二關(圖5.10),第三關的場景(圖5.11),第四關的大懸崖場景(圖5.12),第五關的場景借鑒了魂斗羅(圖5.13),第六關的高墻(圖5.14),在這一個關卡中為了提升游戲的可玩性,加了一個隱藏的過關要點,只有找到這個要點才能通過(圖5.15),第七關也是最后一關的場景(圖5.16)。

    圖5.9

    圖5.10

    圖5.11

    圖5.12

    圖5.13

    圖5.14

    圖5.15

    圖5.16

    6、系統測試
    6.1 測試的意義
    系統測試是為了發現錯誤而執行程序的過程,成功的測試是發現了至今尚未發現的錯誤的測試。 測試的目的就是希望能以最少的人力和時間發現潛在的各種錯誤和缺陷。應根據開發各階段的需求、設計等文檔或程序的內部結構精心設計測試用例,并利用這些實例來運行程序,以便發現錯誤。系統測試是保證系統質量和可靠性的關鍵步驟,是對系統開發過程中的系統分析系統設計和實施的最后復查。根據測試的概念和目的,在進行信息系統測試時應遵循以基本原則。

    6.2 測試過程
    省略

    6.3 測試結果
    程序運行正常,沒有發現什么太大的錯誤。

    7、總結與展望

    7.1 總結
    省略

    7.2 設計中的不足之處
    省略

    7.3 展望
    省略

    致 謝
    省略

    外文原文
    省略

    外文翻譯
    省略


    5、源碼下載:

    本項目源碼及論文如下,有需要的朋友可以點擊進行下載。如果鏈接失效可點擊下方卡片掃碼自助下載。

    序號畢業設計全套資源(點擊下載)
    本項目源碼基于java+GUL的超級瑪麗游戲GUL設計與實現(源碼+文檔)_JAVA_GUL_超級瑪麗游戲GUL.zip

    總結

    以上是生活随笔為你收集整理的【java毕业设计】基于java+GUL的超级玛丽游戏GUL设计与实现(毕业论文+程序源码)——超级玛丽游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    最新国产一区二区三区 | 99看视频在线观看 | 天海翼一区二区三区免费 | 国产精品久久免费看 | 亚洲国产综合在线 | 国产福利91精品 | 亚洲天堂网在线播放 | 精品视频免费看 | 97超碰人人澡人人爱 | 精品亚洲视频在线 | 久久精品欧美一区 | 99视频一区二区 | 成人黄色毛片视频 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产精品一区二区免费在线观看 | 在线免费观看国产视频 | 国产精品国内免费一区二区三区 | 中文字幕国产一区 | 99av国产精品欲麻豆 | 美女视频黄免费的久久 | 99综合久久 | 中文网丁香综合网 | 成人久久电影 | 五月婷婷六月综合 | 欧美日本在线视频 | 日韩视频在线不卡 | 国产亚洲成人精品 | 亚洲视频综合在线 | 国产91精品一区二区绿帽 | 五月婷在线 | 91视频首页| 九九免费精品视频在线观看 | 婷婷网址| 天天干干 | 美女免费黄视频网站 | 国产成人精品免高潮在线观看 | 国产亚洲永久域名 | 精品女同一区二区三区在线观看 | 黄色免费网战 | 精品久久影院 | 亚洲精品www久久久 www国产精品com | 国产一区二区三区免费观看视频 | 福利视频导航网址 | 亚洲国产中文字幕在线 | 久久毛片网 | av国产网站 | 国产精品情侣视频 | jizz欧美性9 国产一区高清在线观看 | 久久综合视频网 | 99热手机在线观看 | 狠狠色婷婷丁香六月 | 国产精品免费视频一区二区 | 国产一级片一区二区三区 | 97成人在线视频 | 国产一区二区精品久久 | 国产精品一级在线 | 日韩和的一区二在线 | 中文字幕高清有码 | 亚洲香蕉在线观看 | 国产综合精品久久 | 亚洲第一av在线播放 | 亚洲永久av| 黄色毛片视频 | 亚洲在线资源 | 韩日精品在线 | av日韩不卡 | 色综合欧洲 | 久久精品1区 | 成人午夜影视 | 国产在线欧美在线 | 狠狠狠狠狠狠操 | 中文字幕中文字幕中文字幕 | 久久在现 | 日本三级中文字幕在线观看 | 国产精品久久久久久久久久免费 | 91成人小视频 | 日韩二区三区在线 | 中文字幕高清在线播放 | 99色婷婷 | 精品国产一区二区三区蜜臀 | 黄色网www| 免费网站v| 91精品国| 亚洲国产伊人 | 最新国产精品久久精品 | 日韩一级片网址 | 高清av不卡 | 69av在线视频 | 在线久热 | 人人爱天天操 | 黄色特级一级片 | 亚洲国产字幕 | 国产一区二区三区免费视频 | 国产裸体视频bbbbb | 免费色网 | 久久国产精品99久久人人澡 | 亚洲精品免费在线播放 | 久久免费看毛片 | 在线免费av网 | 国产精品国产三级国产aⅴ入口 | 右手影院亚洲欧美 | 日韩中字在线 | 国产精品网红福利 | 日产av在线播放 | 国产 日韩 欧美 中文 在线播放 | 久久激情婷婷 | 狠狠操夜夜操 | 国产色爽| 在线观看免费91 | 天天干天天干天天干 | 久久理论电影 | 久久久精品日本 | 激情网站网址 | 91精品国产99久久久久 | 97超碰色 | 91爱在线| 天天操天天爱天天干 | 色在线网站 | 美腿丝袜一区二区三区 | 狠狠狠狠狠色综合 | 操处女逼 | 麻豆首页| 久久久久久久久国产 | 欧美国产一区在线 | 亚洲va综合va国产va中文 | 免费观看午夜视频 | 欧美另类交在线观看 | 丁香激情综合久久伊人久久 | 国产手机av在线 | 黄色亚洲大片免费在线观看 | 国产午夜精品久久 | 91精品高清| 国产成人在线观看 | 日韩精品1区2区 | 黄色软件网站在线观看 | 一区在线电影 | 一区二区三区观看 | 国产美女主播精品一区二区三区 | 这里只有精品视频在线观看 | 婷婷综合电影 | 在线观看免费黄色 | 性色av免费在线观看 | 丁香婷婷亚洲 | 久久精品国产免费 | 在线观看久久 | 久久久穴 | 欧美日韩一级久久久久久免费看 | 国产区av在线 | 日韩福利在线观看 | 久久综合一本 | 99国内精品 | 在线视频婷婷 | 国产精品男女啪啪 | 人成免费网站 | 成人久久久久久久久久 | 一区二区伦理 | 亚洲毛片一区二区三区 | 天天干天天上 | 免费在线观看av不卡 | 久草在线费播放视频 | 精品国产一区二区三区久久久 | 国产精品99久久久精品免费观看 | 久久国产精品视频观看 | 国产精品久久久久久久久久尿 | 亚洲成人黄色在线观看 | 成人久久亚洲 | 国产一区视频免费在线观看 | 日日夜夜免费精品 | 日韩视频在线一区 | 日韩精品字幕 | 欧美精品久久久久久久久久白贞 | 婷婷丁香六月天 | 成人天堂网 | 国产视频一区在线免费观看 | 色婷婷综合在线 | 午夜视频久久久 | 美女免费黄网站 | 中文字幕大全 | 国产精品一区二区62 | 91免费视频网站在线观看 | 欧美激情另类文学 | 欧美日韩午夜 | 91在线播放视频 | 精品久久久久久久久亚洲 | 国产精品av免费在线观看 | www.夜夜骑.com| 天堂av免费 | 午夜精品久久久99热福利 | 91视频这里只有精品 | 久久久在线免费观看 | 国产精品网红直播 | 亚洲精品国产精品国自产在线 | 在线免费视频 你懂得 | 亚洲视频免费在线观看 | 日批视频 | 天天激情在线 | 国产区精品在线 | 99高清视频有精品视频 | 亚洲 成人 一区 | 日韩av在线看 | 在线观看成人国产 | 91最新地址永久入口 | 99一级片| 999久久久久久久久 69av视频在线观看 | 日韩有色| 毛片一二区 | 免费视频一二三 | 黄色免费网站 | 久久国产欧美日韩精品 | www.五月天婷婷.com | 毛片一区二区 | 成人精品久久 | 久久av免费观看 | 99欧美视频 | 五月婷婷综合激情 | 国产探花视频在线播放 | 五月天狠狠操 | 片网站| 99精品免费在线 | 黄色毛片在线看 | 欧美成人久久 | 美女黄网久久 | 日本高清中文字幕有码在线 | 久久久69 | 天堂v中文 | 日韩欧美在线综合网 | 丰满少妇一级片 | 日本中文在线观看 | 四虎影视国产精品免费久久 | 色资源网免费观看视频 | 中字幕视频在线永久在线观看免费 | 中文欧美字幕免费 | 久久免费试看 | 欧美一区二区三区在线视频观看 | www夜夜| 国产精品一区在线 | 在线精品亚洲 | 日日夜夜精品免费 | 国产免费人成xvideos视频 | 91精品国产成人www | 天天操天天干天天操天天干 | 国产成人精品午夜在线播放 | 性色大片在线观看 | 国产一级精品绿帽视频 | 日韩三级av | 又爽又黄又无遮挡网站动态图 | 日韩二区在线观看 | 亚洲免费色 | 日日爱影视 | 日韩av在线免费播放 | 婷婷六月天在线 | 久久综合成人 | 成人小视频在线免费观看 | 亚洲在线黄色 | 欧美日韩精品免费观看视频 | 久久精品精品电影网 | 在线视频成人 | 亚洲夜夜综合 | 五月综合色 | 国产精品国产三级国产aⅴ入口 | 992tv又爽又黄的免费视频 | 久久久精品久久日韩一区综合 | 色婷婷www | 最新av电影网站 | 日本中文字幕在线播放 | 九九久久视频 | av中文字幕在线观看网站 | 国产视频首页 | 伊人午夜 | 永久免费毛片在线观看 | 91精彩在线视频 | 五月婷视频 | 91精品久久久久久综合乱菊 | 中文字幕永久在线 | 在线成人免费av | 免费福利在线播放 | 超薄丝袜一二三区 | 日韩av网站在线播放 | 91插插视频 | 91视频91色 | 国产三级精品三级在线观看 | 色在线高清 | 91精品在线免费观看 | 天堂麻豆| 国产69精品久久久久久久久久 | 福利视频午夜 | 国产精品成人国产乱 | 中文在线免费视频 | 国产黄| 日韩精品一区二区三区电影 | 五月激情姐姐 | 奇米网网址 | 91精品国产成人 | 久久精品99国产精品日本 | 99热官网 | 免费中午字幕无吗 | 在线精品播放 | 最新av免费在线 | 国产成人免费 | 国产在线视频导航 | 欧美精品久久久久久久久免 | 深爱五月网 | 一级片免费观看 | av黄色免费网站 | 免费视频成人 | 一区二区三区不卡在线 | 日韩av片在线 | 97碰碰碰 | 婷婷视频| av青草| 亚洲精品在线观看中文字幕 | 精品毛片一区二区免费看 | 久久精品8 | 91精品中文字幕 | 午夜在线看 | 国产精品涩涩屋www在线观看 | 91麻豆精品国产自产在线 | 欧美日韩国产精品一区二区 | 色偷偷88欧美精品久久久 | 99久久精品一区二区成人 | 成人在线观看日韩 | 香蕉视频免费看 | 国产精品高潮呻吟久久av无 | 久99精品 | 偷拍视频一区 | 中文字幕一区二区三区在线播放 | 久久久国产精品一区二区三区 | 天天操天 | 久久夜色精品国产欧美乱极品 | 日韩综合视频在线观看 | 久久伦理网 | 成人黄色资源 | 国产字幕av| 国产一级在线 | av大全在线 | 中文字幕视频一区二区 | 在线观看中文字幕dvd播放 | 日日夜日日干 | 99精品视频在线 | 在线影院 国内精品 | 人人爽人人爽人人片av | 国产亚洲精品xxoo | 国产精品久久久久久久久久久久久久 | 激情网站五月天 | 天天骚夜夜操 | av色一区 | 国产精品美女久久久久久网站 | 久久天堂亚洲 | 国产成人精品久久亚洲高清不卡 | 日韩精品免费在线 | 国产精品成人免费一区久久羞羞 | 在线免费观看一区二区三区 | 久久综合天天 | 能在线观看的日韩av | 激情久久一区二区三区 | 涩涩成人在线 | 亚洲精品午夜视频 | 69视频在线 | 人人看人人艹 | 免费福利片 | 久久伊人八月婷婷综合激情 | 久久人人射| 国产精品18久久久久白浆 | 亚洲无吗av | 中文字幕精品一区久久久久 | 一区 在线 影院 | 五月婷婷视频在线 | 在线 欧美 日韩 | 午夜精品久久久久久久久久久久 | 国产精品一区二区久久精品爱微奶 | 久久国产精品久久国产精品 | 欧美激情精品一区 | 综合网成人 | 久久成人福利 | 成人影片在线播放 | 九九三级毛片 | 久久精品久久99精品久久 | 色香com. | 一级黄色在线视频 | 91伊人久久大香线蕉蜜芽人口 | 久久久久久久久久久成人 | 麻豆视频免费入口 | 久久精品国产v日韩v亚洲 | 欧美91在线| 国产99久久久精品 | 色偷偷男人的天堂av | www.少妇 | 日韩女同av | 97夜夜澡人人双人人人喊 | 97看片吧 | free,性欧美| 欧美 日韩 视频 | 91欧美在线| 亚洲国产精品影院 | 免费在线观看日韩视频 | 久久久天天操 | 成人性生交大片免费看中文网站 | 国产精品久久久久婷婷二区次 | 亚洲成人动漫在线观看 | 国产精品videoxxxx | 亚洲黄色区 | 日韩在线中文字幕视频 | 久久精品国亚洲 | 国产成人区 | 又黄又爽的免费高潮视频 | 久久久久亚洲精品中文字幕 | 99免在线观看免费视频高清 | 天天综合导航 | 免费又黄又爽的视频 | 久久久久久亚洲精品 | 婷婷激情5月天 | 在线看国产视频 | 免费观看久久 | 亚洲综合网 | 婷婷丁香狠狠爱 | 99r在线观看| 人人干狠狠干 | 欧亚日韩精品一区二区在线 | 国产亚洲精品成人av久久影院 | 成人av一二三区 | 夜夜摸夜夜爽 | 欧美男同视频网站 | 免费黄色在线网址 | 日本不卡一区二区三区在线观看 | 在线观看中文av | 国产小视频91 | 激情影音| 欧美日韩一区三区 | 日韩在线观看三区 | 国产亚洲精品日韩在线tv黄 | 97在线资源 | 亚洲成a人片77777潘金莲 | 久久精品直播 | 99精品欧美一区二区蜜桃免费 | 婷婷网站天天婷婷网站 | 日韩a在线看 | 国产91丝袜在线播放动漫 | 蜜臀久久99精品久久久酒店新书 | 久久国产精品99精国产 | 国产最顶级的黄色片在线免费观看 | 91在线国内视频 | 精品一区二区在线播放 | 狠狠干 狠狠操 | 美女搞黄国产视频网站 | 欧美精品久久久久久久 | 久久精品一区二区三区国产主播 | 夜夜骑日日操 | 婷婷网站天天婷婷网站 | 欧美激情另类文学 | 91精品伦理 | 免费在线91 | 婷婷婷国产在线视频 | 欧美成人视 | a级片韩国 | av一本久道久久波多野结衣 | 久久夜色电影 | 精品久久久久久久久亚洲 | 国产不卡免费视频 | 亚洲精品综合一区二区 | 99热在线观看 | 国产在线高清精品 | 黄色国产精品 | 免费观看高清 | 午夜在线观看影院 | 国产精品视屏 | 久久高清片 | 国产在线视频导航 | 亚洲午夜久久久综合37日本 | 国产系列在线观看 | 色婷婷综合久色 | 国产精品久久久久高潮 | 天天射天天射天天射 | 欧美大片第1页 | 欧美日韩在线视频一区 | 欧美日韩在线观看视频 | 国产黄色精品在线 | 在线观看的a站 | 极品国产91在线网站 | 激情婷婷av | 日韩美女高潮 | 国产成人精品电影久久久 | 91精品国产91久久久久 | 亚洲精品国产品国语在线 | 中文字幕 婷婷 | 中文字幕在线观看播放 | 在线观看日本高清mv视频 | 久久激情视频免费观看 | 99这里有精品 | 色先锋av资源中文字幕 | 亚洲一级免费电影 | 国产精品99久久久久久大便 | 又黄又爽又湿又无遮挡的在线视频 | 久久久亚洲麻豆日韩精品一区三区 | 亚洲综合激情网 | 麻豆影视网 | 超碰97成人 | 日韩高清成人在线 | 国产一级大片免费看 | 午夜精品成人一区二区三区 | 久久婷婷五月综合色丁香 | 亚洲精品视频在线播放 | 国产中文字幕国产 | 午夜精品一区二区三区免费视频 | 99热这里有精品 | av福利在线 | 精品久久久久久久久久久久 | 午夜精品久久一牛影视 | 91在线亚洲 | 日韩av片无码一区二区不卡电影 | 日韩特级片 | 国产高清视频在线免费观看 | 97精品国产手机 | 在线不卡a| 色悠悠久久综合 | 久久成人午夜视频 | 中文字幕日韩高清 | av大片网址| 国产婷婷久久 | 国内精品久久久久影院男同志 | 成人一级 | 在线午夜av| 久久综合影视 | 午夜电影一区 | 黄色一级大片在线观看 | 日韩精品一区二区在线观看 | 欧美另类巨大 | 日韩二区在线观看 | 91视频在线观看大全 | 久久国产精品99国产精 | av在线免费观看网站 | 亚洲一区二区精品 | 成人av影视观看 | 国产一区在线看 | 国产成人av电影在线观看 | av在线进入| 麻豆91精品 | 成人午夜影院在线观看 | 一级片免费观看 | 欧美999| 亚洲精品456在线播放乱码 | 久久久午夜精品福利内容 | 91麻豆精品国产自产在线游戏 | 国产成a人亚洲精v品在线观看 | 国产亚洲久一区二区 | 就要色综合| 国产精品99久久免费观看 | 国产精品成人av久久 | 菠萝菠萝蜜在线播放 | 国产成人精品一区二区三区福利 | 日韩精品高清视频 | 91九色蝌蚪视频 | 久久视频在线看 | www视频在线观看 | 激情综合网五月婷婷 | 天天干天天操天天操 | 一区二区三区四区不卡 | 特级毛片在线观看 | 亚洲欧美日韩精品久久奇米一区 | 在线观看一区二区视频 | 欧洲激情在线 | 久久精品视频播放 | 91九色最新地址 | 久久久www成人免费毛片 | 国产高清av | 综合久久久 | 一二三精品视频 | 日韩高清久久 | 四虎在线观看视频 | 97在线公开视频 | www.久草视频 | 国产乱码精品一区二区三区介绍 | 日本mv大片欧洲mv大片 | 黄色亚洲在线 | 香蕉日日 | 欧美视频在线二区 | av片一区二区 | 91精品人成在线观看 | 最新免费av在线 | 六月丁香在线观看 | 丰满少妇麻豆av | 日韩欧美黄色网址 | 日韩电影在线一区二区 | 久久草草热国产精品直播 | 麻豆高清免费国产一区 | 国产精品免费观看在线 | 一区二区影院 | av在线成人 | 国产视频欧美视频 | 91亚色在线观看 | 亚洲精品成人免费 | 免费男女羞羞的视频网站中文字幕 | 超碰在线最新网址 | 亚洲三级网站 | 天天做天天干 | 99热九九这里只有精品10 | 日韩视频一区二区在线观看 | 伊人久在线 | 欧美日韩视频免费看 | 亚洲v欧美v国产v在线观看 | 国产小视频免费在线观看 | 玖玖在线看 | 亚洲视频一 | 欧美一级片在线 | 在线观看免费视频 | 精精国产xxxx视频在线播放 | 欧美中文字幕第一页 | 999ZYZ玖玖资源站永久 | 激情五月***国产精品 | 日本性高潮视频 | 国产精品久久久久影院日本 | 久久婷婷五月综合色丁香 | 午夜国产一区二区 | 久久久免费毛片 | 国产小视频91 | 91刺激视频 | 国产视频一区二区在线播放 | 蜜臀久久99精品久久久酒店新书 | 国产一区二区三精品久久久无广告 | 中文字幕资源在线观看 | 亚洲黄色小说网址 | 欧美日韩调教 | 最近中文字幕第一页 | 精品国产乱码久久久久久1区二区 | 99精品国产成人一区二区 | 国产精品中文字幕在线播放 | 中文字幕文字幕一区二区 | 亚洲精区二区三区四区麻豆 | www.av免费 | 三级av在线免费观看 | 婷婷国产精品 | www.天天综合 | 992tv在线 | 婷婷性综合 | 国产成人一区在线 | 国产精品久久视频 | 伊人色综合久久天天 | 久久精品视频观看 | 国产手机在线 | 亚洲精品字幕在线观看 | 久久女同性恋中文字幕 | 97色婷婷成人综合在线观看 | 超碰97在线人人 | 久久激情五月婷婷 | 欧美美女激情18p | 亚洲成人av电影在线 | 成人小电影在线看 | 亚洲精品五月 | 天天拍天天干 | 欧美日韩亚洲精品在线 | 国产一级片免费观看 | 美女视频免费精品 | 在线观看午夜 | 欧美性脚交 | 国产成人一区二区三区影院在线 | 日日干夜夜草 | 欧美俄罗斯性视频 | 美女网色| 亚洲免费av片 | 亚洲精品合集 | 国产免费又粗又猛又爽 | 色婷婷激情四射 | 成人免费影院 | 亚洲国产精品成人av | 亚洲色视频 | 久久精品电影 | 婷婷精品在线 | 91精品国产综合久久婷婷香蕉 | 91精品视频观看 | 国产精品久久久久久久午夜片 | 午夜av片| 亚洲男男gaygay无套 | 狂野欧美激情性xxxx | 色多多在线观看 | 亚洲国产午夜精品 | 91麻豆国产 | 精品综合久久久 | 欧美精品做受xxx性少妇 | 亚洲a在线观看 | 亚洲人久久 | 婷婷日韩| 最近字幕在线观看第一季 | 美女黄久久 | 99r在线观看 | 绯色av一区| 91中文字幕永久在线 | 人人爽人人澡 | 91麻豆传媒 | 国产精品理论在线观看 | 国产精品区在线观看 | 另类五月激情 | 狠狠狠色丁香综合久久天下网 | 一区二区三区在线不卡 | 日韩大片在线播放 | 久久久久女人精品毛片九一 | 操操操干干干 | 国产黄色电影 | 久久久久久久影院 | www.天堂av| 久久av高清 | 亚洲成a人片综合在线 | 色婷婷av在线 | 久久国产99| 91资源在线 | www.久久免费| 久久免费99精品久久久久久 | 成人久久久久久久久久 | 国产成人久久 | 天天撸夜夜操 | 日韩午夜电影院 | 国产精品每日更新 | 色六月婷婷 | 97超碰在线资源 | 国产一级片视频 | 欧美 亚洲 另类 激情 另类 | 深夜免费福利视频 | 国产福利资源 | 黄色特一级片 | 国产精品一区二区久久 | 夜夜躁日日躁 | 国产精品不卡一区 | 久久久久亚洲精品成人网小说 | 亚洲精品国产精品国自产 | 五月激情天 | 日韩免费看视频 | 日本中文字幕在线视频 | 91.dizhi永久地址最新 | 日日夜夜综合网 | 九九热免费在线视频 | 天天草综合 | 日韩视频二区 | 成人中文字幕在线观看 | 婷婷5月色 | 国产精品一区二区三区四区在线观看 | 国产日产精品一区二区三区四区的观看方式 | 乱男乱女www7788 | 久草在线一免费新视频 | 精品一区二区免费视频 | 亚州av一区| 欧美精品中文在线免费观看 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品破处视频 | 日日干干 | 国内成人精品视频 | 亚洲第一香蕉视频 | 91欧美精品 | 久久久久久国产精品免费 | 在线国产日本 | 在线观看成人小视频 | 免费h漫在线观看 | 国产精品毛片一区视频播 | 久久综合婷婷国产二区高清 | 免费又黄又爽视频 | 国产欧美高清 | 亚欧日韩av | 天天视频色 | 日韩性久久 | 最近中文国产在线视频 | 日韩精品免费一区二区 | 波多野结衣在线播放视频 | 国产精品一区二区果冻传媒 | 狠狠色丁香婷婷综合最新地址 | 日韩精品久久久免费观看夜色 | 成人av一区二区三区 | 日本精品一区二区 | 天天操夜操视频 | 99麻豆久久久国产精品免费 | 91香蕉视频在线 | 在线观看免费视频你懂的 | 天天综合网天天 | 欧美精品在线观看 | 国产 精品 资源 | 国产黄色在线 | 国产免费av一区二区三区 | 色综合久久久久 | v片在线看 | 91精品视频在线观看免费 | 国产精品理论片在线播放 | 亚洲三级av | 国产小视频在线免费观看 | 超碰.com| 亚洲精品在线免费播放 | 黄色日视频 | 亚洲专区在线视频 | 三级免费黄色 | 三上悠亚一区二区在线观看 | 国产精品永久免费在线 | 天天干国产 | 超碰成人av | 中文字幕在线视频网站 | 日韩欧美视频免费在线观看 | 亚洲成人国产 | 人人澡视频 | 国产999视频在线观看 | 色综合天天狠天天透天天伊人 | 99在线播放 | 色视频在线免费观看 | 国产精品久久久久影院 | 免费男女羞羞的视频网站中文字幕 | 国产一级片免费观看 | 在线观看完整版 | 三级av小说 | 在线观看v片 | 精品国产乱码久久久久久1区二区 | 国内精品美女在线观看 | 99爱视频| 91九色国产视频 | 日日操网站 | 欧洲精品二区 | 99高清视频有精品视频 | 久久久久国产一区二区三区 | 在线免费观看视频一区 | 久久久免费高清视频 | 一区二区在线不卡 | 中文字幕 91 | 国产精品国产三级国产不产一地 | 久久久网址 | 一区二区三区免费在线观看视频 | 日韩理论在线视频 | 黄色网址国产 | 激情欧美国产 | 久久首页 | 97免费中文视频在线观看 | 色在线免费观看 | 日韩电影中文字幕在线 | 国产亚洲精品久久久久久网站 | 精品亚洲成a人在线观看 | 精品国产欧美一区二区三区不卡 | 91精品国产91久久久久福利 | 亚洲网久久| 色婷婷在线视频 | 欧美精品中文字幕亚洲专区 | 国产精品成人av在线 | 四虎影视成人永久免费观看视频 | 美女福利视频网 | av免费网页| 久久国产色 | 在线观看成人 | 日韩大片在线播放 | 国产99久久精品一区二区300 | 日韩电影中文字幕 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 欧美人牲 | 成片视频免费观看 | 日韩久久精品一区 | 最新av观看 | 精品久久久久久亚洲综合网站 | 一级欧美黄 | 特级黄录像视频 | 亚洲人成人在线 | 免费看一级黄色大全 | 五月婷婷激情六月 | 欧美激情综合五月色丁香小说 | 九九九九九九精品任你躁 | 久久久久国产精品www | 91福利在线导航 | 欧美性色xo影院 | 超碰久热 | 久久久久国产精品一区二区 | 久久你懂的 | 伊人视频| 欧美日韩xxxxx| 日韩亚洲国产中文字幕 | 日日操网站 | 国产精品久久久久久99 | 亚洲一级片av | 国产视频一区在线播放 | 91视频麻豆 | 欧美综合久久久 | 狠狠狠干 | 玖玖在线免费视频 | 天天狠狠干 | 亚洲激精日韩激精欧美精品 | 一区在线电影 | 日韩免费看片 | 久久久久北条麻妃免费看 | 亚洲综合欧美精品电影 | 五月婷婷影院 | 毛片永久新网址首页 | 国产精品久久久久久久久久 | 99国内精品久久久久久久 | 国产视频精品网 | 国产精品久久久久久久7电影 | 在线视频观看国产 | 97天堂网 | 亚洲精品视频在线播放 | 黄色aaa级片 | 51精品国自产在线 | 97精品国产手机 | 在线视频观看国产 | 国产清纯在线 | 91精品国产综合久久福利 | 丁香影院在线 | 亚洲精品自拍视频在线观看 | www.夜夜操 | 久草视频在线新免费 | 波多野结衣一区二区三区中文字幕 | 精品久久一区二区 | av资源免费看 | 激情综合色图 | 五月天高清欧美mv | 久久激情五月婷婷 | 97国产精品视频 | av888av.com | 美女又爽又黄 | av一区二区在线观看中文字幕 | 国产一区二区久久精品 | 免费在线观看av的网站 | 伊人五月在线 | 夜夜嗨av色一区二区不卡 | 91亚洲精品久久久蜜桃 | 天天插天天干天天操 | av在线看网站 | 天天舔夜夜操 | 欧美综合色| 青青草在久久免费久久免费 | www国产亚洲精品久久网站 | 一区二区视频电影在线观看 | 福利视频一区二区 | 亚洲精品国产成人av在线 | 在线视频你懂 | 在线免费观看亚洲视频 | 91cn国产在线| 免费一级片视频 | 久久国产手机看片 | 91免费版在线观看 | 久久久在线免费观看 | 国产成人精品一区二 | 二区三区视频 | 国产日韩精品一区二区在线观看播放 | 久久精品综合网 | av电影av在线 | www在线免费观看 | 免费观看成人 | 精品国产成人在线 | 日韩一区精品 | 日日爱av | 四虎永久国产精品 | 深夜免费福利网站 | 欧美日韩国产综合一区二区 | 精品爱爱 | 亚洲国产精品va在线看黑人 | 婷婷99 | 免费观看性生活大片3 | 免费91麻豆精品国产自产在线观看 | 深夜免费福利视频 | 亚洲欧美国产精品va在线观看 | 亚洲精品在线网站 | 成人黄色电影在线观看 | 婷婷六月天综合 | 中文字幕色婷婷在线视频 | 亚洲精品av中文字幕在线在线 | 中文字幕高清视频 | 91爱爱视频 | 精品视频中文字幕 | 亚洲午夜av电影 | 久久免费影院 | 亚洲经典精品 | 国产 日韩 在线 亚洲 字幕 中文 | 91桃色国产在线播放 | 亚州精品国产 | 婷婷六月天综合 | 国产.精品.日韩.另类.中文.在线.播放 | 久草免费福利在线观看 | 夜夜夜夜爽 | 欧美性成人 | 亚洲免费观看在线视频 | 日韩精品短视频 | 日日操日日插 | 一二区电影 | 欧美在线视频a | 国产日韩精品一区二区 | 久久伊人国产精品 | 天天草视频 | 国产91综合一区在线观看 | 精品伊人久久久 | 超碰人人在线观看 | 高清av在线 | 久久9999久久免费精品国产 | av短片在线观看 | 婷婷国产一区二区三区 | 色婷婷88av视频一二三区 | 99精品视频观看 | 国产黄色大片免费看 | 天天射,天天干 | av软件在线观看 | 高清有码中文字幕 | 中文字幕免费高 | 亚洲理论电影 | 人人玩人人添人人 | 最新中文字幕在线资源 | 久久亚洲美女 | 欧美精品九九99久久 | 在线免费黄网站 | 日韩| 亚洲理论片 | 国产福利91精品张津瑜 | 欧美a在线看 | 日韩在线在线 |