您的位置:首页技术文章
文章详情页

Java实现简单的五子棋小游戏

【字号: 日期:2022-08-22 10:30:05浏览:4作者:猪猪

五子棋游戏(Java),供大家参考,具体内容如下

思路:

1.首先创建一个棋盘,建立一个二维数组,此文中为一个15*15的二维数组,2.初始化棋盘,给棋盘上个点赋初始值为“+”;3.打印棋盘;4.开始游戏创建一个下棋的函数(playChess),黑方棋子为“●”,白方棋子为“○”,用奇偶数分别代表黑方和白方;判断输赢,有5个连续一样的棋子即为赢,游戏结束

五个棋子连续条件

本来需要判断8个方向的棋子,但由于棋子没有方向,头尾可调换,所以只要使得有四个方向的棋子5个连续就可以,这四个方向分别为:右边、右上、右下、下边(其他对应方向也可以),如下图所示。

Java实现简单的五子棋小游戏

import java.util.Scanner;public class Demo01WuZiQi { //1.创建一个15*15的棋盘 public static String[][] board = new String[15][15]; public static Scanner scanner = new Scanner(System.in); public static int player = 0; public static void main(String[] args) { //2.初始化棋盘 initBoard(); //3.打印棋盘 printBoard(); //4.开始游戏 startGame(); } private static void startGame() { while (!isGameOver()) { if (player % 2 == 0) { //黑方下棋 System.out.println('>>>请黑方下棋'); playChess('●'); } else { //白方下棋 System.out.println('>>>请白方下棋'); playChess('○'); } player++; } System.out.println('Game Over'); } private static boolean isGameOver() { for (int x = 0; x < board.length; x++) { for (int y = 0; y < board[x].length; y++) { if(!board[x][y].equals('+')){ //向右 if (y < 11) { if(board[x][y].equals(board[x][y+1]) && board[x][y].equals(board[x][y+2]) && board[x][y].equals(board[x][y+3]) && board[x][y].equals(board[x][y+4])) { return true; } } //向下 if (x < 11) { if(board[x][y].equals(board[x+1][y]) && board[x][y].equals(board[x+2][y]) && board[x][y].equals(board[x+3][y]) && board[x][y].equals(board[x+4][y])) { return true; } } //向右下 if (x < 11 && y < 11) { if(board[x][y].equals(board[x+1][y+1]) && board[x][y].equals(board[x+2][y+2]) && board[x][y].equals(board[x+3][y+3]) && board[x][y].equals(board[x+4][y+4])) { return true; } } //向右上 if (x > 3 && y < 11) { if(board[x][y].equals(board[x-1][y+1]) && board[x][y].equals(board[x-2][y+2]) && board[x][y].equals(board[x-3][y+3]) && board[x][y].equals(board[x-4][y+4])) { return true; } } } } } return false; } private static void playChess(String chess) { System.out.print('>>>请输入棋子的坐标:'); int x = scanner.nextInt() - 1; int y = scanner.nextInt() - 1; if (board[x][y].equals('+')) { board[x][y] = chess; printBoard(); } else { System.out.println('>>>此处已有棋子,请重新输入'); player--; } } public static void printBoard() { System.out.print(' '); //打印列号 for (int i = 1; i <= board.length; i++) { System.out.printf('%-3d',i); } System.out.println(); for (int i = 0; i < board.length; i++) { //打印行号 System.out.printf('%-3d', i + 1); //打印每一行的棋盘 for (int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + ' '); } System.out.println(); } } public static void initBoard() { for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { board[i][j] = '+'; } } }}

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。

标签: Java
相关文章: