大家好,又见面了,我是你们的朋友全栈君。
课程设计——博客作业五子棋(201521123009 张晨晨)
•团队课程设计博客链接
•个人负责模块或任务说明
五子棋的绘制
棋盘的绘制
重新开始功能的实现
悔棋功能的实现
•自己的代码提交记录截图
•自己负责模块或任务详细说明
(1)五子棋的绘制,棋盘的绘制
public void paint(Graphics g){
setBackground(new Color(209, 167, 78));
for(int i=0;i
g.setColor(Color.BLACK);
g.drawLine(20, 20+i*gap, 640-20, 20+i*gap);
}
for(int i=0;i
g.setColor(Color.BLACK);
g.drawLine(20+i*gap, 20, 20+i*gap, 640-20);
}
for(int i=0;i
for(int j=0;j
if(Chess[i][j]==’1′){
g.setColor(Color.WHITE);
g.fillOval(5+i*gap, 5+j*gap, 30, 30);
g.drawOval(5+i*gap, 5+j*gap, 30, 30);
//a++;
}
if(Chess[i][j]==’2′){
g.setColor(Color.BLACK);
g.fillOval(5+i*40, 5+j*40, 30, 30);
g.drawOval(5+i*40, 5+j*40, 30, 30);
//a++;
}
}
}
我们棋盘的绘制选择直接绘制,棋子就是通过setColor,fillOval,.drawOval直接在棋盘上画出对应大小的圆
不过由于是直接绘制的,棋子的效果看起来并不大美观,而且有点空缺。
改进的话,希望可以把棋子改成棋子的图片,下棋的时候直接覆盖上去。
(2)重新开始功能的实现
public void restartGame(){
for(int i=0;i
for(int j=0;j
Chess[i][j]=’0′;
}
}
isBlack=true;
gameOver=false;
repaint();
}
要重新开始,则使棋子清空,使初始值为黑子,gameOver为false,并通知系统重新绘制
具体效果如下
(3)悔棋功能的实现
public void goback(){
flag = true;
System.out.println(“清除”+click_x+click_y);
int chess_x = Math.round((float)(click_x-20)/gap);
int chess_y = Math.round((float)(click_y-20)/gap);
click_X = chess_x;
click_Y = chess_y;
repaint();
Chess[chess_x][chess_y] = ‘0’;
}
建立flag来判断是否在悔棋过程中。
具体效果如下:
•课程设计感想
这次课程设计对我来说是一次很大的挑战,因为我能力有限,以前也只是仅限于在eclipse的运行界面直接运行。第一次尝试用JAVA程序做出一个五子棋游戏来,并且努力把它做完了。是一次很大的挑战,同时对我来说收获也很多。
我们在做出简单的棋盘后就会想要去更丰富自己的功能,让自己完善。添加联机对战,人机对战,选择自己的执子方等等。并且实现对界面的优化,使界面美观。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157172.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...