freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于android的五子棋游戲的設計——doc畢業(yè)設計(doc畢業(yè)設計論文)-閱讀頁

2025-07-13 02:12本頁面
  

【正文】 TCP/IP 協(xié)議之間提供數(shù)據安全性分層的機制,它為 TCP/IP 連接提供數(shù)據加密、服務器認證、消息完整性以及可選的客戶機認證。SSL 協(xié)議位于 TCP 膽協(xié)議與各種應用層協(xié)議之間,為數(shù)據通訊提供安全支持。SSL 握手協(xié)議 (SSL Hand shake proto col):它建立在 SSL記錄協(xié)議之上,用于在實際的數(shù)據傳輸開始前,通訊雙方進行身份認證、協(xié)商加密算法、交換加密密鑰等。②加密數(shù)據以防止數(shù)據中途被竊取。(7)SQLite:SQLite 是一套開放性的關聯(lián)式資料庫,能夠被所有應用程序使用的輕量級的關系數(shù)據庫引擎。(9)lib c:就是一個 BSD 標準 C 類庫。 Android 運行時的組件雖然 Android 是用 Java 語言來開發(fā)、撰寫應用程序,但卻不使用 Java 運行時組件來執(zhí)行 Java 程序,而是使用了由 Google 自行研發(fā)的 Android 運行時組件來執(zhí)行程序。 Android 應用的構成和工作機制對于一個 Android 應用程序來說,是由 Activity、IntentReceiver 、Service 、Content Provider 四部分組成,但并不是每一個 Android 應用程序都必須由這四部分組成。這個配置文件是每個 Android 應用程序所必需的,用于定義應用程序的組件、組件的功能以及必要條件等。最后將介紹在 Android 的應用程序中如何利用下載外部資源。編譯后的 Java 代碼——包括應用程序要求的任何數(shù)據和資源文件,是通過 aapt 工具捆綁成一個 Android 包, 為后綴。一 文件中的所有代碼就會被認為是一個應用程序。查看、創(chuàng)建、更新與 zip 兼容的歸檔文件(zip、jar 、 apk) 。雖然你可能不會經常直接使用 appt,但構建腳本(build scripts)和 IDE 插件會使用這個工具打包成 apk 文件,構成一個 Android 的應用程序。在這里注意的是:tools/ 目錄指的是 android SDK 目錄下的/platforms/androidX/tools/。默認的情況下,任何一個應用程序是運行在它自己的 Linux 進程中。每一個應用程序都有自己的 Java 虛擬機(VM) ,所以應用程序的代碼是獨立于其他所有的應用程序代碼的運行。權限被設置為每一個應用程序的文件僅對用戶和應用程序自己本身可見。也有可能的是設置兩個應用程序共享一個用戶 ID,這種情況下,他們能夠看到對方的文件。 應用程序組件Android 的一個主要特點是,一個應用程序可以利用其他應用程序的元素(假設這些應用程序允許的話) 。你的應用程序不用并入其他應用程序的代碼或鏈接到它。對于這個工作,當應用程序的任何部分被請求時,系統(tǒng)必須能夠啟動一個應用程序的進程,并實例化該部分的 Java 對象。相反,系統(tǒng)能夠實例化和運行需要幾個必要的組件。當你決定使用以上哪些組件來構建 Android 應用程序時,你應該將它們列在 AndroidManife 文件中,在這個文件中你可以聲明應用程序組件以及它們的特性和要求。 活動(Activities) 一個活動表示一個可視化的用戶界面,關注一個用戶從事的事件。一個文本短信應用程序可能有一個活動,顯示聯(lián)系人的名單發(fā)送信息;第二個活動,寫信息給選定的聯(lián)系人;其他活動,重新查看舊信息或更改設置。每一個都是作為 Activity 基類的一個子類的實現(xiàn)。然而活動通常以全屏的方式展示給用戶,也可以以浮動窗口或嵌入在另外一個活動中。最重要的是,在這個方法里你通常將用布局資源(layout resource)調用 setContentView(int)方法定義你的 UI,和用 findViewById(int)在你的 UI 中檢索你需要編程地交互的小部件( widgets) 。 onPause():處理當離開你的活動時要做的事情。 生命周期如圖 31圖 31Android 的生命周期每一個應用程序可能只包含一個活動,或者是像短信應用程序一樣,它可能會包含幾個活動。根據一般情況來說,當一個應用程序被啟動的時候,會被標記為第一個的活動,應該展示給用戶。每一個活動都會有一個默認的窗口。一個活動還可以使用額外窗口。窗口的可視化內容是由繼承自接口為 View 基類,一個分層的視圖 —對象提供。父視圖包含和組織子女視圖的布局。繪制的矩形會直接控制和響應用戶的操作。比如說,一個視圖顯示一個小的圖片和當用戶點擊圖片時發(fā)起一個動作行為。通過 () 方法來設置一個視圖層次在我們的活動窗口中。層次結構如下圖 32 所示:圖 32 View 的層次結構()方法:public void setContentView (int layoutResID):根據布局資源的設置活動界面。所以,也可以這樣去理解,Service 是具有一段較長生命周期而且沒有用戶界面的程序。每一個服務都繼承自 Service 基類。服務必須可以通過 C()或者 ()啟動因為 service 是有兩個不同的生命周期的。該播放器應用程序將可能有一個或者是多個活動(activities ) ,可以允許用戶選擇要聽的歌曲和開始播放。為了保持音樂能夠繼續(xù)播放,媒體播放器活動可以啟動一個服務運行在后臺的運行??梢赃B接到(綁定到)一個持續(xù)運行的服務(并啟動服務,如果它尚未運行) 。對于音樂服務,這個接口可以允許用戶暫停、倒帶、停止和重新播放。因此,他們將不會阻止其他組件或用戶界面,他們往往產生其他一些耗時的任務(如音樂播放) 。許多廣播源自于系統(tǒng)代碼,例如公告時區(qū)的改變、電池電量低、已采取圖片、用戶改變了語言偏好。一個應用程序可以有任意數(shù)量的廣播接收者去反應任何它認為重要的公告。BroadcastReceiver 類:是接受 sendBroadcast()發(fā)送的意圖(intents )的基類。注意:如果你在 () 注冊一個接受者,你應該在 ()注銷它。不要在 ()中注銷它,因為它將不會被調用,如果用戶移動到先前的堆棧。所有的廣播接收者以無序方式運行,往往在同一時間接收。 有序廣播(由 發(fā)送)一次傳遞給一個接收者。接收者的運行順序可由匹配的意圖過濾器(intentfilter)的 android:priority 屬性控制。然而,它們啟動一個活動去響應收到的信息,或者他們可能使用 NotificationManager 去通知用戶。典型的是放在一個持久的圖標在狀態(tài)欄,用戶可以打開獲取信息。這些數(shù)據可以存儲在文件系統(tǒng)中、在一個 SQLite 數(shù)據庫、或以任何其他合理的方式。然而,應用程序并不直接調用這些方法。ContentResolver 能與任何內容提供者通信,它與提供者合作來管理參與進來的進程間的通信。他們封裝數(shù)據且通過單個 ContentResolver 接口提供給應用程序。例如,通訊錄數(shù)據被多個應用程序使用,且必須存儲在一個內容提供者中。內容提供者能理解 URI 想要的東西。需要實現(xiàn)的方法主要如下:query(Uri, String[], String, String[], String) 返回數(shù)據給調用者 insert(Uri, ContentValues) 插入數(shù)據到內容提供者 update(Uri, ContentValues, String, String[]) 更新內容提供者已存在的數(shù)據 delete(Uri, String, String[]) 從內容提供者中刪除數(shù)據 getType(Uri) 返回內容提供者中的 MIME 類型數(shù)據 更多的關于 ContentResolver 信息,請查看相關文檔。5 程序的設計與實現(xiàn) 本章節(jié)主要介紹一下此論文中用到了的 Android 的布局文件,可視化控件以及它們的具體實現(xiàn)。 在游戲中,落子定義也十分重要,因為五子棋游戲中,只要黑白任意一方在任何方向以 5 個連續(xù)落子連成一線,便獲得了勝利。 棋盤布局的數(shù)據結構 首先要先獲得整個棋盤的高度,以及其他一些寬度的參數(shù),因為利用的是 surface 的重繪,所以對此類棋盤高度寬度進行定義,部分代碼如下:public void setGameState(int newState) {mGameState = newState。 mMapHeightLengh = 。 mCampTurn = CAMP_HERO。 關于盤面情況的表示,首先得到屏幕的大小,然后根據所畫棋子的大小來確定下一條棋盤的畫線。每個 window 對應一個 surface,各 surface 對象通過 surfaceflinger 合成到 framebuffer,每個 surface 都是雙緩沖,它有一個 back buffer 和一個 front buffer。surface 創(chuàng)建 Canvas 對象(用來管理 surface 繪圖操作) , Canvas 對應 bitmap(存儲 surface 內容)。有一套機制實現(xiàn) back buffer 和 front buffer 的互換,當要更新時,back buffer 與 front buffer 互換,back buffer 變成 front buffer。 i mMapHeightLengh。 j mMapWidthLengh。float x = (j * mTitleSpace) + mTitleIndex_x。if (CampID == CAMP_HERO) { DrawImage(mBlack, x, y, ALIGN_VCENTER | ALIGN_HCENTER)。} setGameState(GS_GAME)。Res 中存放的是調用定義的圖片,將 main 中繪制好的大類在 res 中進行整合。 行棋坐標判定 實際上,是根據當前最后一個落子的情況來判斷勝負的。在獲得橫軸和數(shù)軸坐標時,該子落下,即可獲得該子落下的坐標。對于各個方向的算法都要對整個棋盤有一個清晰的定義。 i CALU_ALL_COUNT。 if (index 0 || index = mMapWidthLengh) {if (MeetCount == CALU_SINGLE_COUNT) { return true。continue。if (MeetCount == CALU_SINGLE_COUNT) { return true。 }}// 縱向MeetCount = 0。 i CALU_ALL_COUNT。 if (index 0 || index = mMapHeightLengh) {if (MeetCount == CALU_SINGLE_COUNT) { return true。continue。if (MeetCount == CALU_SINGLE_COUNT) { return true。 如上述語句為橫向落子的算法。游戲的策劃是游戲開發(fā)過和中的最重要的一個開發(fā)環(huán)節(jié),只有寫好了游戲策劃才能繼續(xù)游戲開發(fā),游戲策劃是游戲開發(fā)的一個流程,把策劃寫好了就可以近照策劃一步步進行開發(fā),可見策劃的重要性。所以對于此類定義十分重要。部分代碼如下:if (x 0 amp。 y mTitleHeight) {mMapIndexX = (int) (x / mTitleSpace)。if (mMapIndexX mMapWidthLengh) { mMapIndexX = mMapWidthLengh。}if (mMapIndexY mMapHeightLengh) { mMapIndexY = mMapHeightLengh。}if (mGameMap[mMapIndexY][mMapIndexX] == CAMP_DEFAULT) { 流程設計 游戲的設計是一個很簡單的 2D 人人對戰(zhàn)五子棋,它的游戲運行方式一目了然,由于簡單的設計和實現(xiàn),可以很清晰很直觀地看到整個運行的過程。如圖61:直接進入游戲進行人人對戰(zhàn)判定勝負進入獲勝界面并按任意鍵重新開始游戲圖 61 功能模塊 游戲的實現(xiàn):如圖 58 運行程序進入開機動畫界面,也就是游戲歡迎頁面 然后就直接進入了游戲畫面,便讓人知道這是一個五子棋游戲 ,挑戰(zhàn)自己,集中你的智慧,來享受博弈的樂趣,會勾起人們想下棋的欲望,被五子棋游戲吸引,而且在火車上休閑時可以與別人進行博弈,特別能切磋兩人之間的棋藝, 。而且簡單的人人呢對戰(zhàn)可以讓自己在任何時候也可以自己與自己博弈,自我研究行棋套路,這也是這個游戲產生的初衷。具體的游戲實現(xiàn)如圖 62 游戲主界面 這時直接進入游戲,游戲界面 GameView 該類是整個程序最主要的類,是主游戲的界面該界面繼承自 SurfaceView 并實現(xiàn)了 接口。然后可以直接根據對手的走位選擇自己合適的走法來擊敗對手。 ”當我們按下任意鍵時就會繼續(xù)進行游戲。然后又是一個操作提示重新進行新的游戲的開始。在程序的設計用利用代碼的實現(xiàn)可以得到上述畫面,部分代碼如下:case GS_GAME: DrawRect(, 0, 0, mScreenWidth, mScreenHeight)。 break。 DrawString(, (mCampWinner) + 勝利 點擊繼續(xù)游戲, 50, 50)。當黑方或者白方勝利時,游戲就會自動跳至如圖 63.,這時游戲已經結束。對戰(zhàn)的方式:若該游戲能實現(xiàn)人機交互對戰(zhàn),可以完全提升整個游戲的可玩性。背景音樂:該游戲若能加上落子的音效,更加能夠提升游戲
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1