首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏MikeC's Blog

    【题解】Gregor and the Pawn Game

    A pawn can move one square up (from (i,j) to (i-1,j) ) if there is no pawn in the destination square. Additionally, a pawn can move one square diagonally up (from (i,j) to either (i-1,j-1) or (i-1,j+1) if and only if there is an enemy pawn in that square. The enemy pawn is also removed. Also, when Gregor's pawn reaches row 1 , it is stuck and cannot make any further moves.

    48320编辑于 2022-09-21
  • 来自专栏个人学习总结

    做题总结——Pawn’s Revenge

    做题总结——Pawn’s Revenge 题目描述 ? 这道题目自己一开始时也没有思路(后来才发现其实也并不难,实在是学的不太好),后来从网上查找了一些资料,大概明白了这道题目的思路。 这道题目是在已经有且只有一个K棋子的情况下,通过增加最少数量的的pawn棋子,能够将对方的所有的*棋子全部攻击到,其中K能够攻击其余八个方向,pawn棋子只能攻击左上角以及右上角两个方向。 然后,开始从第一行第一列的棋子进行遍历,如果该棋子是星棋并且未被访问,则先判断右下角的棋子是否是空,如果为空则可以放pawn棋子,将该星棋标记为已访问,同时放下的pawn棋子的右上角的棋子无论是否是星棋 如果右下角无法放pawn棋,再判断左下角是否可以放下pawn棋,如若可以则将星棋标记为已访问(这里不需要再将放置的pawn棋的左上角的棋标记已访问,因为左上角的棋一定比右上角的棋先进行遍历判断)。

    57320发布于 2021-01-26
  • 来自专栏太阳影的学习记录

    关于监听输入功能应该在PlayerController还是Pawn

    PlayerController原本就是充当Pawn与玩家之间的接口,接受输入来控制Pawn。而且Pawn在关卡中可能会因为条件触发被销毁(如角色血量降低到0,死亡,那么就会销毁Pawn)。 所以监听输入、分数记录等需要在游戏过程中一直存在的功能就应该放在PlayerController中,而不是Pawn中。 所以最后应该是Controller来指示Pawn怎么做,Pawn执行,而不是将所有逻辑放在Pawn中。 而且,在多人游戏,或者游戏角色能够自由切换模型(例如躲猫猫模式)的游戏模式中,如果直接将输入监听功能集成在Pawn中,那么写起来会非常不方便。 参考 PlayerController

    1.1K20发布于 2021-10-15
  • 来自专栏计算机图形学 前端可视化 WebGL

    UE 实现镜头平移,旋转和缩放

    添加摄像头组件 接着上一篇文章 《UE 实现鼠标点选模型》,打开A_Pawn蓝图类,添加摄像头组件 图片 添加完成后如下所示: 图片 添加完成后,就可以通过对Pawn的控制来达到对镜头的控制。 因为镜头是改Pawn的孩子,Pawn的改变会影带动镜头的变化。 添加"浮动pawn移动"组件 "浮动pawn移动"组件为Pawn类提供了简单的运动的能力,指定"浮动pawn移动"组件之后,Pawn类就可以被控制移动。 监听到了MoveForward之后,就是控制Pawn的前后移动,通过“添加移动输入” 可以控制Pawn的移动: 图片 其中目标是Pawn类,此处使用self即可(Pawn类自身,World Direction 获取Pawn自身的旋转方向作为World Direction的输入。通过获取控制旋转,然后在通过控制旋转获取向前的向量获取Pawn向前的向量。

    4.2K20编辑于 2022-09-28
  • 来自专栏计算机图形学 前端可视化 WebGL

    UE 实现鼠标点选模型

    重载Pawn 我们的蓝图在一个重载的Pawn类里面实现,Pawn 是可那些由玩家或 AI 控制的所有 Actor 的基类。Pawn 是玩家或 AI 实体在游戏场景中的具化体现。 这说明, Pawn 不仅决定了玩家或 AI 实体的外观效果,还决定了它们如何与场景进行碰撞以及其他物理交互。 不过,无论如何,Pawn 仍代表着玩家或实体在游戏中的物理方位、旋转角度等。Character 是一种特殊的、可以行走的 Pawn。 有关Pawn的更多知识,Pawn 再内容浏览器里面右键,新建蓝图->蓝图类: 图片 选择Pawn: 图片 然后在浏览器里面输入命名: 图片 双击新建的蓝图类,进入蓝图编辑页面。 重写了Pawn类之后,在程序的设置中,需要把模型的Pawn改成我们重写的Pawn类,才能生效,如下图所示: 图片 结语 本文说明了通过射线的方法检测鼠标点击模型的功能。

    2.8K31编辑于 2022-10-05
  • 来自专栏Web行业观察

    数字孪生:第三人称鼠标操作

    弹簧臂下挂一个相机,相机下再挂一个灯,这样万一移动到封闭空间,可以照亮周围,最后再加一个Floating Pawn Movement,使得运动时更有“惯性”。 激活鼠标 pawn初始化的时候要显示鼠标光标,并启用点击事件,这样后续的操作才有意义。 前进与后退(zoom) 因为相机的朝向始终与弹簧臂共线,因此相机永远面向pawn,前进则表示缩短臂长(靠近pawn),后退表示延长臂长(远离pawn),数字孪生常见的做法是用鼠标滚轮的2个方向来表示 被绕的这个物体就是pawn本身,及焦点,相机旋转时,物体也随之旋转,只不过都是绕焦点旋转。 鼠标沿横轴移动时,只需要让pawn沿自身坐标系的Y轴移动即可,但鼠标纵轴移动时,情况稍微复杂一点,pawn需要沿着面前的世界水平线运动,也就是俯仰时,弹簧臂扫过的平面与水平面的交线,然后计算这条线在自身坐标系中的

    1.5K31编辑于 2022-08-31
  • [数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别

    xml文件个数):300 标注数量(txt文件个数):300 标注类别数:12 标注类别名称:[“black_bishop”,“black_king”,“black_knight”,“black_pawn ”,“black_queen”,“black_rook”,“white_bishop”,“white_king”,“white_knight”,“white_pawn”,“white_queen”,“white_rook ”] 每个类别标注的框数: 序号 类别名称 框数 1 black_bishop 25 2 black_king 25 3 black_knight 25 4 black_pawn 25 5 black_queen 25 6 black_rook 25 7 white_bishop 25 8 white_king 25 9 white_knight 25 10 white_pawn 25 11 white_queen

    14500编辑于 2025-07-21
  • 来自专栏岚的工作随笔

    React | 借助Pragmatic Drag and Drop实现高性能拖拽

    初始化位置 const pieces: PieceRecord[] = [ { type: 'king', location: [3, 2] }, { type: 'pawn [pieces, setPieces] = useState<PieceRecord[]>([ { type: 'king', location: [3, 2] }, { type: 'pawn /Chessboard";const king = '/icon/king.png';const pawn = '/icon/pawn.png';/** 棋子类型 */export type PieceType '} image={pawn} alt="Pawn" /> ); } export const pieceLookup: { [Key in PieceType]: (location: [number, number]) => ReactElement; } = { king: location => <King location={location} />, pawn

    1.5K40编辑于 2024-05-05
  • 来自专栏python3

    x01.xiangqi: 走动棋子

    BoardEdge = 8 PieceSize = 56 # piece type King = 0 Advisor = 1 Bishop = 2 Knight = 3 Rook = 4 Cannon = 5 Pawn , "bp.bmp", (0,3)), Piece(0, Pawn, "bp.bmp", (2,3)), Piece(0, Pawn, "bp.bmp", (4,3)),Piece(0, Pawn , "bp.bmp", (6,3)),Piece(0, Pawn, "bp.bmp", (8,3)), # red Piece(1, King, "rk.bmp", (4,9) , "rp.bmp", (0,6)), Piece(1, Pawn, "rp.bmp", (2,6)), Piece(1, Pawn, "rp.bmp", (4,6)),Piece(1, Pawn , "rp.bmp", (6,6)),Piece(1, Pawn, "rp.bmp", (8,6)), # selected Piece(2, Selected, 'selected.bmp

    78330发布于 2020-01-16
  • 来自专栏六月-游戏开发

    sluaunreal插件使用样例

    MyGameInstance 然后就可以编写lua文件了 在项目Content文件夹下创建文件夹名为Lua,然后用vscode打开Content文件夹,在Lua文件夹下创建MyPawn.lua,代码如下: local pawn = {} function pawn:ReceiveBeginPlay() print("this is MyPawn print") end return pawn 然后打开UE4在Content

    1.1K10编辑于 2022-12-26
  • 来自专栏操作系统实验

    LaTeX基础操作

    \end{itemize} \item \textbf{Pawn Breaks}: \begin{itemize}[nosep] \item Advance pawns \item Use pawn breaks to open lines for your pieces. \end{itemize} \item \textbf{Pawn Structure}: \begin{itemize}[nosep] \item Maintain a solid pawn structure to prevent weaknesses. \item Avoid pawn islands.

    1.5K10编辑于 2024-03-12
  • 天远大数据 - 企业风险报告(专业版)API接口文档

    名称MAB_PAWN_OWNERstring所有权或使用权归属MAB_PAWN_DETAILSstring数量、质量、状况、所在地等情况MAB_PAWN_RMKstring备注MAB_PAWN_URLstring 登记编号STK_PAWN_CZPERstring出质人STK_PAWN_CZCERNOstring出质人证件/证件号STK_PAWN_CZAMTstring出质股权数额STK_PAWN_ZQPERstring 质权人姓名STK_PAWN_ZQCERNOstring质权人证件/证件号STK_PAWN_REGDATEstring质权出质设立登记日期STK_PAWN_STATUSstring状态STK_PAWN_DATEstring 公示日期URLstring关联内容2.1.2.27 股权出质信息-变更信息参数名类型说明STK_PAWN_BGNRstring变更内容STK_PAWN_BGRQstring变更日期URLstring关联内容 2.1.2.28 股权出质信息-注销信息参数名类型说明URLstring关联内容STK_PAWN_DATEstring注销日期STK_PAWN_RESstring注销原因2.1.2.29 抽查检查参数名类型说明

    26110编辑于 2025-08-23
  • 来自专栏计算机图形学 前端可视化 WebGL

    Cesium for Unreal加载倾斜摄影

    添加Dynamic Pawn DynamicPawn 是插件定制的基于Cesium场景的一个Pawn对象,赋予了基于地球的运动方式,此处也不详细说明。 实际上DynamicPawn不是必须的,也可以自己写一个Pawn 类来进行操作。 对于较小场景,可以自己进行Pawn类的编写适合自己的操作习惯。

    3.2K30编辑于 2023-01-08
  • 来自专栏四楼没电梯

    中国象棋 AI 策略实现:从启发式评估到 AlphaZero MCTS

    10000; VAL[R_ROOK]=900; VAL[R_CANNON]=450; VAL[R_HORSE]=400; VAL[R_ADV]=120; VAL[R_ELE]=120; VAL[R_PAWN PST 的作用: 同一枚棋子在不同位置价值不同 能表达布局观念 能自动学习“兵过河更强”“车抢肋道”等行为 示例:兵的 PST(简化版): const PST_PAWN_RED = new Int16Array = 14; export const B_KING = 16, B_ADV = 17, B_ELE = 18, B_HORSE = 19, B_ROOK = 20, B_CANNON = 21, B_PAWN ||p===B_PAWN){ const forward = (p & COLOR_RED)? [i-1] === R_PAWN) redScore += 20; if (c < 8 && this.board[i+1] === R_PAWN) redScore += 20

    1K10编辑于 2025-11-22
  • 来自专栏逍遥剑客的游戏开发

    UE4学习笔记(一): 基本概念

    只存在于服务器端 GameState: 管理游戏状态,  Pawn: 可以被玩家或者AI控制的Actor Character: 人形的Pawn.

    69270发布于 2018-05-21
  • 来自专栏全栈程序员必看

    UE4 GamePlay架构学习篇

    AI有自己的独立控制器,在Pawn上面进行设置即可。可在蓝图中选择,在这里还会衍生出AITree等一系列的AI模块的东西。 1>一般我们在这里面处理监听玩家的输入,当然也可以在Characer上面做,因为Pawn和Controller是一个相互持有的关系,Character又继承自Pawn。 PlayerCameraManager相机管理 用于播放相机动画, 以及ShakeCamera 屏幕震动效果等 6>作弊的管理 7>网络连接 8>旁观者 9>替换角色的功能,比如运行中我们要切换门派,将整个Pawn

    2K30编辑于 2022-11-09
  • 来自专栏FreeBuf

    快速扩散的Google Docs钓鱼攻击:一键接管你的Gmail邮箱

    这种攻击手段实际上与上周趋势科技的报告中Pawn Storm黑客组织的手法很相似。“兵风暴(Pawn Storm)”行动是一场被指由俄罗斯政府支持的黑客组织所进行的网络间谍活动。 报告中,Pawn Storm所使用的钓鱼手法是弹出伪造成Google安全警告的提示,命名为”Google Defender”。

    1.8K80发布于 2018-02-24
  • 来自专栏逍遥剑客的游戏开发

    UE4学习笔记(一): 基本概念

    只存在于服务器端 GameState: 管理游戏状态,  Pawn: 可以被玩家或者AI控制的Actor Character: 人形的Pawn.

    1.2K30发布于 2019-02-20
  • 来自专栏杂谈

    UE5游戏引擎-项目教程-猎户座漂浮小岛01

    Orion 创建目录结构 资源下载使用 虚拟学习工具包 修改地图 复制BlockGame下的地图到_Orion下的地图中 重命名为OrionMap 编辑-项目设置-地图和模式-默认地图 修改游戏模式和Pawn

    18510编辑于 2024-09-29
  • 【CodeForces】559C - Gerald and Giant Chess(dp & 逆元 & 容斥原理)

    Gerald has almost won, and the only thing he needs to win is to bring the pawn from the upper left corner The pawn, which Gerald has got left can go in two ways: one cell down or one cell to the right. pawns or pieces left on the field, so that, according to the rules of giant chess Gerald moves his pawn Output Print a single line — the remainder of the number of ways to move Gerald's pawn from the upper

    41510编辑于 2025-08-26
领券