zoukankan      html  css  js  c++  java
  • 用python写一个魔塔50层怪物伤害计算器

      最近迷上了玩魔塔。完了几次都没有通关。到后面的层数基本都是血量或者钥匙不够了。所以想到写一个小程序来计算攻击或者防御的提升能使受到来自怪物的伤害减少多少,这样的话就可以很直观的看出该吃红宝石还是蓝宝石,或者买防御和攻击带来的收益了。

      写完之后我又想到,这个似乎还可以通过机器学习来实现更加完美的决策,等后面我深入学习机器学习之后再写一个。以下是代码:

     1 import math
     2 import re
     3 import os
     4 def compu():
     5     name=input("怪物名字:")
     6     a=input("怪物血量:")
     7     b=input("怪物攻击:")
     8     c=input("怪物防御:")
     9     a=int(a)
    10     b=int(b)
    11     c=int(c)
    12     s=0      #收到伤害
    13     flag=9999
    14     cnt=0
    15     data1=""
    16     dic={}
    17     for i in range(10,100):
    18         for j in range(10,100):
    19             n1=b-j             #怪攻-我防   单次受到怪物攻击伤害
    20             n2=i-c             #我攻-怪防
    21             if n2<=0:          #如果怪物的防御大于我的攻击,即打不过,就跳出这次循环
    22                 continue 
    23             n3=a/n2-1           #怪物攻击次数
    24             n3=math.ceil(n3)    #怪物攻击次数向上取整
    25             s=n1*n3            
    26             if s==0 : 
    27                 break
    28             key="攻击:"+str(i)+"    防御:"+str(j)+"    受到伤害:"
    29             value=s
    30             dic[key]=value            
    31     dic.items()        # 得到: dict_items([('a', 1), ('c', 3), ('b', 2)])
    32     L=list(dic.items())       # 得到列表: L=[('a', 1), ('c', 3), ('b', 2)]
    33     L.sort(key=lambda x:x[1],reverse=True)  # 按列表中,每一个元组的第二个元素从小到大排序。
    34                                          # x代表从L中遍历出的一个元组
    35     filename='D:/魔塔怪物/'+name+'.txt'
    36     for l in L:
    37         data1=data1+'
    '+str(l)
    38         file=open(filename,'w',encoding='gb18030',errors='ignore')  #将内容写入文本
    39         file.write(data1)
    40         file.close()      
    41 while 1 :        
    42     compu()
  • 相关阅读:
    P1032 字串变换
    P3203 [HNOI2010]弹飞绵羊
    P3690 【模板】Link Cut Tree (动态树)
    P2147 [SDOI2008]洞穴勘测
    P3950 部落冲突
    Codeforces Round #469 Div. 2题解
    线段树
    SDOI2018退役记
    4.1模拟题
    无旋Treap
  • 原文地址:https://www.cnblogs.com/BreezeFeng/p/12360455.html
Copyright © 2011-2022 走看看