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

适合电子纸屏幕的简易象棋打谱程序

除了海信手机和华为平板外,还有些其他屏幕为电子纸的安卓设备。

在下写了个.html和两个.js,仿印刷品打谱:

Screenshot_20250924_213056

这个图是截得电脑屏幕,在海信A5上显示效果更好。

为了能在浏览器里加载本地HTML文件而不是还得通过Web服务器,把棋盘和棋子图片放在了.js里:const BRD_JPG = 'data:image/jpeg;base64...

在.HTML里script src="a.js",试过了自带的、Vie、FireFox和Edge,都不能加载。所以只好把.js挪近了HTML。

然后破罐子破摔,又包了层Python,从命令行输入两个可变参数,生成(拼接出)HTML文件。好在43KB还是比视频小多了。

看到fen?可敲回车。看到moves? 可粘贴如:

[DhtmlXQ_movelist]774710227967706289798070190763647973232473637271090871616353624153634162635362415355604208386166698741622625304138316676252464655565767131332230242371616555121167751121171270755575625433304130755500021213546255526274474361412947023259484143134321414373414652547486545686675666323773704260664667464837[/DhtmlXQ_movelist]

东萍象棋网站上有很多棋谱。

还有个好处,一个帖子包含全部资源:

#!/usr/bin/python3import datetime as dt
now = dt.datetime.now()
f = open(now.strftime('%Y%m%d_%H%M%S.html'), 'w')s = r"""<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.98">
<title>打谱</title>
<style>
button {margin-left:16;width:72; height:64;font:bold 18px sans-serif;
}
.centered {position:absolute;top:50%; left:50%;transform:translate(-50%, -50%);
}
pre { display:none }
</style>
</head>
<body>
<div style="display:grid; min-height:100vh; place-items:end center">
<p style="margin:32">
<button onclick="_auto=1">自 动</button>
<button onclick="next()">前 进</button>
<button onclick="prev()">后 退</button>
</p>
</div>
<canvas width="354" height="398" class="centered" id="_canvas">ERR</canvas>
<pre id="_fen">"""
f.write(s)s = input('fen?').strip()
if len(s) == 0:s = "rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR"
f.write(s)s = r"""</pre><pre id="_moves">"""
f.write(s)s = input('moves?').strip()
s = s.replace('[DhtmlXQ_movelist]', '').replace('[/DhtmlXQ_movelist]', '')
f.write(s)s = r"""</pre><script>
const BRD_JPG = 'data:image/jpeg;base64,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'
const HEI_PNG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAEY0lEQVR42sWYz2vjVhDHZ96TZFuGeF1RXMVBsS3JTtJCD03AhVKz0EPv25TSY2+l0EOPpbALPfYPKO0/UHYp9FpYSOv+OuTWQKAY4z9gSTabZp1Y0htNL5LXpHZie2PnwQPbkp8+mpk3b76DcPWQAEDpl42NjbcBoEVEd4nodSJaTS4hIv6radohIv4mhPiFiH7tdrvBuHWuGjjpQqvV0trttgIAw/f9j+M4/iQIgneCIMDBYABRFEEURS/IpQRd1yGbzUI2mwXDMA51XX+olPqu1+s9AQABAJzMmQYmfwbXdd93XfewXC5zPp9PF1PJ28YjD0gnJdfjTCbDpVKJq9XqE9/3Px9ZX8wFU6/X7zuOk4KkEIyIPAaEJ8BFhmFwuVxm3/cfrq2tvTIL1BDG87zvbdtmIcQQ5CVmDAChZVnsuu6+4zjFaaFkClMqlRgAwglumXeGhUKBXdfdX11dtRID4MQABgDwff+BbdsMAOEMrplqJuuFxWKRPc97PGqEsZbxff89x3FiIUR0w5b5H5Rt2+x53v1JUGJra8uoVqsd0zT5BmLm2piSUtL6+nrYaDQal+NJAEAcRdFHYRj65+fnNOu2nDmnICIRxWdnZzoRfXk5HwoAkET06cnJCcMSBjMDAMjT01OOouheo9FYTbyCAABic3NzOwzDnYuLi4lBtiAr0WAwyDPzh8nGkgAAgojuBkEgmTlGRFiilbDf74NSqgUA0G63eQiUWCe9cVkDgyCAOI63m81mLnWbYOY3lVKw6GAeMwQRMRG9enR0VE0hBRGVklMblwwEcRwzEWUAoDwESpLgrQ4ppRrd9uK2gYhIGwIh4nMp5a2AICIKIRQing6BNE070HUdbsF1LKVEKeUzZv4nDSuBiH9kMpn08FtqTBuGAZqmHXS73edpiSuEEHu5XA4BQCwrDyUvzqZpAiL+BQBxq9USAABCSvmnrusdwzCW5jZmBkSUuVxOSSkfJZn6xbMbjcZXSZUYLbj0GAqFlZWV2PO8vXHlByLit6ZpPtN1XcwjU+Zx2Z07d5CZvx4nx7RE8nxWLpcXUr5eqhgjy7LY87xHE8vY3d3dtIz90bKsRdbUyjRNrtVqvUQSiUlHFgKAcByn6LrufqFQSFXHjcJks1muVCpPa7Xa9jRSSAAApFDFYnEohW7AWlE+n+dKpfK0Xq/vXKU4JkL5vv+zbdusaVq6+2ZVInGqeBOR2KlWqzujcTt1nZJ+8H3/wfr6emBZFkspU7CrtH0KESEiFwoFdhyHPc/7IRGH11oGr/mda7XaG1LKL8IwvDcYDFb6/T4EQQBKKWDm0USKUkrMZDJgmibkcjnKZrN7zPxNt9t9PKpy5mrHXO7reJ63JoT4II7jd5VSbxFRmYjkaDtGCHGkadrfUsrfAeCnTqdzMAIyVSsGp3Qhjjacms1m7vj4uGIYxmtKKZZSCqXUmVKq0+v1Tsc0MGgRCVYkPQA55X1zFX7z1hs4oXsRv+zR8x8wDaXzjeEblQAAAABJRU5ErkJggg=='
const RED_PNG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFWUlEQVR42sVYUUhbVxj+z7kx6Y0m0ZgbQ2rDUgoTTbqWZYzBNAQD2/v0ZbQ+7DVljD0UKQMLe/TFkqf1oXRPI7Li62ihs2btqA8tayg4xVEoihrNjEoh995zvj303BBr69TW9IPzknNyznf///zn//6f0f7QiEgwxoiICMBnRJQOBAIZv9/fFwqFolJK4pyzra2trY2NjafVanUGwO9nzpyZXlxcrAGo70MHANtnzsUYs4eGhty3bt362jCMbxKJxOf9/f0slUpRNBqlWCz2chPGqFwu09LSEpVKJZqZmaHHjx8/ff78eaGzs/OntbW1NQCciKDGocCIiHPOyePxfBkOh59euHABxWIRtm0DgA1AAJDYC6Hm5dzcHC5fvozTp0+vud3ubzVNc/bnhyajaRpxzscGBgYwPT3dSAK2bcO2bQghIKWsDyFEfU5K6ZCz5ufnMTIyAl3XC729vUHlfn4oy+i6fj2Xy6FardoAhBACQggcBg5BZUnz2rVr6Orqmg0EAh0HtZSmaRrpun79ypUrAGACkGrTI6OBmFkoFGAYxmxPT0+nMgDb7wITY+xqLpcDANOyrENbZT+YpgkA5s2bN+H1eu9wzp3oe21oU2tra7a/v19ub29bQgj5LskAgJQSlmUBgHnp0iW43e4xdZ/2kOLDw8NuwzDm79+/DwDibd20n/sAyEqlIs6ePWv6fL4P99wnxhhxzkcuXryoguh4yDhQVrLy+TzcbvfPe6w0PDysGYbx58OHD2UzCKknQVYqFXn+/PkdXdejux5pl8v1aTabtW3blmrxsUN9tDU6OgrO+XeMMUqn0y4iIm7bdiadTmuapkkhBDURLJvNUltbW5qI6N69eyAi4j6fL5NKper3qRlQIc8SiQRFo9EUAF0lX8bb29s/ikajRES8WYSUcuB+vx+hUMhwu91xx2o8FAp1nTp1ShmoOYQYYwSAdF1HPB73mKZ5Up3NuHwJel9Q99auu1PTNO5yud4bIXV2nQCvVqs7q6urjl+bF2KMUa1WYysrK7bL5arWCW1sbDxZXl4mIpLNIgSAGGN48eIFW1pa2rRte06dLXm1Wv2jVCrh5brmEFJ3Vi4sLFC5XH4yNja2o/IZSNO0L4aGhgDgnWf4/8tn4+PjYIz92PhSk2EYbbFY7O/FxUXpqMPjzmVSStRqNZnJZKyWlpbkrozPGCOXy/XD6OgoAFhNyvb21NSU9Pl8d9WrvUvOsmg02hmPx/999uyZOE7XOcWAEMLOZrPweDyZRpG4S756PJ7cyMhIXb4eR+ZXMtbK5/Pwer2T+8pYzjmdOHHi13w+r/5rHgcZ+8GDBwiHw/90d3cHlavYG0ugWCzWEQ6HZwuFAgCYDTXWW7nJIVMqldDX11fRdT11kFKIExEFAoEOwzBmb9y4US+FjuJCKSUaAsQqFotIJpMVIvrkTeL+taQYY5RMJjtaW1t/y+VyWFlZAQDLqdEcq71K8NUKVhWItmVZYmJiApFIZN7v9ztkDpU8uaoaqaWl5eq5c+dqExMTKJfLDrF6be9UtA1RKdW8VavVMDk5iWw2C6/X+0tPT0/nQSzD9vudcw5d1xNCiO97e3u/Ghwc9A8ODlIikaBgMEi6rssGGcE2NzfZwsICTU9P0+3bt8WjR4/u7uzsjAO4o9IFJyJ51HZMva/DOScpZTcRDbW3tw9EIpGPg8HgyXg8rgEgzjmtrq7S8vLy+vr6+l/lcrkopZzinD9pIHKgVgw7oAvZK40rnYg+IKKIOoQT0TYRzRNR1VGETvQetFl1aG2uEqDWqGmc8Zp1/Eg66aj66g3dC3mUDlkj/gPfy6yoZ/A5dQAAAABJRU5ErkJggg=='
let _ctx = _canvas.getContext('2d', {willReadFrequently:true, alpha:false})
_ctx.font = '22px serif'
let _img_brd = Array.from({length:10}, ()=>Array(9).fill(0)), _img_red, _img_hei
const S = 40, L = 0, T = 4
let _d = JSON.parse('{"r":"车", "n":"马", "b":"象", "a":"士", "k":"将", "c":"炮", "p":"卒", "B":"相", "A":"仕", "K":"帅", "P":"兵"}')
_d['R'] = _d['r']; _d['N'] = _d['n']; _d['C'] = _d['c']
let _fenary = [], _i = -1
let _auto = 0function get_img (src, fn) {let img = new Image()img.onload = () => { fn(img) }img.src = srcreturn img
}get_img(BRD_JPG, (img) => {_ctx.drawImage(img, 0, 0)for (let y = 0; y < 10; y++)for(let x = 0; x < 10; x++)_img_brd[y][x] = _ctx.getImageData(L+x*S, T+y*S, S, S)_img_red = get_img(RED_PNG, () => {_img_hei = get_img(HEI_PNG, () => {start()})})
})function draw () {let b = fen2brd(_fenary[_i])for (let y = 0; y < 10; y++)for (let x = 0; x < 9; x++) {let    px = L + x * S, py = T + y * S_ctx.putImageData(_img_brd[y][x], px, py)let c = b[y][x]if (c == ' ') continue // 0 == ' '_ctx.drawImage(c >= 'a' ? _img_hei : _img_red, px, py)_ctx.fillStyle = c >= 'a' ? 'white' : 'black'_ctx.fillText(_d[c], px + 5, py + 24)}
}function trim (s) { return s.replace(/\s+/g, '') }function start () {let s = trim(_fen.innerHTML)_fenary.push(s)let b = fen2brd(s)s = trim(_moves.innerHTML)for (let i = 0; i < s.length; i += 4) {let fx = s[i] -'0', fy = s[i+1] - '0',tx = s[i+2] -'0', ty = s[i+3] - '0'b[ty][tx] = b[fy][fx]; b[fy][fx] = ' '_fenary.push(brd2fen(b))}next()setTimeout(auto, 1000)
}function next () {_auto = 0if (_i < _fenary.length) draw(_i++)
}function prev () {_auto = 0if (_i > 0) draw(_i--)
}function auto () {setTimeout(auto, 1000)if (_auto) next(), _auto = 1
}function fen2brd (s) {try {let f = s.split('/')let b = Array.from({length:10}, ()=>Array(9).fill(0))for (let y = 0; y < 10; y++) {let x = 0for (let i = 0; i < f[y].length; i++) {let    c = f[y][i]if (c >= '1' && c <= '9') x += c - '0'else b[y][x++] = c}}return b} catch (e) { return null }
}function brd2fen (b) {let s = ''for (let y = 0; y < 10; y++) {let n = 0for (let x = 0; x < 9; x++) {let c = b[y][x]if (c == ' ') ++nelse {if (n) s += ns += c; n = 0}}if (n) s += nif (y != 9) s += '/'}return s
}
</script></body></html>"""
f.write(s)

 

http://www.hskmm.com/?act=detail&tid=16196

相关文章:

  • 0924
  • java_string比较中的细节
  • 扫描线学习笔记
  • go-reids
  • AI完美声音克隆及情绪控制,与真人无异,Lark下载介绍
  • WSL,适用于 Linux 的 Windows 子系统
  • 9-24
  • 代码随想录算法训练营第八天 |344.反转字符串、541. 反转字符串II、LCR 122. 路径加密
  • 9/24
  • 安装与卸载JDK8
  • mysql慢sql配置
  • Linux zdb -C (zfs Debugger调试器)
  • 从零开始实现简易版Netty(八) MyNetty 实现Small规格的池化内存分配
  • 测试脚本
  • 自动化测试脚本
  • 解题报告-字符串(str.*)
  • Linux 系统中的 /dev/disk/by-id/目录作用详解
  • glTF/glb:您需要知道的一切,怎么免费获取下载
  • keepalived服务器
  • P8818 [CSP-S 2022] 策略游戏
  • FortiGate连接中国联通SDWAN
  • 第五章 运算符、表达式和语句
  • 学习问题日记-2
  • 封神台复现
  • 李之一的Java第一作
  • 2025.9.24 闲话:Lucas 定理究极证明
  • Are English people good or bad
  • 9
  • Lampiao靶场渗透wp-脏牛提权
  • 画矩形