dkdk434 2024-02-22 22:35 采纳率: 0%
浏览 5

文字格斗游戏,随机数每次循环固定住了

每次循环随机数但是固定的

import random

class R:
    def __init__(self, name):
        self.name = name
        self.sm = 100
        self.gjl = random.randint(0, 10) #随机数
    def dajiao(self, r):
        r.sm = r.sm - self.gjl
        if (r.sm<=0):
            r.sm=0
        print(f"动手打人的是[{self.name}],被打的是[{r.name}],[{self.name}]打了一下[{r.name}]照成了[{self.gjl}]点伤害,[{r.name}]生命剩余[{r.sm}]")


from rr import *

r1=R("李白")
r2=R("韩信")

while True:
    if (r2.sm<=0):
        print(f"{r1.name}ko{r2.name}")
        break
    if (r1.sm <= 0):
        print(f"{r2.name}ko{r1.name}")
        break
    r1.dajiao(r2)
    r2.dajiao(r1)

运行结果
E:\python项目\pythonProject\.venv\Scripts\python.exe E:\python项目\pythonProject\面向对象\da.py 
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[95]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[96]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[90]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[92]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[85]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[88]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[80]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[84]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[75]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[80]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[70]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[76]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[65]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[72]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[60]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[68]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[55]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[64]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[50]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[60]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[45]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[56]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[40]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[52]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[35]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[48]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[30]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[44]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[25]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[40]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[20]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[36]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[15]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[32]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[10]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[28]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[5]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[24]
动手打人的是[李白],被打的是[韩信],[李白]打了一下[韩信]照成了[5]点伤害,[韩信]生命剩余[0]
动手打人的是[韩信],被打的是[李白],[韩信]打了一下[李白]照成了[4]点伤害,[李白]生命剩余[20]
李白ko韩信

进程已结束,退出代码为 0

  • 写回答

4条回答 默认 最新

  • 爱喝兽奶的荒天帝 全栈领域新星创作者 2024-02-22 22:43
    关注

    这可能是因为你在每次循环开始时都创建了新的角色实例,导致随机数重新生成。你可以尝试将 r1 和 r2 的创建放到 while 循环之前,这样随机数就只会在程序开始时生成一次。
    另外,你的代码中 from rr import * 这一行似乎没有使用到,你可以考虑移除它。

    如果该回答解决了您的问题,请采纳一下,谢谢。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月22日

悬赏问题

  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥50 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大
  • ¥15 使用spss做psm(倾向性评分匹配)遇到问题
  • ¥20 vue+UEditor附件上传问题
  • ¥15 想做个WPS的自动化代码,不知道能做的起不。
  • ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
  • ¥15 斯坦福自动漂移非线性模型反解