我正在学习Ruby编程在线课程,因此我需要制作5张纸牌抽奖游戏作为项目之一。一切顺利,直到我意识到Ace可以有两个值。
到目前为止,我已经完成了3个班级:卡牌,牌组和手牌。我目前正在上手形课。其他两个类如下:
var getDaysInMonth = function(year, month) {
var names = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
var date = new Date(year, month + 1, 0);
var days = date.getDate();
var dayList = [];
for (i = days; days > 0; days--) {
date.setDate(date.getDate() + 1);
dayList.push((dayList.length + 1) + '-' + names[date.getDay()]);
}
return dayList;
}
class Card
attr_reader :number, :sign, :color
def initialize(number, sign, color)
@number = number
@sign = sign
@color = color
end
end
因此,当我开始编写“扑克手手”课程时,就会出现问题。我不确定如何处理Ace,因为Ace的值可以为1或15。欢迎任何帮助/建议。
答案 0 :(得分:1)
“王牌可以有两个值”不是正确的思考方式。总是让Ace很高。然后,在检查直线度的代码中,必须对轮子进行特殊处理。也就是说,一条顺子被定义为“按排名顺序排列5张牌,或A-2-3-4-5”。