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()
  • 相关阅读:
    客户端入手分析异步更新机制
    前面PRM实例所使用到的MasterPage
    FCKeditor.Net_2.2安全修正版
    PRM–endRequest事件
    PageRequestManager类
    客户端访问PageMethod
    使用ASPJPEG组件生成缩略图
    使用js实现广告切换
    动态添加UpdatePannel
    MSMQ(Microsoft Message Queue,微软消息队列) Asp.Net 简单示例
  • 原文地址:https://www.cnblogs.com/BreezeFeng/p/12360455.html
Copyright © 2011-2022 走看看