js 棋类游戏 轮流走一步棋 的逻辑
现在卡在一个小问题上面了。。
两个棋手(一个是人,一个是电脑AI),一人走一步棋。怎么控制呢?
我用的是 html5 的 canvas 控件。人类走棋是在 canvas 上面点击触发 onclick 事件的函数,叫这个函数human_move() 吧。
AI 走棋就是一个 AI_move() 函数。
我现在用的方法是 在 human_move() 函数内,最后执行 AI_move()。等于是把 人类和AI 的移动全部写进 onclick 事件函数里面去了。
但是后来规则要改成,人类可以选择 先手 或者 后手 走棋,那么显然不能把 AI_move() 放在 onclick 事件里面。
我现在就想把 human_move() 和 AI_move() 写到一个主要控制逻辑里面去。
尝试增加一个 step变量, 进行计数, 单数就是人类走,双数就是AI走。每次走完,steps++。
想改成大概下面这样的形式:
while( 胜负条件... )
{
if( steps % 2 == 0 ) Human_move(); // Human_move()是onclick事件函数,这样显然不对。
else if( steps % 2 == 1 ) AI_move();
}
但是怎么弄都搞不定,老是死循环。。。
请问大家有什么思路和建议???
小弟js也是才上手几天,也不是很熟。跪谢了。
相关推荐
JS实现的走迷宫小游戏完整实例
本文实例讲述了JS实现的走迷宫小游戏。分享给大家供大家参考,具体如下: 先来看看运行效果截图: 完整实例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JS打造的走迷宫游戏</title> </head> <body> [removed] function ShowMenu
基于PHP+AJAX+MySQL的在线象棋对战系统设计与实现
在Web开发中,实现实时交互是构建动态应用的核心需求之一。其基本原理在于客户端与服务器之间持续的数据交换,传统HTTP协议的无状态特性为此带来了挑战。轮询(Polling)技术作为一种经典解决方案,通过客户端定期向服务器发起请求来模拟实时更新,在特定场景下具有显著的技术价值。这种模式特别适用于对实时性要求不高、但需要状态同步的应用,例如回合制游戏、简单聊天室或状态监控面板。AJAX技术使得浏览器能够在不刷新页面的情况下异步获取数据,是实现轮询机制的关键。结合PHP处理服务器端逻辑与MySQL进行数据持久化,
Node.js-黑白棋大师是一个安卓棋类游戏
黑白棋大师,是一个安卓棋类游戏
js焦点广告轮流展示,商城广告轮流展示
js焦点广告轮流展示,代替flash,商城广告轮流展示。
用JavaScript canvas做的走迷宫游戏,肝了一下午,请帮忙点个赞!
用JavaScript canvas做的走迷宫游戏,肝了一下午,请帮忙点个赞!


