当前位置: 首页 > news >正文

十大舆情网站网络营销公司哪家好

十大舆情网站,网络营销公司哪家好,商城小程序定制,wordpress 微信朋友圈五子棋是一种双人对弈的棋类游戏,通常在棋盘上进行。棋盘为 1515 的方格,黑白双方各执棋子,轮流在棋盘的格点上落子,先在横、竖、斜线上形成五个相连的同色棋子者获胜。五子棋规则简单,易学难精,兼具攻防和…

五子棋是一种双人对弈的棋类游戏,通常在棋盘上进行。棋盘为 15×15 的方格,黑白双方各执棋子,轮流在棋盘的格点上落子,先在横、竖、斜线上形成五个相连的同色棋子者获胜。五子棋规则简单,易学难精,兼具攻防和谋略,是一种极具智慧和趣味性的游戏。

以下是使用Java编写的五子棋游戏的示例代码:

棋盘类:

public class ChessBoard {private int[][] board;private final int rows;private final int cols;private final int winCount;public ChessBoard(int rows, int cols, int winCount) {this.rows = rows;this.cols = cols;this.winCount = winCount;board = new int[rows][cols];}public int getRows() {return rows;}public int getCols() {return cols;}public int getWinCount() {return winCount;}public int getChessman(int row, int col) {return board[row][col];}public boolean canPutChessman(int row, int col) {return board[row][col] == 0;}public void putChessman(int row, int col, int player) {board[row][col] = player;}public boolean isFull() {for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (board[i][j] == 0) {return false;}}}return true;}public boolean hasWinner(int player) {for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (board[i][j] == player) {if (checkHorizontal(i, j, player)) {return true;}if (checkVertical(i, j, player)) {return true;}if (checkDiagonal1(i, j, player)) {return true;}if (checkDiagonal2(i, j, player)) {return true;}}}}return false;}private boolean checkHorizontal(int row, int col, int player) {int count = 1;for (int j = col + 1; j < cols && board[row][j] == player; j++) {count++;}for (int j = col - 1; j >= 0 && board[row][j] == player; j--) {count++;}return count >= winCount;}private boolean checkVertical(int row, int col, int player) {int count = 1;for (int i = row + 1; i < rows && board[i][col] == player; i++) {count++;}for (int i = row - 1; i >= 0 && board[i][col] == player; i--) {count++;}return count >= winCount;}private boolean checkDiagonal1(int row, int col, int player) {int count = 1;for (int i = row + 1, j = col + 1; i < rows && j < cols && board[i][j] == player; i++, j++) {count++;}for (int i = row - 1, j = col - 1; i >= 0 && j >= 0 && board[i][j] == player; i--, j--) {count++;}return count >= winCount;}private boolean checkDiagonal2(int row, int col, int player) {int count = 1;for (int i = row + 1, j = col - 1; i < rows && j >= 0 && board[i][j] == player; i++, j--) {count++;}for (int i = row - 1, j = col + 1; i >= 0 && j < cols && board[i][j] == player; i--, j++) {count++;}return count >= winCount;}}

游戏界面类:

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;public class GameUI extends JFrame {private final int rows;private final int cols;private final int winCount;private ChessBoard board;private int currentPlayer;private boolean gameOver;private final JPanel panel;public GameUI(int rows, int cols, int winCount) {this.rows = rows;this.cols = cols;this.winCount = winCount;setTitle("五子棋");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(cols * 40, rows * 40); // 每个棋子为正方形,大小为40setLocationRelativeTo(null);currentPlayer = 1;board = new ChessBoard(rows, cols, winCount);gameOver = false;panel = new JPanel() {@Overridepublic void paintComponent(Graphics g) {super.paintComponent(g);for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {int chessman = board.getChessman(i, j);if (chessman == 1) {g.setColor(Color.BLACK);g.fillOval(j * 40 + 5, i * 40 + 5, 30, 30);} else if (chessman == 2) {g.setColor(Color.WHITE);g.fillOval(j * 40 + 5, i * 40 + 5, 30, 30);g.setColor(Color.BLACK);g.drawOval(j * 40 + 5, i * 40 + 5, 30, 30);}}}}};panel.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (gameOver) {return;}int col = e.getX() / 40;int row = e.getY() / 40;if (row < rows && col < cols && board.canPutChessman(row, col)) {board.putChessman(row, col, currentPlayer);panel.repaint();if (board.hasWinner(currentPlayer)) {gameOver = true;System.out.println("Player " + currentPlayer + " wins.");} else if (board.isFull()) {gameOver = true;System.out.println("Tie game.");} else {currentPlayer = 3 - currentPlayer; // 切换玩家}}}});add(panel);setVisible(true);}}

主程序:

public class Main {public static void main(String[] args) {new GameUI(15, 15, 5);}}

在主程序中创建游戏界面对象,传入行数、列数和获胜所需连续棋子个数,即可开始游戏。

效果如下:

快去体验一下吧!

http://www.fp688.cn/news/142213.html

相关文章:

  • wordpress评论不准设置网站seo的工具有哪些
  • 外贸网站cms怎么优化网络
  • 装修网络布线广东seo网站设计
  • 北京公司网站制作方法百度关键词搜索怎么弄
  • 模板网站什么意思百度权重工具
  • 网站建设应注意什么广东seo点击排名软件哪家好
  • 西安网络科技有限公司有哪些seo专业知识培训
  • 泰州做网站多少钱上海关键词优化的技巧
  • 电工应用技术网站资源建设百度ai人工智能
  • 苏州做网站专业的公司淘宝流量网站
  • 南京制作网站优化厦门零基础学seo
  • 闽侯福州网站建设seo查询爱站
  • 公司网站制作要百度网站优化软件
  • 成为网站有哪些网址?成都seo培训
  • 做招聘网站毕业设计秦皇岛seo招聘
  • 什么是网站原创文章站内营销推广方式
  • html做的网站怎么发布外包网站有哪些
  • 广州佛山建立网站的公司网站建站哪家公司好
  • 创建iis网站南京网站制作
  • iis 设置网站权限百度热搜关键词排名
  • wordpress会员收费权限青岛seo推广专员
  • 做木业网站怎样起名宁波网站推广网站优化
  • 网站公安备案号深圳市网络品牌推广
  • 核酸检测是否收费外汇seo公司
  • 餐厅网站建设文案书一般网站推广要多少钱
  • 德州专业网站开发公司什么是搜索引擎优化?
  • 龙泉市住房和城乡建设局网站网站首页制作
  • 西安网站建设求职简历网络营销sem培训
  • 一个商城网站多少钱百度认证证书
  • 项目网络计划图seo排名怎么样