Card类的设计
用的IDE为Eclipse3.4,打开它,建了个名为:CardGame的项目。并在项目里建了两个Source Folder:src/prod用于存放产品源文件,src/test用于存放测试源文件。
打牌,当然就得有牌,用Card类来代表牌,具体的一张牌,如红桃2,怎么表示?就在Card类添加一个id的属性来处理。
现在先写个测试类:TestCard。
package yxc.card.common.test;
import yxc.card.common.Card;
import junit.framework.TestCase;
public class TestCard extends TestCase {
public void testOne(){
Card card=new Card(1);
assertEquals("1","1",card.toString());
}
}
为了让此测试通过,写出了Card类:
package yxc.card.common;
public class Card {
private int id;
public Card(int id) {
this.id=id;
}
@Override
public String toString() {
return String.valueOf(id);
}
}
运行TestCard测试类,测试通过。
新出现的类都会给出完整的代码,以后修改时只给出修改部分的代码。
一副牌有54张,怎样表示其中的某一张呢?初步想法:1表示草花A、2表示草花2、...、13表示草花K、14表示方块A、...、26表示方块K、27表示红桃A、28表示红桃2、...、39表示红桃K、40表示黑桃A、41表示黑2、...、52表示黑桃K、53表示小王、54表示大王。
有了这种约定,我们要得到一张黑桃A,就new Card(40)即可、要一张方块4,new Card(17)。
Card类的初步设计先到此,感觉还顺着,以后有新的需求再改它。