当前位置:首页 » 论文设计 » 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. 为什么选择黑白棋游戏设计这个课题

因为有围棋就够啦!黑白棋也是围棋分解出来的一个分支 ...是不是你升级了新版找不到了,黑白棋显然还有。另外不同意楼上的意见,围棋是围棋,黑白棋是...