I need help to solve my codes

profilePato38
lab_4.zip

VideoGames/.classpath

VideoGames/.project

VideoGames org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature

VideoGames/.settings/org.eclipse.jdt.core.prefs

eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7

VideoGames/bin/Main/Main.class

package Main;
public synchronized class Main {
    public void Main();
    public static void main(String[]);
    public static Warriors.Warrior getWarriorAndWeapon();
}

VideoGames/bin/Warriors/ArtilleryWarrior.class

package Warriors;
public synchronized class ArtilleryWarrior extends Warrior {
    public void ArtilleryWarrior(Weapons.IWeapon);
    public int getHealth();
}

VideoGames/bin/Warriors/CavalryWarrior.class

package Warriors;
public synchronized class CavalryWarrior extends Warrior {
    public void CavalryWarrior(Weapons.IWeapon);
    public int getHealth();
}

VideoGames/bin/Warriors/InfantryWarrior.class

package Warriors;
public synchronized class InfantryWarrior extends Warrior {
    public void InfantryWarrior(Weapons.IWeapon);
    public int getHealth();
}

VideoGames/bin/Warriors/Warrior.class

package Warriors;
public abstract synchronized class Warrior {
    private Weapons.IWeapon weapon;
    public void Warrior(Weapons.IWeapon);
    public int Attack();
    public abstract int getHealth();
}

VideoGames/bin/Weapons/Gun.class

package Weapons;
public synchronized class Gun implements IWeapon {
    public void Gun();
    public int Strike();
}

VideoGames/bin/Weapons/IWeapon.class

package Weapons;
public abstract interface IWeapon {
    public abstract int Strike();
}

VideoGames/bin/Weapons/Knife.class

package Weapons;
public synchronized class Knife implements IWeapon {
    public void Knife();
    public int Strike();
}

VideoGames/bin/Weapons/Sword.class

package Weapons;
public synchronized class Sword implements IWeapon {
    public void Sword();
    public int Strike();
}

VideoGames/src/Main/Main.java

VideoGames/src/Main/Main.java

package   Main ;

import  java . util . ArrayList ;
import  java . util . Random ;
import   Warriors . * ;
import   Weapons . * ;

public   class   Main   {

     public   static   void  main ( String []  args )   {
         ArrayList < Warrior >  warriors  =   new   ArrayList < Warrior > ();
         for   ( int  i  =   0 ;  i  <   10 ;  i ++ )   {
            warriors . add ( getWarriorAndWeapon ());
         }
         for ( Warrior  element :  warriors ){
             System . out . println ( element . getClass ()   +   " attack strength is: "   +  element . Attack ()   +   " Full health is: "   +  element . getHealth ());
         }

     }

     public   static   Warrior  getWarriorAndWeapon ()   {
         Random  generator  =   new   Random ();

         int  chooseWeapon  =  generator . nextInt ( 3 );

         if   ( chooseWeapon  ==   0 )   {
             return   new   Warriors . ArtilleryWarrior ( new   Gun ());
         }
         if   ( chooseWeapon  ==   1 )   {
             return   new   Warriors . InfantryWarrior ( new   Knife ());
         }   else   {
             return   new   Warriors . CavalryWarrior ( new   Sword ());
         }
     }
}

VideoGames/src/Warriors/ArtilleryWarrior.java

VideoGames/src/Warriors/ArtilleryWarrior.java

package   Warriors ;

import   Weapons . IWeapon ;

public   class   ArtilleryWarrior   extends   Warrior {

     public   ArtilleryWarrior ( IWeapon  weapon )   {
         super ( weapon );
     }

    @ Override
     public   int  getHealth ()   {
         // TODO Auto-generated method stub
         return   2 ;
     }
    

}

VideoGames/src/Warriors/CavalryWarrior.java

VideoGames/src/Warriors/CavalryWarrior.java

package   Warriors ;

import   Weapons . IWeapon ;

public   class   CavalryWarrior   extends   Warrior {

     public   CavalryWarrior ( IWeapon  weapon )   {
         super ( weapon );
     }

    @ Override
     public   int  getHealth ()   {
         // TODO Auto-generated method stub
         return   8 ;
     }

}

VideoGames/src/Warriors/InfantryWarrior.java

VideoGames/src/Warriors/InfantryWarrior.java

package   Warriors ;

import   Weapons . IWeapon ;

public   class   InfantryWarrior   extends   Warrior {

     public   InfantryWarrior ( IWeapon  weapon )   {
         super ( weapon );
     }

    @ Override
     public   int  getHealth ()   {
         // TODO Auto-generated method stub
         return   4 ;
     }

}

VideoGames/src/Warriors/Warrior.java

VideoGames/src/Warriors/Warrior.java

package   Warriors ;
import   Weapons . IWeapon ;

public   abstract   class   Warrior   {
     private   Weapons . IWeapon  weapon ;
    
     public   Warrior ( IWeapon  weapon ){
         this . weapon  =  weapon ;
     }
     public   int   Attack (){
         return  weapon . Strike ();
     }
    
     public   abstract   int  getHealth ();

}
    

VideoGames/src/Weapons/Gun.java

VideoGames/src/Weapons/Gun.java

package   Weapons ;

public   class   Gun   implements   IWeapon {
    @ Override
     public   int   Strike ()   {
         return   2 ;
     }
}

VideoGames/src/Weapons/IWeapon.java

VideoGames/src/Weapons/IWeapon.java

package   Weapons ;

public   interface   IWeapon   {
     public   int   Strike ();

}

VideoGames/src/Weapons/Knife.java

VideoGames/src/Weapons/Knife.java

package   Weapons ;

public   class   Knife   implements   IWeapon   {
    @ Override
     public   int   Strike ()   {
         return   4 ;
     }
}

VideoGames/src/Weapons/Sword.java

VideoGames/src/Weapons/Sword.java

package   Weapons ;

public   class   Sword   implements   IWeapon {
    @ Override
     public   int   Strike ()   {
         return   8 ;
     }
}