面向对象实现石头剪刀布游戏

匿名 (未验证) 提交于 2019-12-03 00:42:01
  1 import random   2 import time   3    4    5 class Player:   6     def __init__(self):   7         self.name = "老张"   8         self.fist = "你这样会报错"   9         self.score = 0  10   11     def player_name(self):  12         name_choice = [喜洋洋, 美洋洋, 懒洋洋]  13         input_name = input("请选择人物:1喜洋洋 2美洋洋 3懒洋洋(输入exit退出):")  14         if input_name == "exit":  15             self.name = "exit"  16         else:  17   18             if input_name == "1":  19                 self.name = name_choice[0]  20             elif input_name == "2":  21                 self.name = name_choice[1]  22             elif input_name == "3":  23                 self.name = name_choice[2]  24             # self.player_fist()  25             print("你选择了{}".format(self.name))  26   27     def player_fist(self):  28         li_fist_p = ["ʯͷ", "剪刀", ""]  29         input_fist = input("请出拳:1石头, 2剪刀, 3布(输入exit退出):\n")  30         if input_fist == "exit":  31             self.fist = "exit"  32         else:  33             if input_fist == "1":  34                 self.fist = li_fist_p[0]  35             if input_fist == "2":  36                 self.fist = li_fist_p[1]  37             if input_fist == "3":  38                 self.fist = li_fist_p[2]  39             print("你使出九牛二虎之力出了---{}".format(self.fist))  40   41   42 class Computer:  43     def __init__(self):  44         self.c_name = "慢羊羊"  45         self.c_fist = "未出拳"  46         self.c_score = 0  47   48     def computer_name(self):  49         c_name_choice = ["慢羊羊", "沸羊羊", "暖羊羊"]  50         self.c_name = random.choice(c_name_choice)  51         print("敌方派出了超级厉害的---?{}".format(self.c_name))  52   53     def computer_fist(self):  54         li_fist_c = ["ʯͷ", "剪刀", ""]  55         self.c_fist = random.choice(li_fist_c)  56         print("{}在千钧一发之际使出了必杀---?{}".format(self.c_name, self.c_fist))  57   58   59 class Begin:  60     n = 1  61   62     def __init__(self, pl, com):  63         self.player = pl  64         self.computer = com  65         self.exit = None  66   67     def play_game(self):  68         self.player.player_name()  69         print("正在出招......\n")  70         time.sleep(1)  71         print("敌方正在派人与你对战......\n")  72         time.sleep(1)  73         self.computer.computer_name()  74         print("*"*50)  75   76         while self.__class__.n <= 3:  77             print("----------------第{}回合---------------".format(self.__class__.n))  78             if self.player.name == "exit":  79                 break  80             time.sleep(1)  81             self.player.player_fist()  82             if self.player.fist == "exit":  83                 break  84             print("{}夜观天象,掐指一算......\n".format(self.computer.c_name))  85             time.sleep(1)  86             self.computer.computer_fist()  87             self.compare()  88             print("*" * 50)  89             self.__class__.n += 1  90             time.sleep(1)  91         print("正在统计战绩―――――――?\n")  92         print("三局定胜负, 游戏结束\n")  93         print("战绩-------?\n")  94         time.sleep(1)  95         print("-------3")  96         time.sleep(1)  97         print("-------2")  98         time.sleep(1)  99         print("-------1") 100         time.sleep(1) 101         print("-------?\n") 102         print("你的总分为------?{}\n\n\n{}的总分为---?{}\n".format(self.player.score, self.computer.c_name, 103                                                           self.computer.c_score)) 104         if self.player.score > self.computer.c_score: 105             print("-----你是神,你赢了!-----") 106         elif self.player.score < self.computer.c_score: 107             print("-----你是笨蛋,你输了!-----") 108         elif self.player.score == self.computer.c_score: 109             print("-----两败俱伤,平局!-----") 110  111     def score(self): 112         print("你当前分数为:{}   {}分数为:{}".format(self.player.score, self.computer.c_name, self.computer.c_score)) 113  114     def compare(self): 115         if self.player.fist == "ʯͷ" and self.computer.c_fist == "剪刀": 116             print("你真厉害----你赢了\n") 117             self.player.score += 1 118             self.score() 119  120         elif self.player.fist == "ʯͷ" and self.computer.c_fist == "": 121             print("命途多舛的人生----你输了\n") 122             self.computer.c_score += 1 123             self.score() 124  125         elif self.player.fist == "ʯͷ" and self.computer.c_fist == "ʯͷ": 126             print("激烈的角逐后----打成平局\n") 127             self.score() 128  129         elif self.player.fist == "剪刀" and self.computer.c_fist == "ʯͷ": 130             print("牧童骑黄牛,歌声振林樾----你输了\n") 131             self.computer.c_score += 1 132             self.score() 133  134         elif self.player.fist == "剪刀" and self.computer.c_fist == "剪刀": 135             print("平平淡淡才是真----平局\n") 136             self.score() 137  138         elif self.player.fist == "剪刀" and self.computer.c_fist == "": 139             print("我好厉害----你赢了\n") 140             self.player.score += 1 141             self.score() 142  143         elif self.player.fist == "" and self.computer.c_fist == "剪刀": 144             print("曾经的月亮很圆,你却没有发现----你输了\n") 145             self.computer.c_score += 1 146             self.score() 147  148         elif self.player.fist == "" and self.computer.c_fist == "ʯͷ": 149             print("??????????----你赢了") 150             self.player.score += 1 151             self.score() 152  153         elif self.player.fist == "" and self.computer.c_fist == "": 154             print("回家----平局") 155             self.score() 156  157  158 player = Player() 159 computer = Computer() 160 begin = Begin(player, computer) 161 begin.play_game()

原文:https://www.cnblogs.com/tttzqf/p/9346525.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!