鱼C论坛

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

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

[复制链接]
发表于 2025-1-21 19:17:06 | 显示全部楼层 |阅读模式

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

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

x
没怎么进展(寒假作业太多了),只把多属性相克完善一下,完善了一些不太好的(一半是AI帮我修的,自己水平太低
  1. import random
  2. 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}}
  3. type_chart = {
  4.     '普通': {'幽灵': 0, '岩石': 0.5, '钢铁': 0.5},
  5.     '格斗': {'飞行': 0.5, '毒': 0.5, '虫': 0.5, '幽灵': 0, '超能': 0.5, '妖精': 0.5},
  6.     '飞行': {'岩石': 0.5, '电': 0.5, '草': 2, '格斗': 2},
  7.     '毒': {'毒': 0.5, '地面': 0.5, '岩石': 0.5, '虫': 2, '草': 2, '妖精': 2},
  8.     '地面': {'飞行': 0, '虫': 0.5, '火': 2, '电': 2, '草': 0.5, '岩石': 2},
  9.     '岩石': {'格斗': 0.5, '地面': 0.5, '飞行': 2, '火': 2, '虫': 2},
  10.     '虫': {'飞行': 0.5, '岩石': 0.5, '火': 0.5, '格斗': 0.5, '草': 2, '超能': 2},
  11.     '幽灵': {'普通': 0, '超能': 2, '幽灵': 2},
  12.     '火': {'水': 0.5, '地面': 0.5, '岩石': 0.5, '火': 0.5, '草': 2, '冰': 2, '虫': 2, '钢': 2},
  13.     '水': {'水': 0.5, '草': 0.5, '地面': 2, '火': 2, '岩石': 2},
  14.     '草': {'飞行': 0.5, '毒': 0.5, '虫': 0.5, '火': 0.5, '水': 2, '地面': 2, '岩石': 2},
  15.     '电': {'地面': 0, '飞行': 2, '水': 2},
  16.     '超能': {'毒': 2, '格斗': 2, '超能': 0.5, '恶': 0.5, '妖精': 0.5},
  17.     '冰': {'水': 0.5, '火': 0.5, '冰': 0.5, '草': 2, '地面': 2, '飞行': 2, '龙': 2},
  18.     '龙': {'冰': 0.5, '龙': 0.5, '妖精': 0},
  19.     '妖精': {'格斗': 2, '毒': 0.5, '钢': 0.5, '火': 0.5, '龙': 2, '恶': 2},
  20.     '恶': {'格斗': 0.5, '幽灵': 2, '超能': 2, '妖精': 0.5}
  21. }

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

  24. # 示例属性相克表

  25. def calculate_type_effectiveness(attacker_types, defender_types):
  26.     effectiveness = 1.0
  27.     for attacker_type in attacker_types:
  28.         for defender_type in defender_types:
  29.             effectiveness *= type_chart.get(attacker_type, {}).get(defender_type, 1)
  30.     return effectiveness


  31. def battle(pokemon1, pokemon2):
  32.     if pokemon1["speed"] > pokemon2["speed"]:
  33.         first, second = pokemon1, pokemon2
  34.     else:
  35.         first, second = pokemon2, pokemon1

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

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

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

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

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

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

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

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

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


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


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





  89.             
复制代码

继续加油!

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

建议与完善修正

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


修改后的核心代码示例:


  1. import random

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

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

  12. def calculate_type_effectiveness(attacker_types, defender_types):
  13.     effectiveness = 1.0
  14.     for attacker_type in attacker_types:
  15.         for defender_type in defender_types:
  16.             effectiveness *= type_chart.get(attacker_type, {}).get(defender_type, 1)
  17.     return effectiveness

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

  25.     while pokemon1['HP'] > 0 and pokemon2['HP'] > 0:
  26.         # 属性相克计算
  27.         effectiveness1 = calculate_type_effectiveness(pokemon1['type'], pokemon2['type'])
  28.         effectiveness2 = calculate_type_effectiveness(pokemon2['type'], pokemon1['type'])
  29.         
  30.         # 伤害公式
  31.         damage1 = max(1, int((pokemon1['attack'] / pokemon2['defense']) * effectiveness1 * 10))
  32.         damage2 = max(1, int((pokemon2['attack'] / pokemon1['defense']) * effectiveness2 * 10))
  33.         
  34.         # 应用伤害
  35.         pokemon2['HP'] -= damage1
  36.         print(f"{pokemon1['name']} 对 {pokemon2['name']} 造成了 {damage1} 点伤害!剩余 HP: {max(0, pokemon2['HP'])}")
  37.         if pokemon2['HP'] <= 0:
  38.             print(f"{pokemon2['name']} 倒下了!")
  39.             break
  40.         
  41.         pokemon1['HP'] -= damage2
  42.         print(f"{pokemon2['name']} 对 {pokemon1['name']} 造成了 {damage2} 点伤害!剩余 HP: {max(0, pokemon1['HP'])}")
  43.         if pokemon1['HP'] <= 0:
  44.             print(f"{pokemon1['name']} 倒下了!")
  45.             break
  46.    
  47.     # 判断胜负
  48.     if pokemon1['HP'] > 0:
  49.         print(f"{pokemon1['name']} 获胜了!")
  50.     else:
  51.         print(f"{pokemon2['name']} 获胜了!")

  52. # 示例
  53. battle(1, 4)
复制代码


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-21 20:54:23 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-1-22 09:23:51 | 显示全部楼层
你这管理团队图片属实吓了我一跳
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

不好意思哈,随便捣鼓捣鼓的,这就换回来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

哈哈哈没什么的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

我记得之前也有人用过这种看着有趣哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 01:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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