国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java實(shí)現(xiàn)簡(jiǎn)單的五子棋小游戲

瀏覽:3日期:2022-08-22 10:30:05

五子棋游戲(Java),供大家參考,具體內(nèi)容如下

思路:

1.首先創(chuàng)建一個(gè)棋盤,建立一個(gè)二維數(shù)組,此文中為一個(gè)15*15的二維數(shù)組,2.初始化棋盤,給棋盤上個(gè)點(diǎn)賦初始值為“+”;3.打印棋盤;4.開(kāi)始游戲創(chuàng)建一個(gè)下棋的函數(shù)(playChess),黑方棋子為“●”,白方棋子為“○”,用奇偶數(shù)分別代表黑方和白方;判斷輸贏,有5個(gè)連續(xù)一樣的棋子即為贏,游戲結(jié)束

五個(gè)棋子連續(xù)條件

本來(lái)需要判斷8個(gè)方向的棋子,但由于棋子沒(méi)有方向,頭尾可調(diào)換,所以只要使得有四個(gè)方向的棋子5個(gè)連續(xù)就可以,這四個(gè)方向分別為:右邊、右上、右下、下邊(其他對(duì)應(yīng)方向也可以),如下圖所示。

Java實(shí)現(xiàn)簡(jiǎn)單的五子棋小游戲

import java.util.Scanner;public class Demo01WuZiQi { //1.創(chuàng)建一個(gè)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.開(kāi)始游戲 startGame(); } private static void startGame() { while (!isGameOver()) { if (player % 2 == 0) { //黑方下棋 System.out.println('>>>請(qǐng)黑方下棋'); playChess('●'); } else { //白方下棋 System.out.println('>>>請(qǐng)白方下棋'); 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('>>>請(qǐng)輸入棋子的坐標(biāo):'); int x = scanner.nextInt() - 1; int y = scanner.nextInt() - 1; if (board[x][y].equals('+')) { board[x][y] = chess; printBoard(); } else { System.out.println('>>>此處已有棋子,請(qǐng)重新輸入'); player--; } } public static void printBoard() { System.out.print(' '); //打印列號(hào) for (int i = 1; i <= board.length; i++) { System.out.printf('%-3d',i); } System.out.println(); for (int i = 0; i < board.length; i++) { //打印行號(hào) 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] = '+'; } } }}

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 澄江县| 克东县| 商水县| 老河口市| 阿克陶县| 嵊泗县| 三门峡市| 武穴市| 太原市| 黄陵县| 民丰县| 建平县| 宁夏| 满洲里市| 界首市| 英吉沙县| 万年县| 沛县| 德昌县| 六枝特区| 孟津县| 临安市| 德庆县| 仙居县| 平山县| 玛沁县| 大冶市| 辽阳市| 耿马| 瓦房店市| 唐河县| 芒康县| 濮阳县| 永仁县| 望城县| 和龙市| 元朗区| 卫辉市| 昌邑市| 岑溪市| 万荣县|