版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、二維手機游戲?qū)嶒瀳蟾孳浖Q 五步棋 作者姓名邵飛飛 作者學(xué)號201226630309 專業(yè)班級 軟件工程1203 所在學(xué)院計算機科學(xué)與技術(shù)學(xué)院 編寫日期2015年06月19日 目 錄1.游戲界面設(shè)計31.1游戲模式選擇界面31.1.1語言概述31.1.2 圖片展示31.2 游戲棋盤界面31.2.1 語言概述31.2.2 圖片展示42.游戲設(shè)計52.1設(shè)計目的52.2 游戲結(jié)構(gòu)設(shè)計52.2.1 總體設(shè)計52.2.2 游戲模塊類設(shè)計63. 程序的開發(fā)和功能演示83.1 開發(fā)難點解析83.1.1 畫棋盤83.1.2 聯(lián)機模式的實時更新界面。93.1.3 實時判斷是否湊齊5步棋的5步了113.2.
2、功能演示133.2.1 圖片演示133.2.2 視頻演示151.游戲界面設(shè)計1.1游戲模式選擇界面1.1.1語言概述模式選擇界面要包含兩部分。第一部分是單機模式按鈕,第二部分是聯(lián)機模式按鈕。1.1.2 圖片展示1.2 游戲棋盤界面1.2.1 語言概述游戲棋盤要盡量的大,這樣的話也比較像真正的棋盤,下棋起來也比較有感覺。因為該游戲中共有兩種模式,一種單機,一種聯(lián)機。所以這兩個的棋盤所在的activity界面應(yīng)該不同。單機版的棋盤是以每格50像素的大小確定的,根據(jù)手機屏幕的大小會顯示不同格數(shù)的棋盤。聯(lián)機版的棋盤是固定的,9行,15列。但是每格的大小是不同的,大小是有由具體手機的屏幕大小決定的。由于
3、這些圖片都是我自己的手機上截下來的,所以單機盤棋盤和聯(lián)機版棋盤是一樣的。1.2.2 圖片展示單機模式聯(lián)機模式2.游戲設(shè)計2.1設(shè)計目的該款游戲主要作用是用來下五步棋的,它可以是一個手機上的單機游戲,也可以是兩個手機進行聯(lián)機打游戲。2.2 游戲結(jié)構(gòu)設(shè)計2.2.1 總體設(shè)計2.2.2 游戲模塊類設(shè)計 單機模塊類設(shè)計 聯(lián)機模塊類設(shè)計3. 程序的開發(fā)和功能演示3.1 開發(fā)難點解析3.1.1 畫棋盤首先在用到的重現(xiàn)加載onDraw方法。對于畫的設(shè)置是用到了Paint這個類。代碼:Overrideprotected void onDraw(Canvas canvas) / TO
4、DO Auto-generated method stubsuper.onDraw(canvas); Paint paint1=new Paint();paint1.setColor(Color.BLACK);for(int i=0;imaxRows;i+)canvas.drawLine(x0, y0+i*D,x0+(maxColx-1)*D ,y0+i*D, paint1);/化橫線for(int i=0;imaxColx;i+)canvas.drawLine(x0+i*D, y0, x0+i*D, y0+(maxRows-1)*D, paint1);/畫豎線canvas.drawBitma
5、p(stop, 500, 1000, paint1);/*paint1.setColor(Color.CYAN);/青色,介于藍色和綠色之間paint1.setTextSize(50);canvas.drawText(我的五子棋, 250, 80, paint1);*/for(int i=0;imaxRows;i+)for(int j=0;j0)/判斷棋盤是否被占用if(chessij=1)paint1.setColor(Color.BLACK);else paint1.setColor(Color.WHITE);/System.out.println(chessij);canvas.draw
6、Circle(x0+j*D, y0+i*D, 20,paint1);/System.out.println(x0+j*D); checkWinner();if(winner0)paint1.setColor(Color.RED);paint1.setTextSize(70);String s=winner=1?黑子贏了:白子贏了;/1是黑棋贏了,2是白棋贏了 canvas.drawText(s, 100, 300, paint1); /* try Thread.sleep(5000);rePlay(); catch (InterruptedException e) / TODO Auto-ge
7、nerated catch blocke.printStackTrace(); */ /顯示我要悔棋paint1.setTextSize(50);paint1.setColor(Color.BLUE);canvas.drawText(悔棋, 300, 1000, paint1);/public void drawText (String text, float x, float y, Paint paint).canvas.drawBitmap(start, 100, 1000, paint1);/開始游戲paint1.setTextSize(30);paint1.setColor(Color
8、.WHITE);canvas.drawText(重, maxColx*D+30,maxRows*D/2-20, paint1);/(先X,后Y)canvas.drawText(新, maxColx*D+30,maxRows*D/2, paint1);canvas.drawText(來, maxColx*D+30,maxRows*D/2+20, paint1);3.1.2 聯(lián)機模式的實時更新界面。首先兩個人進行下棋,一個人下完一步棋后會把這步棋的數(shù)據(jù)存入電腦的服務(wù)器中,而另一個人就得不斷的訪問數(shù)據(jù)庫,把變化了的數(shù)據(jù)取出來,然后重新畫界面。代碼:new Thread(new Runnable()
9、Overridepublic void run() /while(true)/ TODO Auto-generated method stubMessage msg = handler.obtainMessage();try HttpClient httpClient = new DefaultHttpClient();HttpGet httpGet = new HttpGet(URL);while(true)/這個就是不斷的訪問數(shù)據(jù)庫了HttpResponse httpResponse = httpClient.execute(httpGet);/ 這句話沒有執(zhí)行,if (httpRespo
10、nse.getStatusLine().getStatusCode() = 200) HttpEntity entity = httpResponse.getEntity();String response = EntityUtils.toString(entity, utf-8);parseXMLWithPull(response);/Bundle b = new Bundle();/b.putString(time, records.get(0).getTime();/b.putString(context, records.get(0).getContext();/msg.setData
11、(b);/ 傳遞數(shù)據(jù)handler.sendEmptyMessage(0);sleep();/Thread.sleep(2000);/Thread.sleep(1000); catch (Exception e) / aaa.setText(加載失敗);handler.sendEmptyMessage(1);e.printStackTrace();/).start();3.1.3 實時判斷是否湊齊5步棋的5步了判斷是寫個onDraw方法里面的,這樣每畫一次就判斷一次。代碼:private void checkWinner() / 從上到下,從左到右 依次搜索for(int i=0;imaxRo
12、ws;i+)for(int j=0;jmaxColx;j+)if(chessij = 0)continue; /后面的語句不在執(zhí)行,繼續(xù)執(zhí)行下一次循環(huán)/以該位置為基準,搜索4個方向 右 ,下,右上,右下/判斷是否有五個同類型的棋子/ 向右方向int count=1; for(int k=1;k=4 & (j+k= 5)winner = chessij;return ;/跳出checkWinner()方法的執(zhí)行/ 向下方向count=1;for(int k=1;k=4 & (i+k= 5)winner = chessij;return ;/跳出checkWinner()方法的執(zhí)行/斜上count=1;for(int k=1;k=4 & (j+k0);k+)if(chessi-kj+k != chessij) break;elsecount+;if(count = 5)winner =
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件圖片沒了教學(xué)課件
- 2024年度知識產(chǎn)權(quán)許可合同補充協(xié)議
- 2024年太陽能路燈物流與倉儲服務(wù)合同
- 2024化工廠建設(shè)土石方運輸合同
- 04年新一代移動通信技術(shù)研發(fā)合同
- 2024年度企業(yè)招聘外包合同
- 2024規(guī)范版汽車租賃合同
- 課程課件封面教學(xué)課件
- 2024年國際貨物買賣合同標的數(shù)量與質(zhì)量檢驗標準詳解
- 2024學(xué)校校園廣告投放合同
- 2024年企業(yè)數(shù)據(jù)存儲與安全服務(wù)合同
- 2022年北京市公務(wù)員錄用考試《行測》真題及答案解析
- 江蘇省泰興市2024-2025學(xué)年高三上學(xué)期期中考試語文試題(含答案)
- 家長會教學(xué)課件
- 2024年消防宣傳月知識競賽考試題庫500題(含答案)
- 2024年典型事故案例警示教育手冊15例
- 高一歷史(中外歷史綱要上冊)期中測試卷及答案
- 20K607 防排煙及暖通防火設(shè)計審查與安裝
- 一氧化碳中毒培訓(xùn)課件
- 教案(餐巾折花)
- 一元三次、一元四次方程的基本解法畢業(yè)論文
評論
0/150
提交評論