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

网站开发常用图标 图像wordpress后台产品图标

网站开发常用图标 图像,wordpress后台产品图标,哪个网站做简历免费,春哥seo博客挑战人工智能,体验经典井字棋的对决!AI 拥有强大的逻辑计算能力,每一步都经过精准推演。你能战胜它吗?还是会被 AI 彻底碾压? 特点: 智能 AI,难度可调 极简界面,快速上手 实时胜负…

挑战人工智能,体验经典井字棋的对决!AI 拥有强大的逻辑计算能力,每一步都经过精准推演。你能战胜它吗?还是会被 AI 彻底碾压?

特点:

智能 AI,难度可调
极简界面,快速上手
实时胜负统计,见证你的进步


代码如下:

import sys
from random import choice
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox, QVBoxLayout, QHBoxLayout, QLabel
from PyQt5.QtCore import Qtclass TicTacToe(QWidget):def __init__(self):super().__init__()self.setWindowTitle('井字棋游戏')self.setGeometry(100, 100, 400, 400)self.buttons = []self.current_player = 'X'  # 玩家是X,AI是Oself.game_over = Falseself.board = ['' for _ in range(9)]self.initUI()def initUI(self):# 顶部信息标签self.info_label = QLabel("玩家的回合 - 点击格子放置X", self)self.info_label.setAlignment(Qt.AlignCenter)# 创建3x3按钮网格layout = QVBoxLayout()layout.addWidget(self.info_label)for i in range(3):row = QHBoxLayout()for j in range(3):index = i * 3 + jbutton = QPushButton('', self)button.setFixedSize(100, 100)button.clicked.connect(lambda _, idx=index: self.button_clicked(idx))row.addWidget(button)self.buttons.append(button)layout.addLayout(row)# 重新开始按钮restart_button = QPushButton('重新开始', self)restart_button.clicked.connect(self.reset_game)layout.addWidget(restart_button)self.setLayout(layout)def button_clicked(self, index):if self.game_over or self.board[index] != '' or self.current_player != 'X':return# 玩家下棋self.board[index] = 'X'self.buttons[index].setText('X')self.buttons[index].setEnabled(False)# 检查游戏是否结束if self.check_winner('X'):self.info_label.setText("玩家胜利!")self.game_over = TrueQMessageBox.information(self, "游戏结束", "你赢了!", QMessageBox.Ok)return# 检查是否平局if '' not in self.board:self.info_label.setText("平局!")self.game_over = TrueQMessageBox.information(self, "游戏结束", "平局!", QMessageBox.Ok)return# AI下棋self.ai_move()def ai_move(self):self.current_player = 'O'self.info_label.setText("AI的回合...")# 简单AI: 随机选择一个空格子empty_spots = [i for i, val in enumerate(self.board) if val == '']if empty_spots:# 可以在这里实现更复杂的AI逻辑move = self.simple_ai()self.board[move] = 'O'self.buttons[move].setText('O')self.buttons[move].setEnabled(False)self.info_label.setText("玩家的回合 - 点击格子放置X")self.current_player = 'X'# 检查游戏是否结束if self.check_winner('O'):self.info_label.setText("AI胜利!")self.game_over = TrueQMessageBox.information(self, "游戏结束", "AI赢了!", QMessageBox.Ok)return# 检查是否平局if '' not in self.board:self.info_label.setText("平局!")self.game_over = TrueQMessageBox.information(self, "游戏结束", "平局!", QMessageBox.Ok)returndef simple_ai(self):# 先检查是否有必胜的机会for i in range(9):if self.board[i] == '':self.board[i] = 'O'if self.check_winner('O'):self.board[i] = ''return iself.board[i] = ''# 如果没有必胜机会,再检查是否需要阻挡玩家for i in range(9):if self.board[i] == '':self.board[i] = 'X'if self.check_winner('X'):self.board[i] = ''return iself.board[i] = ''# 如果没有必胜或阻挡的必要,尝试占据中心if self.board[4] == '':return 4# 尝试占据角位corners = [0, 2, 6, 8]empty_corners = [i for i in corners if self.board[i] == '']if empty_corners:return choice(empty_corners)# 最后选择边位edges = [1, 3, 5, 7]empty_edges = [i for i in edges if self.board[i] == '']return choice(empty_edges) if empty_edges else -1def check_winner(self, player):# 检查行for i in range(0, 9, 3):if self.board[i] == self.board[i + 1] == self.board[i + 2] == player:return True# 检查列for i in range(3):if self.board[i] == self.board[i + 3] == self.board[i + 6] == player:return True# 检查对角线if self.board[0] == self.board[4] == self.board[8] == player:return Trueif self.board[2] == self.board[4] == self.board[6] == player:return Truereturn Falsedef reset_game(self):for i in range(9):self.buttons[i].setText('')self.buttons[i].setEnabled(True)self.board = ['' for _ in range(9)]self.current_player = 'X'self.game_over = Falseself.info_label.setText("玩家的回合 - 点击格子放置X")if __name__ == '__main__':app = QApplication(sys.argv)game = TicTacToe()game.show()sys.exit(app.exec_())

效果展示:
在这里插入图片描述


文章转载自:

http://1zlY3ukn.xxzjb.cn
http://HznbajRv.xxzjb.cn
http://6CxCUj3k.xxzjb.cn
http://oWg0q9rS.xxzjb.cn
http://I6lmzpth.xxzjb.cn
http://0AoWf9o6.xxzjb.cn
http://GdsTx4g9.xxzjb.cn
http://TLpXnifJ.xxzjb.cn
http://zhTkrMk6.xxzjb.cn
http://RXMyszLi.xxzjb.cn
http://cWxG7mZG.xxzjb.cn
http://WODxBtz9.xxzjb.cn
http://zUDrNLFo.xxzjb.cn
http://evvYJBYt.xxzjb.cn
http://YlJd5XDL.xxzjb.cn
http://BpnZq6Ix.xxzjb.cn
http://JFlUCPCH.xxzjb.cn
http://ulKTogcc.xxzjb.cn
http://tKvaOsHw.xxzjb.cn
http://HcozsVAn.xxzjb.cn
http://zAAArxdC.xxzjb.cn
http://tEdu95gY.xxzjb.cn
http://kpQqXlwT.xxzjb.cn
http://Wv6m7KD3.xxzjb.cn
http://TeiIFFsI.xxzjb.cn
http://SgsGebOZ.xxzjb.cn
http://bTBKTrLR.xxzjb.cn
http://1hQepEh1.xxzjb.cn
http://0L5RKk9k.xxzjb.cn
http://E53N6z4X.xxzjb.cn
http://www.dtcms.com/wzjs/722942.html

相关文章:

  • 出台网站集约化建设通知培训中心网站建设方案
  • 做企业网站项目的心得论坛网站建设需要多少钱
  • 绿色学校网站模板百度热搜的含义
  • 网站项目建设的必要性怎么做移动端网站
  • 找网站开发合作伙伴wordpress 网站打不开
  • 北京孤儿院做义工网站网站托管服务
  • 网站设计服务企业网站域名归属权
  • 安徽网站设计与优化网站建设的完整流程
  • 百度网站推广费用多少深圳网站做优化哪家公司好
  • 潍坊哪家做网站做的最好台州椒江区热销企业网站搭建
  • 建站之星做网站wordpress本地批量传文章
  • 网站开发与管理对应的职业及岗位南京专业建站
  • 网站跟软件有什么区别是什么网站开发设计资料
  • 开发软件的成本预算网站seo优化服务
  • 门户网站开发要求正规网站制作公司有哪些
  • 给网站划分栏目dede网站地图模板
  • 意大利语网站建设公司有网站有什么好处
  • 大型网站建设公司排名小程序定制外包
  • 桂林网站优化注意事项建筑清单网
  • 随县网站建设怎么做二维码进入公司网站
  • 如此查询网站名字是否注册wordpress有什么有趣的插件
  • 怎么样给网站的服务器续费外贸上哪个网站开发客户
  • 可以做分析图的地图网站在线做试卷的网站
  • 2015做啥网站能致富商洛网站建设
  • 社区论坛自助建站网wordpress get the time
  • 什么是网站链接优化免费招聘网站平台
  • 网站建设与制作教程建筑工程造价信息网
  • 网站微信建设运维经验分享图自媒体可做外链网站
  • 网站对比网站的二维码怎么做的
  • 东兴网站建设重庆建设招标网站