霍去病 02

  霍去病(公元前140——前117年),河东郡平阳县(今山西临汾)人,是大将军卫青的外甥。他的母亲卫少儿是汉武帝姐姐平阳公主家里的奴婢,在与平阳县衙役霍仲孺私通后,生下了霍去病。

  霍去病从小生活在奴婢群中,生活十分艰苦。但他勤奋好学,小小年纪就精通了骑马、射箭、击刺等各种武艺。

  后来,霍去病的姨母卫子夫被汉武帝看中,并被立为皇后。卫氏家族从此平步青云。到十六七岁时,霍去病已经长成了一个相貌奇伟、性格坚毅、智勇过人的青年。汉武帝很赏识他,派他做了保卫皇帝安全的侍中官。

  这时,西汉王朝与匈奴的斗争已达到白热化程度。匈奴屡次入侵,汉武帝一改以前的和亲政策,开始了对匈奴的反击战争。霍去病的舅舅卫青几次领兵攻打匈奴,立下赫赫战功。

  公元前123年春,汉武帝再次组织对匈奴的反击战争,这年,霍去病刚刚18岁。他听说舅舅又要出征,便跃跃欲试急不可耐地向汉武帝请战。汉武帝见他少年英武,就答应了他的请求,任命他为骠姚校尉,由卫青挑选了800名骁勇矫捷的骑兵归他指挥。

  霍去病率领800骁骑一往无前地向北奔去。莽莽草原,人迹全无。他们不知不觉地走了好几百里,将近黄昏,忽然发现前方远处有一片黑点。霍去病判断应是匈奴的营帐,当即命部下衔枚而行,以迅雷不及掩耳之势杀了过去。匈奴兵根本没想到汉军会这么远地杀来,顿时一片混乱。霍去病身先士卒,首先闯入匈奴营帐,800骁骑个个勇猛无比,把匈奴兵杀得四散逃窜。

  这次战役,霍去病功居第一,其他各路有胜有负。卫青将战争的经过报告了汉武帝。汉武帝对霍去病大加赞赏,说:“剽姚校尉霍去病,以800骁骑斩杀匈奴兵2028人,并杀死匈奴单于的祖父籍若侯产及相国、当户等将官多人,生擒单于的叔父罗姑比,出奇制胜,勇冠全军。以2500户封霍去病为冠军侯。”

  河西地区即今天的河西走廊,在黄河以西,祁连山、合黎山之间,地势低平,是汉朝通向西方的黄金通道。原来这里由月氏人居住,后来被匈奴侵占,成了匈奴浑邪王、休屠王的领地。汉武帝想与大月氏及西域各国取得联系,以便共同对付匈奴,于是发动了河西战役。 公元前121年春天,汉武帝任命霍去病为骠骑将军,率领精骑一万人,从陇西(今甘肃省临挑县)出发,攻打匈奴。在霍去病的指挥下,汉军所至,势如破竹,穿过五个匈奴王国,转战六日,越过焉支山(今甘肃省山丹县境内)一千多里,在皋兰山(今兰州黄河西)与匈奴发生激战。霍去病率部勇猛异常,横冲直撞,阵斩匈奴折兰王、卢侯王,活捉了匈奴浑邪王的儿子及相国、都尉等,歼敌8900多人,并且缴获了匈奴体屠王的祭天金神像。汉军大获全胜。汉武帝非常高兴,下令增封霍去病食邑2000户。

  这年夏天,汉武帝决定乘势全部扫除匈奴在河西地区的势力,打通进入西域之路,于是发动了第二次河西战役。

  这次战役,以霍去病、公孙敖率领的几万骑兵为主力,从北地郡(在今甘肃环县)出发,另派李广、张骞率一万多人从右北平出发,攻击匈奴左贤王,策应西征的主力军。霍去病与公孙敖出塞后,分兵前进,公孙敖由于中途迷失方向,而未能参加战斗。霍去病与公孙敖联系不上,只好孤军深入,越过居延海(今内蒙古额济纳旗北),穿过小月氏部落,抵达祁连山。匈奴被他神妙莫测的战术搞得晕头转向,祁连山麓一战,被打得大败。这次战役,总计接受匈奴单桓王、酋涂王及相国、都尉等2500人投降,俘虏了王母、单于阏氏、王子。相国、将军、当户、都尉等120多人,歼灭匈奴兵30200人。

  汉武帝加封霍去病食邑5400户。从此,霍去病的声望日益显赫,地位日益尊贵,几乎与舅舅卫青相当了。

  两次河西战役之后,汉朝完全控制了河西地区,这对匈奴是一个很大的打击。匈奴人非常惋惜,他们悲伤地唱道:“亡我祁连山,使我六畜不蕃息;失我焉支山,使我妇女无颜色。”

  匈奴伊稚斜单于对于浑邪王、体屠王的屡次战败,非常恼火,派使者征召他们,准备治罪。浑邪王新失爱子,本来就够心烦的了,又闻单于将要加罪,于是与休屠王商量,决定向汉朝投降,并派使者来与汉朝接洽归降事宜。当时负责藩属事务的大行李息,正在黄河边上筑城,见到浑邪王派来的使者,马上派人向中央报告。

  汉武帝得到这一消息,很高兴,认为这样可以分化匈奴,减弱匈奴的力量,但是又担心其中有诈,于是派霍去病带领一万骑兵。前往河西,见机行事。

  霍去病还没有到达河西,情况就发生了变化。体屠王听信部下的谗言,不想投降了。浑邪王骑虎难下,痛恨休屠王的背信弃义,于是一不做二不休,他率兵冲入体屠王的营帐,杀死了休屠王,收编了休屠王的部队,然后列队迎接汉军的到来。
 
  霍去病渡过黄河,与浑邪王遥遥相望。浑邪王的部下很多。本来意志就不坚定,现在看到汉军阵容严整,心存疑惧,纷纷逃走。霍去病望见浑邪王阵营人群骚动,当机立断,亲率几名精骑飞马驰人浑邪王营帐,与浑邪王谈判,下令将私自逃跑的匈奴将士8000人全部杀死。这样才把匈奴军队稳住了。然后,霍去病派轻车快马先把浑邪王送往长安拜见汉武帝。接着,他把四万多匈奴降兵编队列阵,带回长安。

  在河西战役期间,汉武帝特地从京城送来一坛美酒,霍去病没有独自享用,而是将酒倒入泉水中,让全军将士饮用,后来,此泉就称为酒泉,当地也就以泉命名。

  汉武帝隆重地接见了浑邪王,封他为漯阴侯,食邑一万户。匈奴小王呼毒尼等四人也被封侯爵。汉武帝把这五侯连同他们的部众分别安置在陇西、北地、上郡、朔方、云中等地,保持他们原来的生活和风俗习惯,号称“五属国”。浑邪王旧地设置武威、酒泉两郡,连同后来设置的张掖、敦煌二郡,被称为“河西四郡”。霍去病受降有功,加封食邑1700户。

  从此,匈奴的军事力量大大削弱,不得不退到遥远的大沙漠以北地区。汉朝西部的威胁彻底解除,通往西域的道路完全畅通了。

  匈奴主力虽远逃漠北,但仍未放弃对汉朝边境的掠夺。公元前120年秋,匈奴骑兵万余人又突入定襄、右北平地区,杀掠汉朝边民一千多人。汉武帝决定远征漠北,彻底消灭匈奴军队。

  公元前119年,汉武帝调集10万骑兵,随军战马14万匹,步兵辎重队几十万人,由卫青和霍去病各领五万骑兵,分东西两路向漠北进军。卫青从定襄出塞,北进1000多里,与匈奴伊稚斜单于所率主力相遇,经过激战,大败匈奴单于,斩获19000多人,一直追到真颜山赵信城才胜利班师。

  汉武帝原来的计划是由霍去病专力对付匈奴单于,所以给他配备的全是经过挑选的精兵强将。霍去病率军从代郡出发,大胆地重用匈奴降将赵破奴、复陆支、伊即轩等,在大沙漠地带纵横驰骋,行军两千多里,越过离侯山,渡过弓闾河,与匈奴左贤王相遇。汉军发动猛攻,左贤王大败而逃。这次战役,活捉匈奴屯头王、韩王等三人以及匈奴将军、相国、当户、都尉等83人,歼敌七万名。匈奴左贤王部几乎全军覆灭。霍去病率军追至狼居胥山(今蒙古境内德尔山)。为庆祝这次战役的胜利,霍去病在狠居胥山积土增山,举行祭天封礼,又在姑衍山(狼居背山附近)举行祭地禅礼,并登临瀚海(今贝加尔湖),刻石记功,然后凯旋还朝。

  霍去病因功加封食邑5800户,并与大将军卫青一起被拜为大司马。

  从此以后,匈奴向北向西迁到更偏远的地方去了,长城内外一片和平气象,人民安居乐业。

  霍去病一生曾四次领兵出塞攻打匈奴,共歼敌11万多人。他平时少言寡语,战场上却勇猛无比。他是一位军事天才,汉武帝常常劝他学习孙吴兵法,他却说:“为将须随时运谋,何必定拘古法呢?”他是凭借战场上的直觉指挥战斗的,随机应变,闪电式行动,使他百战百胜,成为名扬后世的一代名将。

  霍去病屡立战功,获得了高官厚禄,但他把个人的享受搁在一边,一心以国家利益为重。河西战役胜利后,汉武帝为了奖励他的卓越战功,特意命人在长安为他建造了一座豪华住宅,叫他去看看是否满意。霍去病谢绝了汉武帝的好意,气概豪壮地说:“匈奴未灭,何以家为!”这句传诵千古的名言就是霍去病光辉一生的写照。

  但是霍去病少年显贵,平步青云,没有统帅下级兵士的经历,因而缺乏对士卒的关心。他率军出征时,汉武帝派负责朝廷膳食的太官给他送去数十车酒肉,等到班师时,车上仍装有吃剩下的酒食,但士兵们许多却饿着肚子。在塞外时,士兵常常因缺粮而士气不振,可他却修建球室踢球。

  公元前119年那次出征时,飞将军李广跟随卫青,因为公孙敖刚刚失去了爵位,卫青想让他同自己一起正面与单于作战立功,所以调整了战斗序列。被调到东路的李广与赵食其在沙漠中迷失了道路,没有参加战斗,卫青派人责问二人迷路的原因,并让他们到大将军处听候传讯,李广说:“我的部下无罪,迷路的责任在我。”他又对部下说:“我与匈奴大小作战七十余次,好容易有机会跟着大将军直接与单于作战,但大将军把我调到了东路,本来路途就远,又迷了路,天意如此呀。况且我已经六十多岁了,实在不能再去面对那些刀笔小吏。”说完就自刎了。赵食其的结果与苏建一样,交纳赎金后,贬为平民。李广的儿子李敢当时正在霍去病军中,因父亲的死而怨恨卫青,动手打伤了卫青,卫青没有追究此事,并隐瞒了起来。但霍去病年青气盛,对此事耿耿于怀,两年后,在甘泉宫陪汉武帝狩猎时,用箭将李敢射死。事后,汉武帝隐瞒了真相,说李敢是被鹿撞死的。

  公元前117年,霍去病因病去世,年仅24岁。对于这位青年名将的过早离去,人们都感到无比的悲痛和惋惜。汉武帝特地命人在自己的茂陵旁边为霍去病修建了一座形状象祁连山的坟墓,并发动陇西、北地等五郡的匈奴人民,身穿黑甲,把霍去病的灵柩从长安护送到墓地安葬。

  霍去病的墓至今仍然矗立在茂陵旁边,墓前的“马踏匈奴”的石像,象征着他为国家立下的不朽功勋。
 

 

写一段python代码 完成抽卡功能:1.有两个卡池在左侧,玩家可以自己选择卡池,第一个卡池名字:通江唱和。第二个卡池名字:锦瑟繁弦。玩家可以自由选择。2.抽卡有单抽和十抽按钮,需要消耗等量的喵灵偶。喵灵偶的数量显示在界面上方。3.获取喵灵偶:玩家点击此按钮时,自动给玩家1-10个喵灵偶。4.单抽:界面中出现开启按钮,然后显示抽到的结果。5.十连,依次发出十张卡片,然后显示玄的名士,其他需要玩家自行点开。6.查看完毕后,右下角出现确认按钮,点击可关闭抽奖结果。7.通江唱和中,天品名士中,白居易概率为30%,地品名士中,元稹概率为30%。8.锦瑟繁弦中,天品名士中,李商隐概率为30%,地品名士中,杜牧概率为30%。9.每次抽奖有83%为玄,15%为地,2%为天。10.玄名士有:狄青、李秀宁、红拂女、佛印、潘安、石崇、大周后、巴清、干将、魏征、李淳风、袁天罡、孙思邈。地名士有:虞姬、范蠡、杜甫、蒲松龄、冯梦龙、鱼玄机、刘邦、李隆基、元稹、荆轲、晏几道、嵇康、阮籍、小乔、班昭、莫邪、霍去病、苏轼、吕雉、薛涛、王羲之。天名士有:陶渊明、辛弃疾、白居易、陆羽、司马迁、司马光、李商隐、徐霞客、陆游、嬴政、花木兰、祖冲之、黄道婆、宋应星、李白、刘秀、周瑜、杨玉环、卫青、韩非、曹植、武则天、公输班、刘彻、李斯、勾践、西施、郑和。
03-16
<think>好的,我现在需要帮用户写一段Python代码实现抽卡功能,根据用户提出的需求,我需要仔细分析每个要求,并确保代码满足所有条件。首先,用户提到的两个卡池,通江唱和和锦瑟繁弦,玩家可以选择其中一个。每个卡池有不同的概率提升角色,比如通江唱和的天品中白居易概率30%,地品中元稹30%。锦瑟繁弦则是李商隐和杜牧。 接下来是抽卡的单抽和十连功能,需要消耗喵灵偶,数量显示在界面上方。获取喵灵偶的按钮点击后随机给1-10个。单抽的话,界面显示开启按钮,然后展示结果。十连则是依次发十张卡,玄的名士直接显示,其他需要点开。查看完毕后,右下角确认按钮关闭结果。 首先,我需要确定数据结构。卡池的天、地、玄名士列表,以及各卡池的概率调整。然后,抽卡的概率是83%玄,15%地,2%天。但根据卡池的不同,天和地中的特定角色概率提升到30%。这里可能需要调整天或地品级内的概率分布,比如在通江唱和的天品中,白居易占30%,其他天品角色均分剩下的70%。同理地品中的元稹。 然后是界面部分,用户可能希望用控制台模拟,因为如果是图形界面可能需要更复杂的库。假设用户需要的是控制台版本的代码,那么用基本的输入输出处理。比如显示喵灵偶数量,选择卡池,抽卡选项等。 需要考虑的步骤: 1. 定义各个名士的列表,按玄、地、天分类。 2. 根据卡池调整特定角色的概率。 3. 实现抽卡逻辑,单抽和十连,扣除喵灵偶。 4. 处理结果显示,玄直接显示,地和天可能需要用户交互(比如十连时需要点开)。 5. 喵灵偶的获取和消耗机制。 6. 用户界面的循环,让玩家可以持续操作。 可能的难点在于概率的调整,特别是卡池特定角色的概率。例如,在天品中,如果白居易的概率是30%,那么其他天品角色应该分摊剩下的70%。同样,地品中的元稹或杜牧也是如此。 另外,十连抽的时候,需要依次展示结果,但玄的立即显示,而地和天可能需要用户点击才能查看,这在控制台中可能需要模拟,比如按回车键逐步显示。 关于喵灵偶的管理,每次抽卡前检查数量是否足够,单抽消耗1,十连消耗10。获取喵灵偶的按钮每次增加1-10个随机数。 代码结构可能包括: - 类或字典管理卡池数据。 - 函数处理抽卡逻辑,包括概率计算。 - 主循环处理用户输入,更新喵灵偶数量,显示结果。 测试时需要注意各个概率是否正确,特别是特定卡池的调整是否生效。例如,在通江唱和抽到天品时,是否有30%的概率是白居易。 最后,确保代码符合Python语法,并处理可能的异常输入,比如用户输入无效选项时的处理。</think>我将分步骤为您实现这个抽卡系统,以下是基于控制台模拟的Python代码实现: ```python import random import time class GachaSystem: def __init__(self): self.lingou = 0 # 喵灵偶数量 self.current_pool = None # 名士库配置 self.rarity_prob = {'玄': 83, '地': 15, '天': 2} self.xuan = ["狄青", "李秀宁", "红拂女", "佛印", "潘安", "石崇", "大周后", "巴清", "干将", "魏征", "李淳风", "袁天罡", "孙思邈"] self.di = ["虞姬", "范蠡", "杜甫", "蒲松龄", "冯梦龙", "鱼玄机", "刘邦", "李隆基", "元稹", "荆轲", "晏几道", "嵇康", "阮籍", "小乔", "班昭", "莫邪", "霍去病", "苏轼", "吕雉", "薛涛", "王羲之"] self.tian = ["陶渊明", "辛弃疾", "白居易", "陆羽", "司马迁", "司马光", "李商隐", "徐霞客", "陆游", "嬴政", "花木兰", "祖冲之", "黄道婆", "宋应星", "李白", "刘秀", "周瑜", "杨玉环", "卫青", "韩非", "曹植", "武则天", "公输班", "刘彻", "李斯", "勾践", "西施", "郑和"] # 卡池配置 self.pools = { "通江唱和": { "天": {"白居易": 30}, "地": {"元稹": 30} }, "锦瑟繁弦": { "天": {"李商隐": 30}, "地": {"杜牧": 30} } } def get_lingou(self): self.lingou += random.randint(1, 10) print(f"★ 获得 {self.lingou} 个喵灵偶!") def draw(self, times=1): if self.lingou < times: print("喵灵偶不足!") return [] self.lingou -= times results = [] for _ in range(times): # 确定稀有度 r = random.choices( list(self.rarity_prob.keys()), weights=list(self.rarity_prob.values()) )[0] # 根据卡池调整概率 if r == '天' and self.current_pool: pool = self.pools[self.current_pool][r] candidates = [n for n in self.tian if n not in pool] prob = [70/(len(candidates))]*len(candidates) selected = random.choices( [*pool.keys()] + candidates, weights=[*pool.values()] + prob )[0] elif r == '地' and self.current_pool: pool = self.pools[self.current_pool][r] candidates = [n for n in self.di if n not in pool] prob = [70/(len(candidates))]*len(candidates) selected = random.choices( [*pool.keys()] + candidates, weights=[*pool.values()] + prob )[0] else: selected = random.choice(self.xuan if r == '玄' else self.di if r == '地' else self.tian) results.append((r, selected)) return results def show_result(self, results, ten_draw=False): print("\n★ 抽卡结果 ★") for i, (rarity, name) in enumerate(results, 1): if ten_draw and rarity != '玄': input(f"第{i}抽({rarity}品) - 点击查看...") print(f" {rarity}品名士:{name}") else: print(f"第{i}抽:{rarity}品 - {name}") input("\n点击确认继续...") def main_loop(self): while True: print("\n" + "="*40) print(f"当前喵灵偶:{self.lingou}") print("1. 获取喵灵偶 2. 选择卡池 3. 单抽 4. 十连 0. 退出") print("当前卡池:" + (self.current_pool if self.current_pool else "未选择")) choice = input("请选择操作:") if choice == '1': self.get_lingou() elif choice == '2': print("\n可选卡池:") print("1. 通江唱和(白居易/元稹概率UP)") print("2. 锦瑟繁弦(李商隐/杜牧概率UP)") pool_choice = input("请选择卡池:") self.current_pool = "通江唱和" if pool_choice == '1' else "锦瑟繁弦" elif choice == '3': if not self.current_pool: print("请先选择卡池!") continue results = self.draw() self.show_result(results) elif choice == '4': if not self.current_pool: print("请先选择卡池!") continue results = self.draw(10) self.show_result(results, ten_draw=True) elif choice == '0': break else: print("无效输入,请重新选择!") if __name__ == "__main__": gacha = GachaSystem() gacha.main_loop() ``` 代码特点说明: 1. 概率系统:使用`random.choices`实现加权随机,天/地品级中特定角色概率提升逻辑通过动态调整权重实现 2. 卡池机制:采用字典存储不同卡池的UP角色及概率配置 3. 十连模拟:通过`input()`暂停实现"点击查看"的交互效果 4. 资源管理:严格校验喵灵偶数量,抽卡前自动扣除 5. 界面交互:控制台模拟按钮交互,使用数字选择操作 使用说明: 1. 首次运行时需要通过选项2选择卡池 2. 获取喵灵偶后即可进行抽卡 3. 十连抽时玄品直接显示,地/天品需要按回车逐个查看 4. 每次抽卡结果查看完毕后需要确认关闭 概率验证示例: - 在"通江唱和"卡池进行天品抽卡时: $$P(白居易) = 30\%$$ $$P(其他天品角色) = \frac{70\%}{(天品总数 - 1)}$$ - 整体天品概率仍保持2%,仅在抽到天品时触发概率UP机制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值