简单想法学习写21点游戏(一)
- (以此记录学习体会)
年已半百,仅初中时学过点Basic,高数、英语早已丢给大学老师,看着这部分面向对象编程,经常有种感受:眼睛,会了!;脑,不会!。什么对象啊,类方法啊,静态方法啊,装饰器啊,都像传说中的东西。本着实践出真知的精神,那还是先搞一下吧,写写这个21点游戏练练,教程里起码有部分代码示范。依惯例,先CTRL+C,CTRL+V。
import random
class Card(object):
"""一张牌"""
def __init__(self, suite, face):
self._suite = suite
self._face = face
@property
def face(self):
return self._face
@property
def suite(self):
return self._suite
def __str__(self):
if self._face == 1:
face_str = 'A'
elif self._face == 11:
face_str = 'J'
elif self._face == 12:
face_str = 'Q'
elif self._face == 13:
face_str = 'K'
else:
face_str = str(self._face)
return '%s%s' % (self._suite, face_str)
def __repr__(self):
return self.__str__()
class Poker(object):
"""一副牌"""+
def __init__(self):
self._cards = [Card(suite, face)
for suite in '♠♥♣♦'
for face in range(1, 14)]
self._current = 0
@property
def cards(self):
return self._cards
def shuffle(self):
"""洗牌(随机乱序)"""
self