av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

Java項(xiàng)目實(shí)現(xiàn)五子棋小游戲

瀏覽:92日期:2022-09-01 08:59:11

本文實(shí)例為大家分享了Java實(shí)現(xiàn)五子棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下

項(xiàng)目名稱

五子棋小游戲

項(xiàng)目描述

可以改變獲勝棋子數(shù),率先連成棋數(shù)的人獲勝

代碼實(shí)現(xiàn)

測試類

public class Test { public static void main(String[] args) { FiveChess fiveChess = new FiveChess(); fiveChess.start(); }}

主類:實(shí)現(xiàn)主方法

public class FiveChess { private static final int CheckerSize = 10; private static final int successSize = 5; private Chess[][] chess; private int xPos; private int yPos; private boolean flag = true; private Scanner scanner = new Scanner(System.in); public FiveChess(){ chess = new Chess[CheckerSize][CheckerSize]; } private void initCheck(){ for(int i=0;i<CheckerSize;i++){ for(int j=0;j<CheckerSize;j++){ chess[i][j] = new Chess('十'); } } } private boolean judge(int xPos,int yPos){ //橫向 if(yPos-1>=0 && chess[xPos][yPos].getValue().equals(chess[xPos][yPos-1].getValue()) || yPos+1<CheckerSize && chess[xPos][yPos].getValue().equals(chess[xPos][yPos+1].getValue())){ int count = 1; for (int i = 1; i < successSize; i++) { if (yPos - i >= 0 && chess[xPos][yPos - i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } for (int i = 1; i < successSize; i++) { if (yPos + i < CheckerSize && chess[xPos][yPos + i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } return count >= successSize ? true : false; } //縱向 if (xPos-1>=0 && chess[xPos][yPos].getValue().equals(chess[xPos-1][yPos].getValue()) || xPos+1<CheckerSize && chess[xPos][yPos].getValue().equals(chess[xPos+1][yPos].getValue())){ int count = 1; for (int i = 1; i < successSize; i++) { if (xPos- i >= 0 && chess[xPos-i][yPos].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } for (int i = 1; i < successSize; i++) { if (xPos + i < CheckerSize && chess[xPos+i][yPos].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } return count >= successSize ? true : false; } //正斜線 if (xPos-1>=0 && yPos-1>=0 && chess[xPos][yPos].getValue().equals(chess[xPos-1][yPos-1].getValue()) || xPos+1<CheckerSize && yPos+1<CheckerSize && chess[xPos][yPos].getValue().equals(chess[xPos+1][yPos+1].getValue())){ int count = 1; for (int i = 1; i < successSize; i++) { if (xPos - i >= 0 && yPos - i >= 0 && chess[xPos-i][yPos-i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } for (int i = 1; i < successSize; i++) { if (xPos + i < CheckerSize && yPos + i < CheckerSize && chess[xPos+i][yPos+i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } return count >= successSize ? true : false; } //反斜線 if (xPos-1>=0 && yPos+1<CheckerSize && chess[xPos][yPos].getValue().equals(chess[xPos-1][yPos+1].getValue()) || xPos+1<CheckerSize && yPos-1>=0 && chess[xPos][yPos].getValue().equals(chess[xPos+1][yPos-1].getValue())){ int count = 1; for (int i = 1; i < successSize; i++) { if (xPos - i >= 0 && yPos + i<CheckerSize && chess[xPos-i][yPos+i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } for (int i = 1; i < successSize; i++) { if (xPos + i < CheckerSize && yPos - i >= 0 && chess[xPos+i][yPos-i].getValue().equals(chess[xPos][yPos].getValue())) { count++; } else { break; } } return count >= successSize ? true : false; } return false; } private void runChess(String run){ System.out.println('請(qǐng)輸入'+run+'坐標(biāo):'); xPos = scanner.nextInt(); yPos = scanner.nextInt(); if(chess[xPos-1][yPos-1].getValue().equals('十')){ if(run.equals('黑棋')){ chess[xPos-1][yPos-1] = new Chess('●'); } else if(run.equals('白棋')){ chess[xPos-1][yPos-1] = new Chess('?'); } for(int i=0;i<CheckerSize;i++){ for (int j=0;j<CheckerSize;j++){ System.out.print(chess[i][j].getValue()); } System.out.println(); } if(judge(xPos-1,yPos-1)){ flag = false; System.out.println(run+'獲勝'); System.out.println('游戲結(jié)束,是否重玩'); String finish = scanner.next(); if (finish.equals('是')){ flag = true; start(); } else if (finish.equals('否')){ System.exit(0); } } }else { System.out.println('該處已存在棋子,請(qǐng)重新選擇'); runChess(run); } } public void start(){ initCheck(); System.out.println('請(qǐng)選擇先走方:黑棋or白棋'); String run = scanner.next(); for(int i=0;i<CheckerSize;i++){ for (int j=0;j<CheckerSize;j++){ System.out.print(chess[i][j].getValue()); } System.out.println(); } while (flag) { switch (run) { case '黑棋': runChess('黑棋'); run = '白棋'; break; case '白棋': runChess('白棋'); run = '黑棋'; break; default: } } }}

結(jié)點(diǎn)類

public class Chess { private String value; public Chess(String value){ this.value = value; } public String getValue() { return value; }}

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

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

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

python俄羅斯方塊游戲集合

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

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本亚洲欧美 | 97免费在线视频 | 久久精品国产视频 | 欧美日韩专区 | 日韩av免费看 | 国产精品一区二区免费 | 五月婷婷综合网 | 99在线视频免费观看 | 91久久在线| 国产精品国产精品国产专区不卡 | 欧美日韩激情视频 | 亚洲视频在线免费观看 | 欧美一级色 | 亚洲 欧美 日韩 在线 | 在线观看免费毛片 | 天天cao| 男人午夜影院 | 一区二区视频在线 | 成年人免费看片 | 天天视频国产 | 中文字幕av一区 | 国产二区视频在线观看 | 亚洲三区在线 | 国产一级特黄aaa大片 | 久操精品 | 美国特色黄a大片 | 日韩一区二区中文字幕 | 国产精品美女在线观看 | 午夜爱 | 露出调教羞耻91九色 | 国产一区二区日韩 | 黄视频网站在线观看 | 干少妇视频 | 免费啪视频 | 综合网伊人 | 少妇xxxx69 | 久操伊人 | 一级片国产 | 在线播放中文字幕 | 操小妹影院 | 亚洲免费成人 |