鱼C论坛

 找回密码
 立即注册
查看: 92|回复: 6

[学习笔记] 宝可梦小游戏v1.0.1

[复制链接]
发表于 前天 19:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
没怎么进展(寒假作业太多了),只把多属性相克完善一下,完善了一些不太好的(一半是AI帮我修的,自己水平太低
import random
pdict = {1: {'name': '妙蛙种子', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 45, 'attack': 49, 'defense': 49, 'speed': 45}, 2: {'name': '妙蛙草', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 60, 'attack': 62, 'defense': 63, 'speed': 60}, 3: {'name': '妙蛙花', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 80, 'attack': 82, 'defense': 83, 'speed': 80}, 4: {'name': '小火龙', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 39, 'attack': 52, 'defense': 43, 'speed': 65}, 5: {'name': '火恐龙', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 58, 'attack': 64, 'defense': 58, 'speed': 80}, 6: {'name': '喷火龙', 'type': ['火', '飞行'], 'weakness': ['地面', '岩石', '水'], 'HP': 78, 'attack': 84, 'defense': 78, 'speed': 100}, 7: {'name': '杰尼龟', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 44, 'attack': 48, 'defense': 65, 'speed': 43}, 8: {'name': '卡咪龟', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 59, 'attack': 63, 'defense': 80, 'speed': 58}, 9: {'name': '水箭龟', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 79, 'attack': 83, 'defense': 100, 'speed': 78}, 10: {'name': '绿毛虫', 'type': ['虫'], 'weakness': ['飞行', '岩石', '火'], 'HP': 45, 'attack': 30, 'defense': 35, 'speed': 45}, 11: {'name': '铁甲蛹', 'type': ['虫'], 'weakness': ['飞行', '岩石', '火'], 'HP': 50, 'attack': 20, 'defense': 55, 'speed': 30}, 12: {'name': '巴大蝶', 'type': ['虫', '飞行'], 'weakness': ['飞行', '岩石', '火'], 'HP': 60, 'attack': 45, 'defense': 50, 'speed': 70}, 13: {'name': '独角虫', 'type': ['虫', '毒'], 'weakness': ['飞行', '岩石', '火'], 'HP': 40, 'attack': 35, 'defense': 30, 'speed': 50}, 14: {'name': '铁壳昆', 'type': ['虫', '毒'], 'weakness': ['飞行', '岩石', '火'], 'HP': 45, 'attack': 25, 'defense': 50, 'speed': 35}, 15: {'name': '大针蜂', 'type': ['虫', '毒'], 'weakness': ['飞行', '岩石', '火'], 'HP': 65, 'attack': 90, 'defense': 40, 'speed': 75}, 16: {'name': '波波', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 40, 'attack': 45, 'defense': 40, 'speed': 56}, 17: {'name': '比比鸟', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 63, 'attack': 60, 'defense': 55, 'speed': 71}, 18: {'name': '比雕', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 83, 'attack': 80, 'defense': 75, 'speed': 101}, 19: {'name': '小拉达', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 30, 'attack': 56, 'defense': 35, 'speed': 72}, 20: {'name': '拉达', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 55, 'attack': 81, 'defense': 60, 'speed': 97}, 21: {'name': '烈雀', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 40, 'attack': 60, 'defense': 30, 'speed': 70}, 22: {'name': '大嘴雀', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 65, 'attack': 90, 'defense': 65, 'speed': 100}, 23: {'name': '阿柏蛇', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 35, 'attack': 60, 'defense': 44, 'speed': 55}, 24: {'name': '阿柏怪', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 60, 'attack': 95, 'defense': 69, 'speed': 80}, 25: {'name': '皮卡丘', 'type': ['电'], 'weakness': ['地面'], 'HP': 35, 'attack': 55, 'defense': 40, 'speed': 90}, 26: {'name': '雷丘', 'type': ['电'], 'weakness': ['地面'], 'HP': 60, 'attack': 90, 'defense': 55, 'speed': 110}, 27: {'name': '穿山鼠', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 50, 'attack': 75, 'defense': 85, 'speed': 40}, 28: {'name': '穿山王', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 75, 'attack': 100, 'defense': 110, 'speed': 65}, 29: {'name': '尼多兰', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 55, 'attack': 47, 'defense': 52, 'speed': 41}, 30: {'name': '尼多娜', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 70, 'attack': 62, 'defense': 67, 'speed': 56}, 31: {'name': '尼多后', 'type': ['毒', '地面'], 'weakness': ['地面', '超能'], 'HP': 90, 'attack': 92, 'defense': 87, 'speed': 76}, 32: {'name': '尼多朗', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 46, 'attack': 57, 'defense': 40, 'speed': 50}, 33: {'name': '尼多力诺', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 61, 'attack': 72, 'defense': 57, 'speed': 65}, 34: {'name': '尼多王', 'type': ['毒', '地面'], 'weakness': ['地面', '超能'], 'HP': 81, 'attack': 102, 'defense': 77, 'speed': 85}, 35: {'name': '皮皮', 'type': ['妖精'], 'weakness': ['毒', 'steel'], 'HP': 70, 'attack': 45, 'defense': 48, 'speed': 35}, 36: {'name': '皮可西', 'type': ['妖精'], 'weakness': ['毒', 'steel'], 'HP': 95, 'attack': 70, 'defense': 73, 'speed': 60}, 37: {'name': '六尾', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 38, 'attack': 41, 'defense': 40, 'speed': 65}, 38: {'name': '九尾', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 73, 'attack': 76, 'defense': 75, 'speed': 100}, 39: {'name': '胖丁', 'type': ['普通', '妖精'], 'weakness': ['格斗'], 'HP': 115, 'attack': 45, 'defense': 20, 'speed': 20}, 40: {'name': '胖可丁', 'type': ['普通', '妖精'], 'weakness': ['格斗'], 'HP': 140, 'attack': 70, 'defense': 45, 'speed': 45}, 41: {'name': '超音蝠', 'type': ['毒', '飞行'], 'weakness': ['地面', '超能'], 'HP': 40, 'attack': 45, 'defense': 35, 'speed': 55}, 42: {'name': '大嘴蝠', 'type': ['毒', '飞行'], 'weakness': ['地面', '超能'], 'HP': 75, 'attack': 80, 'defense': 70, 'speed': 90}, 43: {'name': '走路草', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 45, 'attack': 50, 'defense': 55, 'speed': 30}, 44: {'name': '臭臭花', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 60, 'attack': 65, 'defense': 70, 'speed': 40}, 45: {'name': '霸王花', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 75, 'attack': 80, 'defense': 85, 'speed': 50}, 46: {'name': '派拉斯', 'type': ['虫', '草'], 'weakness': ['飞行', '岩石', '火'], 'HP': 35, 'attack': 70, 'defense': 55, 'speed': 25}, 47: {'name': '派拉斯特', 'type': ['虫', '草'], 'weakness': ['飞行', '岩石', '火'], 'HP': 60, 'attack': 95, 'defense': 80, 'speed': 30}, 48: {'name': '毛球', 'type': ['虫', '毒'], 'weakness': ['飞行', '岩石', '火'], 'HP': 60, 'attack': 55, 'defense': 50, 'speed': 45}, 49: {'name': '末入蛾', 'type': ['虫', '毒'], 'weakness': ['飞行', '岩石', '火'], 'HP': 70, 'attack': 65, 'defense': 60, 'speed': 90}, 50: {'name': '地鼠', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 10, 'attack': 55, 'defense': 25, 'speed': 95}, 51: {'name': '三地鼠', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 35, 'attack': 100, 'defense': 50, 'speed': 120}, 52: {'name': '喵喵', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 40, 'attack': 45, 'defense': 35, 'speed': 90}, 53: {'name': '猫老大', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 65, 'attack': 70, 'defense': 60, 'speed': 115}, 54: {'name': '可达鸭', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 50, 'attack': 52, 'defense': 48, 'speed': 55}, 55: {'name': '哥达鸭', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 80, 'attack': 82, 'defense': 78, 'speed': 85}, 56: {'name': '猴怪', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 40, 'attack': 80, 'defense': 35, 'speed': 70}, 57: {'name': '火爆猴', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 65, 'attack': 105, 'defense': 60, 'speed': 95}, 58: {'name': '卡蒂狗', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 55, 'attack': 70, 'defense': 45, 'speed': 60}, 59: {'name': '风速狗', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 90, 'attack': 110, 'defense': 80, 'speed': 95}, 60: {'name': '蚊香蝌蚪', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 40, 'attack': 50, 'defense': 40, 'speed': 90}, 61: {'name': '蚊香蛙', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 65, 'attack': 65, 'defense': 65, 'speed': 90}, 62: {'name': '快泳蛙', 'type': ['水', '格斗'], 'weakness': ['草', '电'], 'HP': 90, 'attack': 95, 'defense': 95, 'speed': 70}, 63: {'name': '凯西', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 25, 'attack': 20, 'defense': 15, 'speed': 90}, 64: {'name': '勇吉拉', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 40, 'attack': 35, 'defense': 30, 'speed': 105}, 65: {'name': '胡地', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 55, 'attack': 50, 'defense': 45, 'speed': 120}, 66: {'name': '腕力', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 70, 'attack': 80, 'defense': 50, 'speed': 35}, 67: {'name': '豪力', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 80, 'attack': 100, 'defense': 70, 'speed': 45}, 68: {'name': '怪力', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 90, 'attack': 130, 'defense': 80, 'speed': 55}, 69: {'name': '喇叭芽', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 50, 'attack': 75, 'defense': 35, 'speed': 40}, 70: {'name': '口呆花', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 65, 'attack': 90, 'defense': 50, 'speed': 55}, 71: {'name': '大食花', 'type': ['草', '毒'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 80, 'attack': 105, 'defense': 65, 'speed': 70}, 72: {'name': '玛瑙水母', 'type': ['水', '毒'], 'weakness': ['草', '电'], 'HP': 40, 'attack': 40, 'defense': 35, 'speed': 70}, 73: {'name': '毒刺水母', 'type': ['水', '毒'], 'weakness': ['草', '电'], 'HP': 80, 'attack': 70, 'defense': 65, 'speed': 100}, 74: {'name': '小拳石', 'type': ['岩石', '地面'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 40, 'attack': 80, 'defense': 100, 'speed': 20}, 75: {'name': '隆隆石', 'type': ['岩石', '地面'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 55, 'attack': 95, 'defense': 115, 'speed': 35}, 76: {'name': '隆隆岩', 'type': ['岩石', '地面'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 80, 'attack': 120, 'defense': 130, 'speed': 45}, 77: {'name': '小火马', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 50, 'attack': 85, 'defense': 55, 'speed': 90}, 78: {'name': '烈焰马', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 65, 'attack': 100, 'defense': 70, 'speed': 105}, 79: {'name': '呆呆兽', 'type': ['水', '超能'], 'weakness': ['草', '电'], 'HP': 90, 'attack': 65, 'defense': 65, 'speed': 15}, 80: {'name': '呆河马', 'type': ['水', '超能'], 'weakness': ['草', '电'], 'HP': 95, 'attack': 75, 'defense': 110, 'speed': 30}, 81: {'name': '小磁怪', 'type': ['电', 'steel'], 'weakness': ['地面'], 'HP': 25, 'attack': 35, 'defense': 70, 'speed': 45}, 82: {'name': '三合一磁怪', 'type': ['电', 'steel'], 'weakness': ['地面'], 'HP': 50, 'attack': 60, 'defense': 95, 'speed': 70}, 83: {'name': '大葱鸭', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 52, 'attack': 90, 'defense': 55, 'speed': 60}, 84: {'name': '嘟嘟', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 35, 'attack': 85, 'defense': 45, 'speed': 75}, 85: {'name': '嘟嘟利', 'type': ['普通', '飞行'], 'weakness': ['格斗'], 'HP': 60, 'attack': 110, 'defense': 70, 'speed': 110}, 86: {'name': '小海狮', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 65, 'attack': 45, 'defense': 55, 'speed': 45}, 87: {'name': '白海狮', 'type': ['水', '冰'], 'weakness': ['草', '电'], 'HP': 90, 'attack': 70, 'defense': 80, 'speed': 70}, 88: {'name': '臭泥', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 80, 'attack': 80, 'defense': 50, 'speed': 25}, 89: {'name': '臭臭泥', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 105, 'attack': 105, 'defense': 75, 'speed': 50}, 90: {'name': '大舌贝', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 30, 'attack': 65, 'defense': 100, 'speed': 40}, 91: {'name': '铁甲贝', 'type': ['水', '冰'], 'weakness': ['草', '电'], 'HP': 50, 'attack': 95, 'defense': 180, 'speed': 70}, 92: {'name': '鬼斯', 'type': ['幽灵', '毒'], 'weakness': ['幽灵', '恶'], 'HP': 30, 'attack': 35, 'defense': 30, 'speed': 80}, 93: {'name': '鬼斯通', 'type': ['幽灵', '毒'], 'weakness': ['幽灵', '恶'], 'HP': 45, 'attack': 50, 'defense': 45, 'speed': 95}, 94: {'name': '耿鬼', 'type': ['幽灵', '毒'], 'weakness': ['幽灵', '恶'], 'HP': 60, 'attack': 65, 'defense': 60, 'speed': 110}, 95: {'name': '大岩蛇', 'type': ['岩石', '地面'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 35, 'attack': 45, 'defense': 160, 'speed': 70}, 96: {'name': '素利普', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 60, 'attack': 48, 'defense': 45, 'speed': 42}, 97: {'name': '素利柏', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 85, 'attack': 73, 'defense': 70, 'speed': 67}, 98: {'name': '螃蟹怪', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 30, 'attack': 105, 'defense': 90, 'speed': 50}, 99: {'name': '巨钳蟹', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 55, 'attack': 130, 'defense': 115, 'speed': 75}, 100: {'name': '雷电球', 'type': ['电'], 'weakness': ['地面'], 'HP': 40, 'attack': 30, 'defense': 50, 'speed': 100}, 101: {'name': '顽皮弹', 'type': ['电'], 'weakness': ['地面'], 'HP': 60, 'attack': 50, 'defense': 70, 'speed': 150}, 102: {'name': '蛋蛋', 'type': ['草', '超能'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 60, 'attack': 40, 'defense': 80, 'speed': 40}, 103: {'name': '椰蛋树', 'type': ['草', '超能'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 95, 'attack': 95, 'defense': 85, 'speed': 55}, 104: {'name': '可拉可拉', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 50, 'attack': 50, 'defense': 95, 'speed': 35}, 105: {'name': '嘎啦嘎啦', 'type': ['地面'], 'weakness': ['水', '草', '冰'], 'HP': 60, 'attack': 80, 'defense': 110, 'speed': 45}, 106: {'name': '沙瓦郎', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 50, 'attack': 120, 'defense': 53, 'speed': 87}, 107: {'name': '艾比郎', 'type': ['格斗'], 'weakness': ['飞行', '超能', '妖精'], 'HP': 50, 'attack': 105, 'defense': 79, 'speed': 76}, 108: {'name': '大舌头', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 90, 'attack': 55, 'defense': 75, 'speed': 30}, 109: {'name': '瓦斯弹', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 40, 'attack': 65, 'defense': 95, 'speed': 35}, 110: {'name': '双弹瓦斯', 'type': ['毒'], 'weakness': ['地面', '超能'], 'HP': 65, 'attack': 90, 'defense': 120, 'speed': 60}, 111: {'name': '铁甲犀牛', 'type': ['地面', '岩石'], 'weakness': ['水', '草', '冰'], 'HP': 80, 'attack': 85, 'defense': 95, 'speed': 25}, 112: {'name': '铁甲暴龙', 'type': ['地面', '岩石'], 'weakness': ['水', '草', '冰'], 'HP': 105, 'attack': 130, 'defense': 120, 'speed': 40}, 113: {'name': '吉利蛋', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 250, 'attack': 5, 'defense': 5, 'speed': 50}, 114: {'name': '蔓藤怪', 'type': ['草'], 'weakness': ['飞行', '毒', '虫', '火', '冰'], 'HP': 65, 'attack': 55, 'defense': 115, 'speed': 60}, 115: {'name': '袋龙', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 105, 'attack': 95, 'defense': 80, 'speed': 90}, 116: {'name': '墨海马', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 30, 'attack': 40, 'defense': 70, 'speed': 60}, 117: {'name': '海刺龙', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 55, 'attack': 65, 'defense': 95, 'speed': 85}, 118: {'name': '角金鱼', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 45, 'attack': 67, 'defense': 60, 'speed': 63}, 119: {'name': '金鱼王', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 80, 'attack': 92, 'defense': 65, 'speed': 68}, 120: {'name': '海星星', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 30, 'attack': 45, 'defense': 55, 'speed': 85}, 121: {'name': '宝石海星', 'type': ['水', '超能'], 'weakness': ['草', '电'], 'HP': 60, 'attack': 75, 'defense': 85, 'speed': 115}, 122: {'name': '魔墙人偶', 'type': ['超能', '妖精'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 40, 'attack': 45, 'defense': 65, 'speed': 90}, 123: {'name': '飞天螳螂', 'type': ['虫', '飞行'], 'weakness': ['飞行', '岩石', '火'], 'HP': 70, 'attack': 110, 'defense': 80, 'speed': 105}, 124: {'name': '肯泰罗', 'type': ['冰', '超能'], 'weakness': ['格斗', '岩石', 'steel', '火'], 'HP': 65, 'attack': 50, 'defense': 35, 'speed': 95}, 125: {'name': '熊宝宝', 'type': ['电'], 'weakness': ['地面'], 'HP': 65, 'attack': 83, 'defense': 57, 'speed': 105}, 126: {'name': '圈圈熊', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 65, 'attack': 95, 'defense': 57, 'speed': 93}, 127: {'name': '熔岩虫', 'type': ['虫'], 'weakness': ['飞行', '岩石', '火'], 'HP': 65, 'attack': 125, 'defense': 100, 'speed': 85}, 128: {'name': '熔岩蜗牛', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 75, 'attack': 100, 'defense': 95, 'speed': 110}, 129: {'name': '小鸭嘴龙', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 20, 'attack': 10, 'defense': 55, 'speed': 80}, 130: {'name': '鸭嘴火龙', 'type': ['水', '飞行'], 'weakness': ['草', '电'], 'HP': 95, 'attack': 125, 'defense': 79, 'speed': 81}, 131: {'name': '鸭嘴暴龙', 'type': ['水', '冰'], 'weakness': ['草', '电'], 'HP': 130, 'attack': 85, 'defense': 80, 'speed': 60}, 132: {'name': '百变怪', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 48, 'attack': 48, 'defense': 48, 'speed': 48}, 133: {'name': '伊布', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 55, 'attack': 55, 'defense': 50, 'speed': 55}, 134: {'name': '水伊布', 'type': ['水'], 'weakness': ['草', '电'], 'HP': 130, 'attack': 65, 'defense': 60, 'speed': 65}, 135: {'name': '雷伊布', 'type': ['电'], 'weakness': ['地面'], 'HP': 65, 'attack': 65, 'defense': 60, 'speed': 130}, 136: {'name': '火伊布', 'type': ['火'], 'weakness': ['地面', '岩石', '水'], 'HP': 65, 'attack': 130, 'defense': 60, 'speed': 65}, 137: {'name': '3D龙', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 65, 'attack': 60, 'defense': 70, 'speed': 40}, 138: {'name': '菊石兽', 'type': ['岩石', '水'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 35, 'attack': 40, 'defense': 100, 'speed': 35}, 139: {'name': '多刺菊石兽', 'type': ['岩石', '水'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 70, 'attack': 60, 'defense': 125, 'speed': 55}, 140: {'name': '化石盔', 'type': ['岩石', '水'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 30, 'attack': 80, 'defense': 90, 'speed': 55}, 141: {'name': '镰刀盔', 'type': ['岩石', '水'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 60, 'attack': 115, 'defense': 105, 'speed': 80}, 142: {'name': '化石翼龙', 'type': ['岩石', '飞行'], 'weakness': ['格斗', '地面', 'steel', '水', '草'], 'HP': 80, 'attack': 105, 'defense': 65, 'speed': 130}, 143: {'name': '卡比兽', 'type': ['普通'], 'weakness': ['格斗'], 'HP': 160, 'attack': 110, 'defense': 65, 'speed': 30}, 144: {'name': '急冻鸟', 'type': ['冰', '飞行'], 'weakness': ['格斗', '岩石', 'steel', '火'], 'HP': 90, 'attack': 85, 'defense': 100, 'speed': 85}, 145: {'name': '闪电鸟', 'type': ['电', '飞行'], 'weakness': ['地面'], 'HP': 90, 'attack': 90, 'defense': 85, 'speed': 100}, 146: {'name': '火焰鸟', 'type': ['火', '飞行'], 'weakness': ['地面', '岩石', '水'], 'HP': 90, 'attack': 100, 'defense': 90, 'speed': 90}, 147: {'name': '迷你龙', 'type': ['龙'], 'weakness': ['冰', '龙', '妖精'], 'HP': 41, 'attack': 64, 'defense': 45, 'speed': 50}, 148: {'name': '哈克龙', 'type': ['龙'], 'weakness': ['冰', '龙', '妖精'], 'HP': 61, 'attack': 84, 'defense': 65, 'speed': 70}, 149: {'name': '快龙', 'type': ['龙', '飞行'], 'weakness': ['冰', '龙', '妖精'], 'HP': 91, 'attack': 134, 'defense': 95, 'speed': 80}, 150: {'name': '超梦', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 106, 'attack': 110, 'defense': 90, 'speed': 130}, 151: {'name': '梦幻', 'type': ['超能'], 'weakness': ['虫', '幽灵', '恶'], 'HP': 100, 'attack': 100, 'defense': 100, 'speed': 100}}
type_chart = {
    '普通': {'幽灵': 0, '岩石': 0.5, '钢铁': 0.5},
    '格斗': {'飞行': 0.5, '毒': 0.5, '虫': 0.5, '幽灵': 0, '超能': 0.5, '妖精': 0.5},
    '飞行': {'岩石': 0.5, '电': 0.5, '草': 2, '格斗': 2},
    '毒': {'毒': 0.5, '地面': 0.5, '岩石': 0.5, '虫': 2, '草': 2, '妖精': 2},
    '地面': {'飞行': 0, '虫': 0.5, '火': 2, '电': 2, '草': 0.5, '岩石': 2},
    '岩石': {'格斗': 0.5, '地面': 0.5, '飞行': 2, '火': 2, '虫': 2},
    '虫': {'飞行': 0.5, '岩石': 0.5, '火': 0.5, '格斗': 0.5, '草': 2, '超能': 2},
    '幽灵': {'普通': 0, '超能': 2, '幽灵': 2},
    '火': {'水': 0.5, '地面': 0.5, '岩石': 0.5, '火': 0.5, '草': 2, '冰': 2, '虫': 2, '钢': 2},
    '水': {'水': 0.5, '草': 0.5, '地面': 2, '火': 2, '岩石': 2},
    '草': {'飞行': 0.5, '毒': 0.5, '虫': 0.5, '火': 0.5, '水': 2, '地面': 2, '岩石': 2},
    '电': {'地面': 0, '飞行': 2, '水': 2},
    '超能': {'毒': 2, '格斗': 2, '超能': 0.5, '恶': 0.5, '妖精': 0.5},
    '冰': {'水': 0.5, '火': 0.5, '冰': 0.5, '草': 2, '地面': 2, '飞行': 2, '龙': 2},
    '龙': {'冰': 0.5, '龙': 0.5, '妖精': 0},
    '妖精': {'格斗': 2, '毒': 0.5, '钢': 0.5, '火': 0.5, '龙': 2, '恶': 2},
    '恶': {'格斗': 0.5, '幽灵': 2, '超能': 2, '妖精': 0.5}
}

# 使用示例:
# 计算正常属性技能对幽灵属性宝可梦的效果

# 示例属性相克表

def calculate_type_effectiveness(attacker_types, defender_types):
    effectiveness = 1.0
    for attacker_type in attacker_types:
        for defender_type in defender_types:
            effectiveness *= type_chart.get(attacker_type, {}).get(defender_type, 1)
    return effectiveness


def battle(pokemon1, pokemon2):
    if pokemon1["speed"] > pokemon2["speed"]:
        first, second = pokemon1, pokemon2
    else:
        first, second = pokemon2, pokemon1

    # 打印战斗开始信息
    print(f"啊!野生的{pokemon2['name']}跳了出来!")
    print(f"{pokemon1['name']}!就决定是你了!")
    print(f"{first['name']}先发动攻击!")

    while pokemon1["HP"] > 0 and pokemon2["HP"] > 0:
        # 计算属性相克倍数
        effectiveness1 = calculate_type_effectiveness(first['type'], second['type'])
        effectiveness2 = calculate_type_effectiveness(second['type'], first['type'])

        # 计算伤害
        damage1 = round(first['attack'] * effectiveness1 / 5) + random.randint(-5, 5)
        damage2 = round(second['attack'] * effectiveness2 / 5) + random.randint(-5, 5)

        # 检查是否命中要害
        critical_hit1 = random.randint(1, 100) < 10
        critical_hit2 = random.randint(1, 100) < 10

        # 计算闪避
        eva1 = random.randint(1, 100) < (second['speed'] / 10)  # 假设速度影响闪避率,这里进行了简化
        eva2 = random.randint(1, 100) < (first['speed'] / 10)

        # 第一只宝可梦攻击
        if not eva2:
            second["HP"] -= (damage1 * 2 if critical_hit1 else damage1)
            print_attack_result(first, second, damage1, critical_hit1)
        else:
            print(f"{first['name']}对{second['name']}发动了攻击!")
            print(f"{second['name']}躲过了攻击!")
        print(f"{second['name']}还有{second['HP']}血量")

        # 检查第二只宝可梦是否还活着
        if second['HP'] <= 0:
            print(f"{second['name']} 倒下了!{first['name']} 获胜!")
            break

        # 第二只宝可梦攻击
        if not eva1:
            first["HP"] -= (damage2 * 2 if critical_hit2 else damage2)
            print_attack_result(second, first, damage2, critical_hit2)
        else:
            print(f"{second['name']}对{first['name']}发动了攻击!")
            print(f"{first['name']}躲过了攻击!")
        print(f"{first['name']}还有{first['HP']}血量")

        # 检查第一只宝可梦是否还活着
        if first['HP'] <= 0:
            print(f"{first['name']} 倒下了!{second['name']} 获胜!")
            break


def print_attack_result(attacker, defender, damage, critical_hit):
    flag = "\n效果绝佳!" if damage > attacker['attack'] / 5 else "\n收效甚微..."
    if critical_hit:
        print(f"{attacker['name']}对{defender['name']}发动了攻击!命中要害!", end=flag)
    else:
        print(f"{attacker['name']}对{defender['name']}发动了攻击!", end=flag)
    print(f"造成了{damage}点伤害")


# 示例宝可梦数据
poke1 = random.randint(1, 151)
poke2 = random.randint(1, 151)
battle(pdict[poke1], pdict[poke2])
# 开始战斗





             
继续加油!

评分

参与人数 1荣誉 +2 贡献 +3 收起 理由
sfqxx + 2 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 前天 19:17 | 显示全部楼层
以下是您代码的完善建议以及修正内容。我会使用 **Discuz!** 的 BBCode 格式展示结果。

建议与完善修正

  • 代码中有许多占位内容,比如 `'type':` 和 `'weakness':` 的值为空,需补充,这样才能使功能正常运作。
  • 一些函数和逻辑,比如 `battle` 函数里的 `pokemon1` 和 `pokemon2` 对象,以及使用的攻击、防御、速度等属性,逻辑未完整。另外 `print` 信息应根据战斗逻辑动态调整。
  • 建议修改 `battle` 函数,更系统化处理比如属性相克、伤害计算等细节。
  • 最后一部分代码显示不完整,我完善后附带了一段简化的战斗逻辑代码。


修改后的核心代码示例:
import random

type_chart = {
    '普通': {'幽灵': 0, '岩石': 0.5, '钢铁': 0.5},
    '火': {'水': 0.5, '草': 2, '冰': 2},
    # 补充完整类型表...
}

pdict = {
    1: {'name': '妙蛙种子', 'type': ['草'], 'weakness': ['火'], 'HP': 45, 'attack': 49, 'defense': 49, 'speed': 45},
    4: {'name': '小火龙', 'type': ['火'], 'weakness': ['水'], 'HP': 39, 'attack': 52, 'defense': 43, 'speed': 65},
    # 补充完整宝可梦属性...
}

def calculate_type_effectiveness(attacker_types, defender_types):
    effectiveness = 1.0
    for attacker_type in attacker_types:
        for defender_type in defender_types:
            effectiveness *= type_chart.get(attacker_type, {}).get(defender_type, 1)
    return effectiveness

def battle(pokemon_id1, pokemon_id2):
    # 选取两只宝可梦
    pokemon1 = pdict[pokemon_id1]
    pokemon2 = pdict[pokemon_id2]
    
    print(f"野生的 {pokemon2['name']} 出现了!")
    print(f"Go! {pokemon1['name']}!")

    while pokemon1['HP'] > 0 and pokemon2['HP'] > 0:
        # 属性相克计算
        effectiveness1 = calculate_type_effectiveness(pokemon1['type'], pokemon2['type'])
        effectiveness2 = calculate_type_effectiveness(pokemon2['type'], pokemon1['type'])
        
        # 伤害公式
        damage1 = max(1, int((pokemon1['attack'] / pokemon2['defense']) * effectiveness1 * 10))
        damage2 = max(1, int((pokemon2['attack'] / pokemon1['defense']) * effectiveness2 * 10))
        
        # 应用伤害
        pokemon2['HP'] -= damage1
        print(f"{pokemon1['name']} 对 {pokemon2['name']} 造成了 {damage1} 点伤害!剩余 HP: {max(0, pokemon2['HP'])}")
        if pokemon2['HP'] <= 0:
            print(f"{pokemon2['name']} 倒下了!")
            break
        
        pokemon1['HP'] -= damage2
        print(f"{pokemon2['name']} 对 {pokemon1['name']} 造成了 {damage2} 点伤害!剩余 HP: {max(0, pokemon1['HP'])}")
        if pokemon1['HP'] <= 0:
            print(f"{pokemon1['name']} 倒下了!")
            break
    
    # 判断胜负
    if pokemon1['HP'] > 0:
        print(f"{pokemon1['name']} 获胜了!")
    else:
        print(f"{pokemon2['name']} 获胜了!")

# 示例
battle(1, 4)

注意事项:
  • 在 `pdict` 补全所有宝可梦的 `type` 和 `weakness` 信息。
  • 属性相克表需完整,否则计算相克倍率时会因为缺少键值对导致出错。
  • 战斗流程逻辑可以根据实际需求调整,比如增加技能、闪避、暴击等机制。


希望这些调整能帮助您更进一步完善代码!如果需要详细说明某部分逻辑,请继续提问哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 20:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 昨天 09:23 | 显示全部楼层
你这管理团队图片属实吓了我一跳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 09:44 From FishC Mobile | 显示全部楼层
~风介~ 发表于 2025-1-21 15:23
你这管理团队图片属实吓了我一跳

不好意思哈,随便捣鼓捣鼓的,这就换回来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 10:37 | 显示全部楼层
zyx2012 发表于 2025-1-22 09:44
不好意思哈,随便捣鼓捣鼓的,这就换回来

哈哈哈没什么的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 10:38 | 显示全部楼层
zyx2012 发表于 2025-1-22 09:44
不好意思哈,随便捣鼓捣鼓的,这就换回来

我记得之前也有人用过这种看着有趣哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-23 07:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表