javascript - 删除javascript中的条目时记住位置
问题描述
我正在创建一个应具有以下功能的纸牌游戏:
- 3 张牌在棋盘的位置 0、1 和 2 -> [0][1][2]
- 用户可以选择其中一张卡
- 选择的卡需要被移除,剩下的两张卡需要移动一个更高的位置。然后应该将一张新卡添加到位置 0。
示例([X] 是一张空/不存在的卡片):
- 用户在位置 2 上选卡 -> [0][1][2]
- 用户在位置 0 -> [0][X][2][3] 上选择卡片
- 用户在位置 1 上选择卡片 -> [0][1][X][3]
这个想法是,每当一张牌打到位置 5 时,除了那张牌之外,没有其他牌可以选择。我对如何创建它有点迷茫,所以我很感激任何帮助。
我目前得到以下代码来向板上添加卡片:
function addCardToBoard() {
let curCard = myDeck.getCard();
let cardHtml = "<div class='card'>" + curCard.category + "<br>" + curCard.method + "</div>";
$(cardHtml).prependTo("#cards").on("click", function() {
$(this).remove();
clickCard(curCard);
});
}
以及function clickCard(myCard){}
发现对某张卡片的点击的方法。
解决方案
这解决了这个问题。创建一个数组并添加元素,然后进一步发送卡片的索引而不是卡片本身。
function addCardToBoard() {
let curCard = myDeck.getCard();
cardsArray.unshift(curCard);
let cardHtml = "<div class='card'>" + curCard.category + "<br>" + curCard.method + "</div>";
$(cardHtml).prependTo("#cards").on("click", function() {
$(this).remove();
clickCard(cardsArray.indexOf(curCard));
});
}
推荐阅读
- react-native - 在选择器下拉列表中选择名称时如何设置状态 ID?
- javascript - 单击按钮时如何调用函数然后导航到路由?
- android - Gradle .execute 方法在 gradle 更新后显示错误
- unity3d - Unity 分析器中的 EarlyUpdate.Preloading
- android - Firebase 实时数据库数组查询问题
- angular - javascript 在一个模块文件中堆内存不足
- c# - 如何模拟自定义 ILoggerManager 进行 UnitTest
- c# - 我们可以使用 gmail 地址创建本地帐户用户吗?
- android - 如何在 DrawerLayout 内构建滑动 CardView?
- javascript - 如何在反应中按需动态导入第三方模块?