random模块和函数写pk小游戏和石头、剪刀、布

时间:2020-04-20
本文章向大家介绍random模块和函数写pk小游戏和石头、剪刀、布,主要包括random模块和函数写pk小游戏和石头、剪刀、布使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

利用random模块和函数写PK小游戏:

 1 import random,time
 2 
 3 
 4 player_list=['【狂血战士】','【森林箭手】','【光明骑士】','【独行剑客】','【格斗大师】','【枪弹专家】']
 5 enemy_list = ['【暗黑战士】','【黑暗弩手】','【骷髅骑士】','【嗜血刀客】','【首席刺客】','【陷阱之王】']
 6 players = random.sample(player_list,3)
 7 enemys = random.sample(player_list,3)
 8 player_info ={}
 9 enemy_info ={}
10 
11 def born_role():
12     life = random.randint(100, 180)
13     attack = random.randint(30, 50)
14     return life,attack
15 
16 def show_role1():
17     for i in range(3):
18         player_info[players[i]] = born_role()
19         enemy_info[enemys[i]] = born_role()
20     print("------player--------")
21     print("角色信息")
22     for i in range(3):
23         print("%s 血量:%d 攻击:%d" % (players[i], player_info[players[i]][0], player_info[players[i]][1]))
24     print("------player--------")
25     print("敌人信息")
26     for i in range(3):
27         print("%s 血量:%d 攻击:%d" % (enemys[i], enemy_info[enemys[i]][0], enemy_info[enemys[i]][1]))
28 
29 def order_role():
30     global players
31     order_dic = {}
32     for i  in range(3):
33         order = int(input("你想将%s 放在第几个上场?请输入(1-3)"%(players[i])))
34         order_dic[order] = players[i]
35     players = []
36     for i in range(1,4):
37         players.append(order_dic[i])
38     # print(players)
39 
40 def pk_role():
41     round = 1
42     sorce = 0
43     for i in range(3):
44         # 提取玩家的角色名称
45         player_name = players[i]
46         enemy_name = enemys[i]
47         player_life = player_info[players[i]][0]
48         # 玩家血量是字典里的值(元组)的第0个元素,以下同理
49         player_attack = player_info[players[i]][1]
50         enemy_life = enemy_info[enemys[i]][0]
51         enemy_attack = enemy_info[enemys[i]][1]
52         # 每一局开战前展示战斗信息
53         print('\n----------------- 【第%d局】 -----------------' % round)
54         print('玩家角色:%s vs 敌方角色:%s ' % (player_name,enemy_name))
55         print('%s 血量:%d  攻击:%d' % (player_name,player_life,player_attack))
56         print('%s 血量:%d  攻击:%d' % (enemy_name,enemy_life,enemy_attack))
57         print('--------------------------------------------')
58         input('请按回车键继续。\n')
59         while player_life >0 and enemy_life >0:
60             enemy_life = enemy_life - player_attack
61             player_life = player_life - enemy_attack
62             print('%s发起了攻击,%s剩余血量%d' % (player_name,enemy_name,enemy_life))
63             print('%s发起了攻击,%s剩余血量%d'% (enemy_name,player_name,player_life))
64             print('--------------------------------------------')
65             time.sleep(1)
66         else:
67             if player_life >0 and enemy_life <=0:
68                 print("敌人挂了,你赢了")
69                 sorce +=1
70             elif player_life <=0 and enemy_life >0:
71                 print("敌人赢了,你输了!")
72                 sorce += -1
73             else:
74                 print("平局")
75             round +=1
76     input("---------点击回车,查看比赛结果:----------")
77     if sorce >0:
78         print("最终结果:你赢了!")
79     elif sorce<0:
80         print("最终结果:你输了!")
81     else:
82         print("最终结果:平局!")
83 def main():
84     show_role1()
85     order_role()
86     pk_role()
87 
88 main()

利用random模块和函数写石头、剪刀、布游戏:

 1 import random
 2 def UserInput():
 3     while 1:
 4         user_choice = input("请输人你猜的拳【石头,剪刀,布】:")
 5         computer = ["石头", "剪刀", ""]
 6         if user_choice not  in computer:
 7             print("输入error!")
 8             continue
 9         random_put = random.choice(computer)
10         if random_put == user_choice:
11             print("平局")
12         elif (random_put == "石头" and user_choice == "剪刀") or (random_put == "剪刀" and user_choice == ""):
13             print("computer win! ")
14         else:
15             print("user win!")

原文地址:https://www.cnblogs.com/Tang-Yuan/p/12736503.html