當前位置:首頁 » 論文設計 » j2me游戲黑白棋畢業論文
擴展閱讀
中國網路原創新人樂團 2021-03-31 20:26:56
黨政視頻素材 2021-03-31 20:25:44
廈門大學統計學碩士 2021-03-31 20:25:36

j2me游戲黑白棋畢業論文

發布時間: 2021-03-28 02:33:24

A. 畢業論文題目:基於Java的手機五子棋網路對戰游戲的設計和開發。題目怎麼理解

標題改成基於android******的吧 基於java的手機 這么說很業余
其次開發這回個得話 eclipse搭載ADT 或者用 Android Studio(開發工具)
藍牙答當然算網路了 交互傳輸說白了就是TCP
畢業設計也是做的安卓 不懂盡管問

B. 誰能給我一個eclipse的J2ME藍牙對戰黑白棋游戲,主要是實現藍牙對戰功能,謝謝

太高深了

C. 誰能給我一個eclipse的J2ME藍牙對戰黑白棋游戲,藍牙最重要

分數給了就給

D. 用java設計黑白棋游戲

沒分?這個看誰有現成的給上來吧.

E. 關於 eclipse下j2me的數獨手機小游戲 畢業設計

黯然的神情

F. 基於J2ME,用eclipse開發的黑白棋游戲源代碼

我可以發一個給你,你給一下郵箱!

G. 求J2ME手機游戲黑白棋代碼 要求有菜單的

我木有,如此經典的項目是開源項目,網路找找j2me源碼下載站看看有木有吧!

H. 基於J2me手機游戲開發的國內外現狀

J2ME平台由於自身的特點,己經成為當前業界流行的無線應用開發支柱平台。利用J2ME提供的功能,電子商務、企業的商務應用等都可以擴展到無線上來,基於J2ME平台的手機應用開發已經成為熱點。 本論文以基於J2ME_WTK的2D手機游戲開發為線索,進行了相關理論研究、實驗和游戲的開發。在做這款2D游戲,主要適配了J2ME環境;利用LayerManager圖層管理類中的方法畫了四層背景並使背景達到動態的效果;並利用Sprite精靈管理類中的方法封裝了主角與地圖層的碰撞.

I. C語言編制黑白棋游戲:

#include<stdio.h>

#include<string.h>

#include<windows.h>

#include<stdlib.h>

short int chess[12][12];

short int next[8][2]={{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1}};/*方向數組*/

void print(); /*輸出函數*/

void calculate(); /*數子函數*/

int main()

{

int state; /*狀態變數*/

/*介紹*/

printf(" 黑白棋 ");

printf("1.黑方先行,雙方交替下棋。 2.一步合法的棋步包括:在一個空格新落下一個棋子,並且翻轉對手一個或多個棋子。 3.新落下的棋子與棋盤上已有的同色棋子間,對方被夾住的所有棋子都要翻轉過來。可以是橫著夾,豎著夾,或是斜著夾。夾住的位置上必須全部是對手的棋子,不能有空格。 4.一步棋可以在數個方向上翻棋


,任何被夾住的棋子都必須被翻轉過來,棋手無權選擇不去翻某個棋子。 5.除非至少翻轉了對手的一個棋子,否則就不能落子。如果一方沒有合法棋步,也就是說不管他下到哪裡,都不能至少翻轉對手的一個棋子,那他這一輪只能棄權,而由他的對手繼續落子直到他有合法棋步可下。 6.如果一方至少有一步合法棋步可下,他就必須落子,不得棄權。 7.棋局持續下去,直到棋盤填滿或者雙方都無合法棋步可下。 8.輸入坐標時,分別輸入橫縱坐標,如: 7 2 表示第7行,第2列。 9.在游戲時,若想查看規則,請輸入 0 0 。 10.形勢判斷請輸入 9 9 。 ");

printf(" 1=開始 0=退出 ");

scanf("%d",&state);

if(state==0)

return 0;

else if(state==1)

system("cls");

else

{

printf("錯誤!");

return 0;

}

/*初始化*/

memset(chess,0,sizeof(chess));

chess[5][5]=1,chess[4][4]=1,chess[5][4]=2,chess[4][5]=2;

/*開始*/

int i,j,k; /*i用於步數循環*/

int x,y; /*橫縱坐標*/

int nx,ny; /*檎蟻亂桓鱟?/

int white,black;

for(i=5;i<=64;i++)

{

/*黑方的步驟 */

print();

place:

printf("黑方請輸入坐標:");

scanf("%d%d",&x,&y);

if(x==0&&y==0) /*查看規則*/

{

system("cls");

printf("1.黑方先行,雙方交替下棋。 2.一步合法的棋步包括:在一個空格新落下一個棋子,並且翻轉對手一個或多個棋子。 3.新落下的棋子與棋盤上已有的同色棋子間,對方被夾住的所有棋子都要翻轉過來。可以是橫著夾,豎著夾,或是斜著夾。夾住的位置上必須全部是對手的棋子,不能有空格。 4.一步棋可以在數個方向上翻棋,任何被夾住的棋子都必須被翻轉過來,棋手無權選擇不去翻某個棋子。 5.除非至少翻轉了對手的一個棋子,否則就不能落子。如果一方沒有合法棋步,也就是說不管他下到哪裡,都不能至少翻轉對手的一個棋子,那他這一輪只能棄權,而由他的對手繼續落子直到他有合法棋步可下。 6.如果一方至少有一步合法棋步可下,他就必須落子,不得棄權。 7.棋局持續下去,直到棋盤填滿或者雙方都無合法棋步可下。 8.輸入坐標時,分別輸入橫縱坐標,如: 7 2 表示第7行,第2列。 9.在游戲時,若想查看規則,請輸入 0 0 。 10.形勢判斷請輸入 9 9 。 ");

guize:

printf(" 輸入1以繼續 ");

scanf("%d",&state);

if(state==1)

{

system("cls");

goto place;

}

else

{

printf("錯誤 ");

goto guize;

}

}

else if(x==9&&y==9)

{

calculate();

goto place;

}

/*判斷落子是否合法*/

if(chess[x][y]!=0)

{

printf("非法的落子:該點已有棋! ");

goto place;

}

else

{

bool whether=false; /*是否合法:true表示合法*/

for(j=0;j<=7;j++)

{

nx=x;

ny=y;

white=0;

while(1)

{

nx=nx+next[j][0];

ny=ny+next[j][1];

if((chess[nx][ny]==0&&white==0)||(nx>8||nx<1||ny>8||ny<1))

{

break;

}

else if(chess[nx][ny]==2)

{

white++;

}

else if(chess[nx][ny]==1&&white>0)

{

int change=0;

chess[x][y]=1;

whether=true;

nx=x;

ny=y;

while(change<=white)

{

nx=nx+next[j][0];

ny=ny+next[j][1];

chess[nx][ny]=1;

change++;

}

break;

}

}

if(j==7&&whether==false)

{

printf("非法的落子:該子不能翻轉對方棋子! ");

goto place;

}

}

}

system("cls");

print();

Sleep(3000);

/*白方的步驟*/

bool w=false; /*白方是否無棋可走*/

int recordj,recordk; /*記錄*/

for(j=1;j<=8;j++)

{

for(k=1;k<=8;k++)

{

bool whether=false; /*是否合法:true表示合法*/

int num=0,sum=0; /*計數*/

for(int l=0;l<=7;l++)

{

black=0;

nx=j;

ny=k;

while(1)

{

nx=nx+next[l][0];

ny=ny+next[l][1];

if((chess[nx][ny]==0)||(nx>8||nx<1||ny>8||ny<1))

{

break;

}

else if(chess[nx][ny]==1)

{

black++;

}

else if(chess[nx][ny]==2&&black>0)

{

whether=true;

w=true;

break;

}

}

if(whether==true)

{

sum+=black;

}

}

if(sum>num)

{

num=sum;

recordj=j;

recordk=k;

}

}

}

if(w==true)

{

chess[recordj][recordk]=2;

for(int m=0;m<=7;m++)

{

nx=recordj;

ny=recordk;

black=0;

while(1)

{

nx=nx+next[m][0];

ny=ny+next[m][1];

if((chess[nx][ny]==0)||(nx>8||nx<1||ny>8||ny<1))

{

break;

}

else if(chess[nx][ny]==1)

{

black++;

}

else if(chess[nx][ny]==2&&black>0)

{

int change=0;

nx=recordj;

ny=recordk;

while(change<=black)

{

nx=nx+next[m][0];

ny=ny+next[m][1];

chess[nx][ny]=2;

change++;

}

break;

}

}

}

}

else/*白方無棋可走*/

{

printf("白方無棋可走 ");

}

Sleep(1000);

system("cls");

}

return 0;

}

void print()

{

int p,q;

printf(" 1 2 3 4 5 6 7 8 ");

for(p=1;p<=8;p++)

{

printf("%d",p);

for(q=1;q<=8;q++)

{

if(chess[p][q]==1)

printf("●");

else if(chess[p][q]==2)

printf("○");

else

printf(" ");

}

printf(" ");

}

}

void calculate()

{

int pp,qq;

int bla=0,whi=0;

for(pp=1;pp<=8;pp++)

{

for(qq=1;qq<=8;qq++)

{

if(chess[pp][qq]==1)

bla++;

else if(chess[pp][qq]==2)

whi++;

}

}

printf("黑子數:%d 白子數:%d ",bla,whi);

}

J. 為什麼選擇黑白棋游戲設計這個課題

因為有圍棋就夠啦!黑白棋也是圍棋分解出來的一個分支 ...是不是你升級了新版找不到了,黑白棋顯然還有。另外不同意樓上的意見,圍棋是圍棋,黑白棋是...