找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7976|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

安卓五子棋游戲開發(fā)代碼工程+圖文+設(shè)計文檔資料下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:466237 發(fā)表于 2019-1-11 15:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
五子棋安卓開發(fā)文檔及開發(fā)工程見附件

[摘 要] 被業(yè)內(nèi)人士稱為繼短信之后的又一座“金礦”。4G的普及,手機顯示性能的提高、手機屏幕的擴大和較高的分辨率,解決了傳統(tǒng)手機行業(yè)的很多弊端,手機休閑娛樂應(yīng)用將成為PC休閑娛樂之后又一重要業(yè)務(wù)增長點、同時Android采用了全面觸摸屏,可以完成更多復(fù)雜的操作。Android雖然基于Java,但是其虛擬機是基于寄存器的,速度得到很大的提升,這為Android平臺上開發(fā)游戲提供了堅強的后盾。


本文主要闡述以面向?qū)ο蟮某绦蜷_發(fā)語言eclipse為開發(fā)工具, 基于智能手機Android之上設(shè)計一個五子棋游戲。五子棋起源于中國古代的傳統(tǒng)黑白棋種之一,它不僅能增強思維能力 提高智力,而且富含哲理,有助于修身養(yǎng)性。本系統(tǒng)是本系統(tǒng)中設(shè)定了人機對戰(zhàn)和人人對戰(zhàn)兩種模式。人機對戰(zhàn)實現(xiàn)的是一些簡單的算法,人人對戰(zhàn)只是進行了輸贏方的判定。它與javame的五子棋設(shè)計有許多的不一樣,Android本來就是全觸摸的形式,而且操作非常簡單。



目錄

引言              2

第一章 應(yīng)用背景與功能需求              3

1.1 應(yīng)用背景              3

1.2設(shè)計意義              3

1.3應(yīng)用需求分析              3

1.3.1 應(yīng)用的實用性              3

1.3.2 應(yīng)用需求              3

第二章 設(shè)計思路              4

第三章 布局設(shè)計              4

3.1 初始界面布局              4

3.2畫盤線              6

3.3按照棋盤模式構(gòu)建棋盤大小              7

3.4判斷該位置是否可下子              7

3.5交換棋手下棋              7

第四章 文件讀寫類的設(shè)計與實現(xiàn)              8

4.1獲勝機制              8

4.1.1 遍歷所有的五連子可能情況的權(quán)值。              8

4.1.2 初始化黑子白子上的每個權(quán)值上的連子數(shù)              9

4.1.3 檢查是否有人五連珠              10

4.1.4顯示結(jié)束信息              10

4.2人機對戰(zhàn)              11

4.3 輸贏判斷              11

第五章 其他相關(guān)工作              15

5.1 游戲主界面              15

5.2 游戲開始界面              15

第六章 系統(tǒng)測試與部署              16

6.1 硬件環(huán)境              16

6.2 軟件環(huán)境              16

6.3測試用例              16

第七章 總結(jié)              17

參考文獻              17


引言

隨著社會的發(fā)展,目前全國的手機用戶數(shù)量已經(jīng)遠(yuǎn)超過了PC機的數(shù)量,而且手機的功能正在快速更新,其中智能手機所占的比例越來越大,特別是隨著5G技術(shù)發(fā)展時代的到來,移動互聯(lián)網(wǎng)已是一個巨大的市場,許多國際大公司以及國內(nèi)的大公司斗在搶占智能手機領(lǐng)域的市場份額。這期間,出現(xiàn)的智能手機可謂五花八門,種類繁多。

當(dāng)互聯(lián)網(wǎng)巨頭Google宣布依靠android系統(tǒng)進軍手機操作系統(tǒng)領(lǐng)域之后,三年來Android一路高歌,快速的獲得眾多用戶和廠商的認(rèn)同。隨著Android手機終端的熱銷,Android也引起眾多手機應(yīng)用程序開發(fā)商的關(guān)注,Android的出現(xiàn),帶給了智能手機領(lǐng)域更多的機遇和挑戰(zhàn),由于Android基于Linux內(nèi)核且具有開源、免費的特性,他迅速得到廣大愛好者以及許多廠商的支持,基于Android所開發(fā)的手機游戲擁有巨大潛力已成為行業(yè)共識。

中華民族是一個有著幾千年悠久歷史和璀璨文化的國家,而棋類娛樂卻早已突破了純游戲的范疇而成為中華傳統(tǒng)文化的一個分支。五子棋的棋文化源遠(yuǎn)流長,具有東方的神秘和西方的直觀,是中西文化的交流點,是古今哲理的結(jié)晶。

現(xiàn)在人們壓力日益增大,需要勞逸結(jié)合才能獲得更高的工作效率,工作之余的娛樂對每一個人來說都是必不可少的。五子棋這種娛樂方式簡單易學(xué)又具有深奧的技巧,非常富有趣味性和消遣性。在經(jīng)過不斷發(fā)展后五子棋已經(jīng)成為棋盤娛樂的一個重要組成部分,他能夠增強思維能力、開發(fā)智力,是人們休閑娛樂的不錯選擇


第一章 應(yīng)用背景與功能需求
1.1 應(yīng)用背景

在我們的生活中有許多的游戲,但是游戲不同她也會給玩家?guī)聿煌母惺芎蜕罾砟睢S螒蚴俏覀內(nèi)粘I畹囊粋必不可少的娛樂項目,也帶動了游戲相關(guān)產(chǎn)業(yè)市場的發(fā)展。游戲平臺是經(jīng)過從游戲機到電視游戲,然后從PC游戲,到手機游戲,中間經(jīng)歷了很多的技術(shù)的更新和變革。但隨著新技術(shù)的發(fā)簪和我們生活水平質(zhì)量的提高,手機開始普及,因為手機是非常小巧便捷的,而且方便的特性成為我們?nèi)粘I钪斜貍渫ㄓ嵐ぞ摺6谑謾C平臺的游戲也就擁有的市場空間是巨大的的,也因隨著4G的開通和應(yīng)用,手機游戲必然會迎來新的一輪游戲熱潮。

1.2設(shè)計意義

本次設(shè)計是基于Android平臺開發(fā)的一個小型五子棋游戲程序。五子棋游戲的簡單易學(xué),老少皆宜這些特性與智能手機的移動方便,大范圍普及等特點結(jié)合起來,必定會大放光芒,廣受歡迎

1.3應(yīng)用需求分析
1.3.1 應(yīng)用的實用性

現(xiàn)在人們壓力日益增大,需要勞逸結(jié)合才能獲得更高的工作效率,工作之余的娛樂對每一個人來說都是必不可少的。五子棋這種娛樂方式簡單易學(xué)又具有深奧的技巧,非常富有趣味性和消遣性。在經(jīng)過不斷發(fā)展后五子棋已經(jīng)成為棋盤娛樂的一個重要組成部分,他能夠增強思維能力、開發(fā)智力,是人們休閑娛樂的不錯選擇。

1.3.2 應(yīng)用需求

游戲說明:游戲開始時,由黑子開局,將一枚棋子落在棋盤一坐標(biāo)上,然后由白棋落子,如此輪流下子,直到某一方首先在棋盤的豎、橫或斜三方向上的五子連成線,則該方該局獲勝。功能列表如下:

(1)輸出棋盤;

(2)提示用戶下子;

(3)查看用戶是否出界;

(4)系統(tǒng)自動下子;

(5)判斷游戲是否輸贏;

(6)判斷是否進入下一局;

(7)退出游戲。


第二章 設(shè)計思路

在軟件設(shè)計分析的基礎(chǔ)上,為了方便玩家的使用,界面設(shè)計的簡潔明了,布局合理。應(yīng)用設(shè)計內(nèi)容主要為五子棋人機對戰(zhàn),由人與計算機進行相互下子,進行合理的布局以及算法使計算機可以自動判斷勝利條件,并于玩家進行博弈。使玩家在閑暇時可以得到適當(dāng)?shù)姆潘伞?/p>

本應(yīng)用的設(shè)計目標(biāo)是建立于一個基于Android手機游戲軟件,基本可以滿足人們在閑暇時間的娛樂以及放松。

打開游戲,進入初始主界面可選擇開始或退出,若點擊開始,進行判斷電腦還是玩家先下子,判斷后進行下子,一方下完進行判斷輸贏,若有一方勝利則結(jié)束游戲,若沒有人獲勝,則返回下棋階段,流程圖如圖2-1所示:

圖2-1 流程圖

第三章 布局設(shè)計
3.1 初始界面布局

采用線性布局作為初始化界面,插入背景圖片,按照上中下布局分布,插入游戲名稱,新游戲等文本框,編輯按鈕文本,實現(xiàn)代碼如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="@drawable/timg"

    android:orientation="vertical"

    android:padding="30dip" >


    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_weight="0.17"

        android:gravity="center"

        android:orientation="vertical" >


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/main_title"

            android:textColor="@color/text_title"

            android:textSize="64sp" />

    </LinearLayout>


    <Button

        android:id="@+id/btn_newgame"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/btn_newgame" />


    <Button

        android:id="@+id/btn_exit"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_weight="0.00"

        android:text="@string/btn_exit" />


</LinearLayout>


3.2畫盤線

本模塊是整個游戲系統(tǒng)的平臺性模塊,之后所有的功能都將依附該模塊來體現(xiàn),主要需要實現(xiàn)棋盤的繪制,本游戲系統(tǒng)選擇的是15*15的棋盤,與左邊和上邊的距離: 3推算其他線條計算方法。使用程序?qū)崿F(xiàn)以上計算方法,創(chuàng)建出15根橫線與整線,存進集合中。實現(xiàn)代碼如下:

for (int i=0; i <= maxX; i++) {//豎線

lines. add (new Line (xoffset+i*POINT_ SIZE, yoffset,xOffset+i*POINT SIZE, yoffset tmaxY*POINT SIZE));

for (int i=0; i <= maxY; i+) {//橫線

lines. add (new Line (x0ffset, yoffset+i*POINT SIZE,(maxX+1)*P0INT SIZE, yoffset+i*POINT SIZED);

//在ondraw方法畫出所有棋盤線

for (Line line : lines){

canvas. drawLine(line. xStart, line. yStart, line. xStop, line. yStop,paint):

盤線圖如圖3-1所示:

              

圖3-1 盤線圖

3.3按照棋盤模式構(gòu)建棋盤大小

通過輸入相對棋盤的X和Y設(shè)置rect的值 使之變?yōu)樵揦和Y代表的屏幕區(qū)域值

private void getRect(int x, int y, Rect rect) {

                            rect.set((int) (x * gridSize + getTopX()),

                                                        (int) (y * gridSize + getTopY()), (int) (x * gridSize

                                                                                    + gridSize + getTopX()),

                                                        (int) (y * gridSize + gridSize + getTopY()));

3.4判斷該位置是否可下子

              計算棋盤上某一方格上八個方向棋子的最大值,這八個方向分別是:左、右、上、下、左上、左下、右上、右下,如果可下子,則下子,如果超出棋盤范圍或該點已有棋子則不能下子。

              public boolean chessExist(int i,int j){

                 if(this.arrMapShow[ i][j]==1 || this.arrMapShow[ i][j]==2)

                  return true;

                 return false;

              }


判斷該坐標(biāo)位置是否可下棋子。

              public void readyplay(int x,int y){

                 if(badxy(x,y))

                  return;

                 if (chessExist(x,y))

                  return;

                 this.arrMapShow[x][y]=3;

              }

3.5交換棋手下棋

設(shè)置交換棋手的標(biāo)識符

              public void setisOdd(boolean isodd){

                 if(isodd)

                  this.isOdd=true;

                 else

                  this.isOdd=false;

              }


獲取是否交換棋手的標(biāo)識符。

              public boolean getisOdd(){

                 return this.isOdd;

              }


第四章 文件讀寫類的設(shè)計與實現(xiàn)
4.1獲勝機制
4.1.1 遍歷所有的五連子可能情況的權(quán)值。

從橫向、豎向、右斜、左斜,四個方向判斷獲勝機制,如果四個方向其中一個方向有五子連珠的情況,則獲勝,如果沒有則繼續(xù)下子。i從0到14,循環(huán)15次,j從0到10循環(huán)11次,k從0到4循環(huán)5次,判斷橫縱坐標(biāo)的位置以及連珠數(shù)量。

(1)

        for(int i=0;i<15;i++)

            for(int j=0;j<11;j++){

                for(int k=0;k<5;k++){

                    this.table[1][j+k][ i][icount] = true;

                    this.table[0][j+k][ i][icount] = true;

                }

                icount++;

            }

(2)

        for(int i=0;i<15;i++)

            for(int j=0;j<11;j++){

                for(int k=0;k<5;k++){

                    this.table[1][ i][j+k][icount] = true;

                    this.table[0][ i][j+k][icount] = true;

                }

                icount++;

            }

(3)右斜

        for(int i=0;i<11;i++)

            for(int j=0;j<11;j++){

                for(int k=0;k<5;k++){

                    this.table[1][j+k][i+k][icount] = true;

                    this.table[0][j+k][i+k][icount] = true;

                }

                icount++;

            }

(4)左斜

        for(int i=0;i<11;i++)

            for(int j=14;j>=4;j--){

                for(int k=0;k<5;k++){

                    this.table[1][j-k][i+k][icount] = true;

                    this.table[0][j-k][i+k][icount] = true;

                }

                icount++;


4.1.2 初始化黑子白子上的每個權(quán)值上的連子數(shù)

判斷有無一方勝利,若沒有則初始化棋盤,重新下棋子。

        for(int i=0;i<=1;i++)  

            for(int j=0;j<572;j++)

                this.combo[ i][j] = 0;


        if(!IndexActivity.playerFirst){

                      isUsersTurn = false;

                                          Coordinate c = ai.comTurn(null);

                                          setPieceIfValid(c.x,c.y,1);

        }

        IndexActivity.playerFirst = !IndexActivity.playerFirst;

              }


              public int[][] getGridBoard(){

                            return gridBoard;

              }

              public void setPieceIfValid(int selectX, int selectY,int id) {

                            if(gridBoard[selectX][selectY] != 0 || haveWinner()){

                                          return;

                            }

                            if(isUsersTurn && id==2){

                                          setPiece(selectX,selectY,id);

                                          nextTurn();

                            }else if(!isUsersTurn && id==1){

                                          setPiece(selectX,selectY,id);

                                          nextTurn();

                            }

              }


4.1.3 檢查是否有人五連珠

              通過語句從572種五連珠可能性中,檢查該連珠情況是否符合其中一種,如果有則獲勝,如果沒有,則交換對手下棋。

private boolean haveWinner(){

                            for(int i=0;i<2;i++){

                                          for(int j=0;j<572;j++){

                                                        if(combo[ i][j] == 5){

                                                                      showWinner(i);

                                                                      return true;


4.1.4顯示結(jié)束信息

如電腦先連成五連珠,則輸出玩家失敗,如玩家先連成五連珠,則輸出玩家獲勝。


  1. <font style="font-size: 12pt">              private void showWinner(int id){
  2.                             Builder builder = new AlertDialog.Builder(this);
  3.                             String title = "";
  4.                             String msg = "";
  5.                             switch(id){
  6.                             case 0://電腦贏了,玩家輸了
  7.                                           title = this.getResources().getString(R.string.title_lose);
  8.                                           msg = this.getResources().getString(R.string.text_lose);
  9.                                           break;
  10.                             case 1://玩家贏了
  11.                                           title = this.getResources().getString(R.string.title_victor);
  12.                                           msg = this.getResources().getString(R.string.text_victor);
  13.                                           break;
  14.                             }
  15.                             builder.setTitle(title);
  16.                             builder.setMessage(msg);
  17.                             builder.setPositiveButton("back",               new DialogInterface.OnClickListener() {

  18.                                          
  19.                                           @Override
  20.                                           public void onClick(DialogInterface dialog, int which) {
  21.                                                         BackgammonActivity.this.finish();//退出此窗口                          

  22.                                           }</font>
復(fù)制代碼


4.2人機對戰(zhàn)

輪到電腦下棋時,電腦先取出一個空白棋位(一個Point對象),以此棋位為起點計算四個方向能形成多少部連續(xù)的棋子,此為第一次計算。

FirstAnalysisResult{

Point point;   //棋位

int count;  //連續(xù)數(shù)

int aliceState;  //狀態(tài)

int direction;  //方向

因為第一次計算的結(jié)果對一個棋位都會形成四個結(jié)果(每個方向一個結(jié)果),這一步將這些結(jié)果匯總到一個類對象中。

SecondAnalysisResult implements Comparable<SecondAnalysisResult>{

Point point;  //棋位

int alive4 = 0;  //活4

int alive3 = 0;  //活3數(shù)量

int halfAlive4 = 0;  //半活4,一頭封

int halfAlive3 = 0;  //半活3,一頭封

Int alive2 = 0;  //活2數(shù)量

對第二次計算結(jié)果進行排序,將結(jié)果分成三個等級,每個等級有一個集合裝載,有子類在排序結(jié)果挑選想要下的棋子。為了性能在第一次計算前,必須確定一個較小的計算范圍,不能全部都算。另外,在每次找到必殺棋時,直接返回,不在計算。

4.3 輸贏判斷

從左、右、上、下、左上、右上、右下、左下,八個方向判斷是否有五子連珠的情況。i從1到5循環(huán)5次,判斷是否有連珠情況。

(1)判斷右邊是否有五子連珠的情況,如果有,則獲勝。

                 for(int i=1;i<6;i++){

                  x_temp1+=1;

                  if(x_temp1>this.width)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

(2)判斷左邊是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 for(int i=1;i<6;i++){

                  x_temp1-=1;

                  if(x_temp1<0)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

                 if(num==5)

                  return true;

(3)判斷上方是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 y_temp1=y_temp;

                 num=1;

                 for(int i=1;i<6;i++){

                  y_temp1-=1;

                  if(y_temp1<0)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

(4)判斷下方是否有五子連珠的情況,如果有,則獲勝。

                 y_temp1=y_temp;

                 for(int i=1;i<6;i++){

                  y_temp1+=1;

                  if(y_temp1>this.height)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

                 if(num==5)

                  return true;


(5)判斷左上是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 y_temp1=y_temp;

                 num=1;

                 for(int i=1;i<6;i++){

                  x_temp1-=1;

                  y_temp1-=1;

                  if(y_temp1<0 || x_temp1<0)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;


(6)判斷右下是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 y_temp1=y_temp;

                 for(int i=1;i<6;i++){

                 x_temp1+=1;

                 y_temp1+=1;

                 if(y_temp1>this.height || x_temp1>this.width)

                  break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

                 if(num==5)

                  return true;


(7)判斷右上是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 y_temp1=y_temp;

                 num=1;

                 for(int i=1;i<6;i++){

                  x_temp1+=1;

                  y_temp1-=1;

                  if(y_temp1<0 || x_temp1>this.width)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

(8)判斷左下是否有五子連珠的情況,如果有,則獲勝。

                 x_temp1=x_temp;

                 y_temp1=y_temp;

                 for(int i=1;i<6;i++){

                  x_temp1-=1;

                  y_temp1+=1;

                  if(y_temp1>this.height || x_temp1<0)

                   break;

                  if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)

                   num++;

                  else

                   break;

                 }

                 if(num==5)

                  return true;

                 return false;


第五章 其他相關(guān)工作
5.1 游戲主界面

游戲主界面如圖5-1所示。

                                          
圖5-1 游戲主界面圖                                                                                       5-2 開局界面
5.2 游戲開始界面

五子棋的開局界面如圖5-2所示:

第六章 系統(tǒng)測試與部署

6.1 硬件環(huán)境

電腦、Android手機、數(shù)據(jù)線

6.2 軟件環(huán)境

Windows操作系統(tǒng)、Android手機系統(tǒng)、Eclepse

6.3測試用例

系統(tǒng)測試,即對軟件進行全面統(tǒng)一的測試,包括對性能、娛樂性以及對運行環(huán)境的調(diào)試。

測試游戲進行界面(玩家為黑棋),如圖6-1所示:

圖6-1 游戲進行界面

測試輸贏界面,如圖6-2 勝利界面,圖6-3失敗界面:

                              

圖6-2 勝利界面                                                                                                                圖6-3 失敗界面                                         


第七章 總結(jié)

本文實現(xiàn)了五子棋游戲中的人機對戰(zhàn)模式。在這次的實驗中我遇到了很多困難,在克服這些困難的過程中學(xué)到了很多的知識,讓我對Android有了更深層次的了解。

五子棋游戲邏輯十分簡單,可以明顯的分為四個部分:白棋下、判斷白棋是否獲勝、黑棋下、判斷黑棋是否獲勝;在判斷獲勝的兩個部分可以使用相同的方法,所以總結(jié)起來我們只需完成白棋下、黑棋下、判斷獲勝三個部分。所以我在選擇實現(xiàn)順序的時候選擇實現(xiàn)人機對戰(zhàn)的模式來進行設(shè)計。

我個人認(rèn)為人機對戰(zhàn)的實現(xiàn)相對于人人對戰(zhàn)模式更加復(fù)雜,人機對戰(zhàn)模式的實現(xiàn)相對于人人模式增加了游戲AI,而且僅僅是增加了游戲AI,所以在這個實現(xiàn)中對游戲AI的實現(xiàn)成為了重點。通過在網(wǎng)上的查找和總結(jié),知道最通用的實現(xiàn)五子棋游戲AI的算法就是:根據(jù)五子棋游戲規(guī)則指定在不同情況下每個位置的權(quán)值,然后在開始下棋時在地圖上計算權(quán)值最大的位置即可。經(jīng)過對五子棋游戲的簡單研究,之后又在網(wǎng)上查找了相關(guān)算法的實現(xiàn)資料,自己實現(xiàn)了一個簡單的五子棋算法。雖然不能有很高的AI不過已經(jīng)可以達到初級玩家的水平。




完整的Word格式文檔51黑下載地址:
五子棋.docx (560.85 KB, 下載次數(shù): 47)

源碼:
FiveChess.7z (1.14 MB, 下載次數(shù): 67)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:562585 發(fā)表于 2019-6-14 15:33 | 只看該作者
請問能私發(fā)一份嗎?
回復(fù)

使用道具 舉報

板凳
ID:575346 發(fā)表于 2019-7-1 09:49 | 只看該作者
請問能使用 android studio來實現(xiàn)嗎
回復(fù)

使用道具 舉報

地板
ID:563554 發(fā)表于 2019-9-30 21:19 | 只看該作者
非常好的資料,支持一下
回復(fù)

使用道具 舉報

5#
ID:656468 發(fā)表于 2019-12-5 09:22 | 只看該作者

RE: 安卓五子棋游戲開發(fā)代碼工程+圖文+設(shè)計文檔資料下載

可以下載的嗎??
回復(fù)

使用道具 舉報

6#
ID:716484 發(fā)表于 2020-3-26 20:39 | 只看該作者
可以用嗎?
回復(fù)

使用道具 舉報

7#
ID:1046464 發(fā)表于 2022-10-2 11:06 | 只看該作者
希望能參考一下
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表