Java实现三子棋游戏(java做五子棋游戏)

网友投稿 283 2022-08-01


本文实例为大家分享了java实现三子棋游戏的具体代码,供大家参考,具体内容如下

一、题目要求

编写程序,实现简单的三子棋游戏。在三子棋中,双方在3×3的棋盘中轮流下棋,一方用*示,另一方用O表示。如果一方的3个棋子占据了同一行,同一列或者对角线,则该方获胜。如果棋盘已被棋子占满,但没有一方获胜则出现平局。在程序中,一方为用户,用户在界面上输入每次下棋的位置;另一方下棋的位置为随机自动生成。

二、代码示例

import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {

char []s=new char[9];

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

s[i]=(char)(i+49);

}

int i=0;

http://while(i++<5) {

String str=JOptionPane.showInputDialog("------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "请输入位置:");

while(str.length()==0||(str.charAt(0)-49)<0||(str.charAt(0)-49)>8) {

str=JOptionPane.showInputDialog("------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "输入错误,请重新输入:");

}

char index=str.charAt(0);

while(s[index-49]=='*'||s[index-49]=='o') {

str=JOptionPane.showInputDialog("------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "此位置已占用,请重新输入:");

index=str.charAt(0);

while(str.length()==0||(str.charAt(0)-49)<0||(str.charAt(0)-49)>8) {

str=JOptiolIcCrfLuQCnPane.showInputDialog("------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "输入错误,请重新输入:");

}

}

s[index-49]='*';

if((s[0]=='*'&&s[3]=='*'&&s[6]=='*')||

(s[1]=='*'&&s[4]=='*'&&s[7]=='*')||

(s[2]=='*'&&s[5]=='*'&&s[8]=='*')||

(s[0]=='*'&&s[1]=='*'&&s[2]=='*')||

(s[3]=='*'&&s[4]=='*'&&s[5]=='*')||

(s[6]=='*'&&s[7]=='*'&&s[8]=='*')||

(s[0]=='*'&&s[4]=='*'&&s[8]=='*')||

(s[2]=='*'&&s[4]=='*'&&s[6]=='*'))

{

JOptionPane.showMessageDialog(null, "------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "恭喜你赢了");

break;

}

int b=(int)(Math.random()*9);

while(s[b]=='*'||s[b]=='o')

{

b=(int)(Math.random()*9);

}

s[b]='o';

if((s[0]=='o'&&s[3]=='o'&&s[6]=='o')||

(s[1]=='o'&&s[4]=='o'&&s[7]=='o')||

(s[2]=='o'&&s[5]=='o'&&s[8]=='o')||

(s[0]=='o'&&s[1]=='o'&&s[2]=='o')||

(s[3]=='o'&&s[4]=='o'&&s[5]=='o')||

(s[6]=='o'&&s[7]=='o'&&s[8]=='o')||

(s[0]=='o'&&s[4]=='o'&&s[8]=='o')||

(s[2]=='o'&&s[4]=='o'&&s[6]=='o'))

{

JOptionPane.showMessageDialog(null, "------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "失败了,再接再励");

break;

}

}

if(i==6) {

JOptionPane.showMessageDialog(null, "------------------\n"

+"| "+s[0]+" | "+s[1]+" | "+s[2]+" |\n"

+"| "+s[3]+" | "+s[4]+" | "+s[5]+" |\n"

+"| "+s[6]+" | "+s[7]+" | "+s[8]+" |\n"

+"------------------\n"

+ "平局,还差一点哦");

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JavaSE实现三子棋游戏(基于java的五子棋游戏)
下一篇:Java中for与foreach的区别(foreach和for的区别)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~