2014-03-26 72 views
-1

我正在使用一些代碼。我有一個字符的文件看起來像這樣:如何從CoffeeScript中的另一個函數借用參數?

character = (name,level,health,species,admin,donor,weapon) -> 
    alert "Name = "+name 
    alert "Level = "+level 
    alert "Species = "+species 
    if admin = (true) 
     alert "He is an Admin" 

    if donor = (true) 
     alert "Thanks" 

    alert "What a shiny "+weapon 

我也有個攻擊文件是這樣的:

attack = (name,weapon,target,damage) -> 
    alert name 
    alert weapon 
    alert target 
    alert damage 

我想有healthdamage減去。我不知道如何借用一個參數。我會怎麼做?

+0

'如果管理員=(真)'是一樣的寫作'如果管理員= TRUE;並且並不比任何東西。 – TheHippo

+2

角色應該是一個階級,然後你可以製作一個角色的實例,'攻擊'可以操縱其成員。 [這是一個關於咖啡文本類的指南](http://arcturo.github.io/library/coffeescript/03_classes.html)...但是它假設你聽起來像是「類」這個概念的知識還沒有。閱讀有關面向對象的編程,可能需要一些時間。 – Ricket

回答

0

這可能是更接近你的想法可能看起來像在CoffeeScript中

class Character 
    constructor: (@name, @level, @health, @species, @admin, @donor, @weapon) -> 
     console.log "Name = " + @name 
     console.log "Level = " + @level 
     console.log "Species = " + @species 
     if @admin is yes 
       console.log "#{@name} is an Admin" 

     if @donor is yes 
       console.log "Thank you for donating #{@name}" 

     console.log "What a shiny " + @weapon 

    attackedBy: (attacker, target, damage) => 
     @health -= damage; 
     console.log "#{attacker.name} did #{damage} points of damage when attacking #{@name}'s' #{target}" 
     console.log "#{@name} now has #{@health} health" 

bob = new Character 'Bob', 1, 100, 'Dwarf', no, yes, 'Pole staff' 
frank = new Character 'Frank', 1, 50, 'Human', yes, no, 'Short sword' 

bob.attackedBy frank, 'Head', 40 
相關問題