Python Janken class
ジャンケンをクラスに。
import random
__author__ = "kadotanimitsuru"
__date__ = "2005-05-01"
__license__ = "public domain"
__version__ = "1.0.0"
class _Janken(object):
def __str__(self):
return self.name
def __unicode__(self):
return self.ja_name or unicode(self.name)
def __int__(self):
return self.int
def __cmp__(self, other):
if isinstance(other, self.win):
return 1
elif isinstance(other, self.lose):
return -1
elif isinstance(other, self.tie):
return 0
else:
raise TypeError
class Goo(_Janken):
def __init__(self):
_Janken.__init__(self)
self.name = "rock"
self.ja_name = u"グー"
self.int = 0
self.win = Choki
self.lose = Par
self.tie = Goo
class Choki(_Janken):
def __init__(self):
_Janken.__init__(self)
self.name = "scissors"
self.ja_name = u"チョキ"
self.int = 2
self.win = Par
self.lose = Goo
self.tie = Choki
class Par(_Janken):
def __init__(self):
_Janken.__init__(self)
self.name = "paper"
self.ja_name = u"パー"
self.int = 5
self.win = Goo
self.lose = Choki
self.tie = Par
GOO = ROCK = Goo()
CHOKI = SCISSORS = Choki()
PAR = PAPER = Par()
def pon():
return random.choice((GOO, CHOKI, PAR))
# 好きに流用してください。
example:
>>> import janken >>> a = janken.pon() >>> print a,unicode(a),int(a) scissors チョキ 2 >>> print a > janken.GOO, a > janken.CHOKI, a > janken.PAR False False True >>> print a == janken.GOO, a == janken.CHOKI, a == janken.PAR False True False >>> print a < janken.GOO, a < janken.CHOKI, a < janken.PAR True False False >>> b = janken.pon() >>> print b,unicode(b),int(b) rock グー 0 >>> a.__cmp__(b) -1 >>> print a > b, a == b, a < b False False True
« サージャント・グルカ :谷 甲州 | トップページ | 撲殺天使ドクロちゃん 5:おかゆ まさき »
「Python」カテゴリの記事
- from __future__ import hatsune(2008.09.15)
- Pygame1.8.1出たよ!(2008.08.02)
- それは kokoro.py と言うプログラム(2008.04.27)
- smf2txt.py ‐ SMF をテキストに(2008.04.09)
- 2007年下半期ライトノベルサイト杯結果と、同じのに投票した方々(2008.01.28)