本文小编为大家详细介绍“怎么用Java实现三子棋游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用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;
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=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"
+ "输入错误,请重新输入:");
}
}
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"
+ "平局,还差一点哦");
}
}
}
读到这里,这篇“怎么用Java实现三子棋游戏”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。