当前位置: 首页 > 知识库问答 >
问题:

在VB.NET中使用IComparable进行石头、纸和剪刀游戏中的武器比较(同Java中的Comparable)

欧阳昊阳
2023-03-14

我是编程和OOP的新手,所以请原谅我的知识不足。

作为我的岩石,纸和剪刀游戏的一部分,我想在VB.NET中创建一个抽象的超类(武器),它有子类(岩石,纸和剪刀)。我发现Java的等价物是:

 public abstract class Weapon implements Comparable<Weapon> {
    }



    public class Paper extends Weapon {

        @Override
        public int compareTo(Weapon o) {
            if (o instanceof Paper)
                return 0;
            else if (o instanceof Rock)
                return 1;
            return -1;
        }
    }

    public class Rock extends Weapon {

    @Override
    public int compareTo(Weapon o) {
        if (o instanceof Rock)
            return 0;
        else if (o instanceof Scissors)
            return 1;
        return -1;
    }
}

    public class Scissors extends Weapon {

    @Override
    public int compareTo(Weapon o) {
        if (o instanceof Scissors)
            return 0;
        else if (o instanceof Paper)
            return 1;
        return -1;
    }
}

我目前有以下资料:

Public MustInherit Class Weapons

Public Class Rock
    Inherits Weapons

    Public Function compareTo(ByVal Weapons As Object) As Integer


    End Function

End Class

Public Class Paper
    Inherits Weapons

    Public Function compareTo(ByVal Weapons As Object) As Integer

    End Function

End Class

Public Class Scissors
    Inherits Weapons

    Public Function compareTo(ByVal Weapons As Object) As Integer

    End Function

End Class

结束类

谁能好心地更正代码,以便可以比较岩石,纸和剪刀物体。如有任何帮助,将不胜感激。

谢谢

共有1个答案

乜业
2023-03-14

像这样:

Public Class Rock
    Inherits Weapons

    Public Function compareTo(ByVal Weapons As Object) As Integer
        If TypeOf Weapons Is Rock Then
            Return 0
        ElseIf TypeOf Weapons Is Scissors Then
            Return 1
        Else
            Return -1
        End If
    End Function
End Class

' etc.
 类似资料:
  • 我的任务是编写一个程序,让用户对着电脑玩石头、纸、剪刀的游戏。 说明: 主方法应该有两个嵌套的循环,其中外循环将允许用户根据需要经常玩游戏,内循环将玩游戏,只要有一个平局。在userChoice()方法的while循环中调用方法isValidChoice()来验证用户输入的选项必须是“Rock”、“Paper”或“Scissors”。如果输入了无效的字符串,isValidChoice()将返回fa

  • 我写了一个“石头、布、剪刀”游戏: 它可以工作,但是,这是很多s,我知道这对于语句时,问题是我不知道如何。 我试着根据输入使用一个返回语句:“返回0代表石头,1代表布,2代表剪刀”,然后使用一个条件来表示“嘿,如果一个玩家返回1,另一个玩家也返回1,那么就把‘平局’放进去,其他可能的结果也一样。”。 我试图将一个数字与结果联系起来:

  • 本文向大家介绍Java实现石头剪刀布小游戏,包括了Java实现石头剪刀布小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下 代码: 运行效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在为我的Java入门课做一个“石头,纸,剪刀”游戏。这里是提示:创建一个“石头,纸,剪刀”的游戏,在这里计算机随机选择石头,纸,或剪刀。让用户输入一个1、2或3的数字,每个数字代表三种选择中的一种。确定胜利者。游戏应该要求用户重新玩,如果是继续玩,如果不是停止玩。一旦用户停止播放,程序应该打印总的胜利数。 我在正确的位置声明我的变量时遇到了问题,因为我试图使用一个方法,这样我就可以调用它来再次

  • 本文向大家介绍Java实现的剪刀石头布游戏示例,包括了Java实现的剪刀石头布游戏示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的剪刀石头布游戏。分享给大家供大家参考,具体如下: ChoiceAnswer.java Game.java 运行结果: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《

  • 本文向大家介绍Python实现石头剪刀布游戏,包括了Python实现石头剪刀布游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了一个简单的小游戏,分享给大家。 利用随机函数制作石头剪刀布小游戏 程序只运行一次 每次出拳一次要运行一次,很麻烦,要让程序一直运行 在程序中加个while条件就解决啦 长期玩游戏不利于身心健康,玩游戏要有度 那就默认游戏一开始有三次机会吧,每玩一次减掉一次