簡體   English   中英

javascript solitare游戲,獲取javascript檢查childNode值,是否還包含其他含義?

[英]javascript solitare game, Getting javascript to check childNode values, is there an implied else?

我正在嘗試使用javascript作為代碼的第一個solitare游戲。 我找到brainjar.com作為該項目的資源,到目前為止到目前為止還不錯。 我已經通過這種方式學習了有關javascript的負載,並且盡管基於形式,但我已經管理了游戲的原始形式。 不是整潔的,但是有些功能。

只是現在,我被卡住了。

每次我嘗試按下按鈕時進行“ if else”檢查時,東西都會發出響聲。 正如在游戲中一樣,選擇完全重置自己,或者完全拒絕工作。 我認為我一定在某個地方俯視。

代碼在這里發布會很麻煩(我是一個初學者,所有人,我都知道它很草率),但是如果有人想看一下源代碼,鏈接就在這里(警告,您可能需要縮小一點)在顯示方面,因為我尚未對此進行優化):

http://pluckzilla.com/game/clockgame.html

頂部附近的丑陋的綠色按鈕調用的功能是此功能:


//game play

//begin with 12

function twelve(){

hand12.combine(fingering);
fingering.addCard(hand12.deal());
display();


//and i need to figure out a way to make sure only the rank of queen is allowed in the stack.


}

救命?


根據要求添加詳細信息

//example on how to get the card objects to stack, and there are a lot of them. card   objects are in a separate js file

left = 0;
top  = 0;
el = document.getElementById("fingering");
while (el.firstChild != null)
el.removeChild(el.firstChild);
for (i = 0; i < fingering.cardCount(); i++) {
node = fingering.cards[i].createNode();
node.firstChild.style.visibility = "visible";
node.style.left = left + "em";
node.style.top  = top  + "em";
el.appendChild(node);
left += .20;
top  += 0.05;
} 

奇怪的是,如果像這樣設置if,幾乎就好像隱含着“ else”:

function twelve(){
if (fingering.cards[0].rank==="10")
hand12.combine(fingering);
fingering.addCard(hand12.deal());


display();

我嘗試的第一張紙牌是10,而兩張紙牌之間的交換效果很好,但隨后的紙牌卻沒有完全交換,很快手12就空了,指法最多只能有一張紙牌。 5,

這是怎么回事?

我看到brainjar宣布了一個newArray來讓二十一點游戲為玩家的手得分,但是在此游戲中並不需要真正的得分。 (如果中間有4個國王,則游戲將結束,但我尚未為該事件編寫代碼。)

javascript中是否包含諸如此類的暗示?


在那兒對MESSIAH大喊大叫,他使我的大腦有些運轉,並讓部分問題得以解決。 現在,我只需要弄清楚當卡不是正確的卡時如何使卡交換完全停止。


添加了一些代碼..可以按預期工作...

function twelve(){
if (fingering.cards[0].rank!=="10")
alert ("nonono");

if (fingering.cards[0].rank==="10")
hand12.combine(fingering); 
fingering.addCard(hand12.deal());
display();

但是,===“ 10”版本上仍會出現這種令人討厭的隱含“ else”效果,這使得新代碼無濟於事:無論是否檢查了哪張卡,都運行最后兩行。 有任何想法嗎?

啊哈!

通過聲明一個單獨的函數將兩個步驟合為一體,然后繼續運行它。

 //begin with 12

 function twelve(){
 var card;
 if (fingering.cards[0].rank!=="10")
 alert ("nonono");

 if (fingering.cards[0].rank==="10")
 cardExchange();
 display();


 //and i need to figure out a way to make sure only the rank of queen is allowed in the stack.


 }
 function cardExchange(){
 hand12.combine(fingering); 
 fingering.addCard(hand12.deal());
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM