基于Android的趣味拼圖的實(shí)現(xiàn)_第1頁
基于Android的趣味拼圖的實(shí)現(xiàn)_第2頁
基于Android的趣味拼圖的實(shí)現(xiàn)_第3頁
基于Android的趣味拼圖的實(shí)現(xiàn)_第4頁
基于Android的趣味拼圖的實(shí)現(xiàn)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 基于Android的趣味拼圖的實(shí)現(xiàn) 陸毅軍 黃俊 彭巧珍【Summary】本文基于Android操作系統(tǒng),根據(jù)軟件工程的設(shè)計(jì)思想,以Androidstudio等為開發(fā)工具,設(shè)計(jì)出一款能夠開發(fā)青少年智力并對其進(jìn)行海洋生物知識科普的拼圖游戲。本游戲包括游戲設(shè)置界面,海洋生物圖片導(dǎo)讀及選擇頁面,并能顯示玩家的當(dāng)前游戲所用時(shí)間和步數(shù)。本軟件以培養(yǎng)興趣及科普知識為主。【Key】Android 拼圖游戲 知識科普一、引言目前隨著智能手機(jī)的全面深入普及,青少年也成為手機(jī)app開發(fā)的新興對象。對于青少年而言,寓教于樂的app非常有助于其的智力開發(fā)與興趣培養(yǎng)。實(shí)現(xiàn)一款海洋生物科普類的趣味拼圖app便是本次的課

2、題。二、需求分析在這個(gè)迅猛發(fā)展的互聯(lián)網(wǎng)時(shí)代,智能手機(jī)的普及已經(jīng)涉及青少年,對此我們設(shè)想設(shè)計(jì)一款能讓青少年在游戲過程中學(xué)到科普知識并且得到智力開發(fā)與興趣培養(yǎng)的app。由此,我們設(shè)計(jì)了此款趣味拼圖,使青少年在游戲的過程中學(xué)習(xí)到海洋生物科普知識。此款app面向的用戶為7歲到14歲間的青少年,其基本功能:(1)能對一些海洋生物的基本圖片進(jìn)行瀏覽。(2)展示頁面根據(jù)海洋生物的棲息深度進(jìn)行不同的歸類。(3)當(dāng)點(diǎn)擊對應(yīng)的海洋生物的圖片后,將進(jìn)入新的頁面,此頁面將展示此海洋生物的相關(guān)科普信息,青少年可以自由瀏覽并進(jìn)行記憶熟悉。(4)可以根據(jù)情況進(jìn)行游戲困難度的選擇。三、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(一)游戲設(shè)置用戶通過游戲

3、設(shè)置按鈕進(jìn)入后,可選擇難度設(shè)置和背景音樂的設(shè)置,難度設(shè)置分為3X3、4X4、5X5等適應(yīng)不同層次用戶的選擇,給用戶帶來不同的難度挑戰(zhàn)。背景音樂可以試聽,在試聽后選擇自己喜歡的音樂作為背景音樂。(二)知識展示用戶在海洋生物分類中選擇了自己感興趣的生物后,點(diǎn)擊圖片即可跳轉(zhuǎn)到有關(guān)該動物的科普知識展示頁面,用戶可以在這個(gè)頁面自由瀏覽或者記錄,了解和學(xué)習(xí)相關(guān)的知識。(三)拼圖游戲用戶瀏覽完科普知識后可選擇進(jìn)入游戲,游戲環(huán)節(jié)中的圖片就是我們知識展示頁面中的生物圖片,而用戶進(jìn)入游戲后圖片已被智能分塊,在游戲過程中用戶發(fā)揮自己的智慧,通過移動方塊,將智能分塊并打亂的圖片拼成它原來的模樣即為成功,當(dāng)然在游戲過程

4、中可點(diǎn)擊查看原圖協(xié)助游戲。(四)核心功能/判斷分割的數(shù)據(jù)是否能還原成原圖public static boolean canSolve(List data) /獲取空格Idint blankId = mBlankItemBean.getmItemId();/ 可行性原則if (data.size() % 2 = 1)return getInversions(data) % 2 = 0;else / 從底往上數(shù),空格位于奇數(shù)行if (blankId - 1) / PuzzleActivity.TYPE) % 2 = 1)return getInversions(data) % 2 = 0;else

5、 / 從底往上數(shù),空位位于偶數(shù)行return getInversions(data) % 2 = 1;/計(jì)算倒置和算法public static int getInversions(List data) int inversions = 0;int inversionCount = 0;for (int i = 0; i data.size(); i+) for (int j = i + 1; j data.size(); j+) int index = data.get(i);if (data.get(j) != 0 & data.get(j) index)inversionCount+;i

6、nversions += inversionCount;inversionCount = 0;return inversions;/判斷拼圖是否成功復(fù)原public static boolean isSuccess() for (ImageItemBean tempBean : mItemBeans) if(tempBean.getmItemId() != 0 & tempBean.getmItemId() = tempBean.getmBitmapId()continue;else if(tempBean.getmBitmapId() = 0 &tempBean.getmItemId() =

7、 PuzzleActivity.TYPE * PuzzleActivity.TYPE)continue;else return false;return true;四、相關(guān)知識核心算法:計(jì)算倒置和算法。拼圖的實(shí)現(xiàn)是將一張完整的圖片切成n等分,如果隨機(jī)切割排列會導(dǎo)致圖片無法還原,使用計(jì)算倒置和算法得到圖片生成的情況,然后判斷拼圖是否有解。五、小結(jié)本文利用Android studio 等開發(fā)工具設(shè)計(jì)了一款立足于青少年智力開發(fā)及海洋知識科普的趣味拼圖游戲。由于經(jīng)驗(yàn)不足,該應(yīng)用仍存在一些不足的地方,功能方面還可以后續(xù)拓展。Reference:1郭霖.第一行代碼Android(第2版)人民郵電出版社,2016.2李興華.名師講壇Java開發(fā)實(shí)戰(zhàn)經(jīng)典(第2版),2018.基金項(xiàng)目:課題資助:南昌航空大學(xué)第14屆“三小”課題。商情2020年35期商

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論