visningsna Skrevet 18. mars 2015 Del Skrevet 18. mars 2015 Hei!Holder på med grunnkurs i programmering og sitter litt fast på en oppgave. Vi holder på å lage et enkelt rollespill, og dette er mainmetoden vår. Får opp illegal start of expression på :FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>); Her er resten av koden i samme klasse: import java.util.ArrayList; /** * Starts the game - creates a player and three items, adds * the items to players inventory, and prints out the information * about player. * Adds the opponents to an ArrayList * @param args */ public static void main(String[] args) { Player player1 = new Player("Billy", "Thief", 50, 100, 25); Item item1 = new Item("Band-aid", "Repairs wounds", 40, 8, "au", true); Item item2 = new Item("Knife", "A small but sharp blade", 10, 1, "cuts", false); Item item3 = new Item("Colt .45", "A fine six-shot revolver", 50, 3, "shoots", false); player1.addItem(item1); player1.addItem(item2); player1.addItem(item3); player1.toString(); Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100); Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100); Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100); FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>); //FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>); } } Er det noen som ser noe som er galt? Har ArrayList til opponent i en battle-klasse. Lenke til kommentar
visningsna Skrevet 18. mars 2015 Forfatter Del Skrevet 18. mars 2015 Det er forresten meningen at playeren skal spille mot en tilfeldig opponent. Lenke til kommentar
Enthroner Skrevet 18. mars 2015 Del Skrevet 18. mars 2015 (endret) Det kan hende du mener: Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100); Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100); Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100); ArrayList <Opponent> enemies = new ArrayList<Opponent>(); enemies.Add(opponent1); enemies.Add(opponent2); enemies.Add(opponent3); FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, enemies); //hvis linjen over ikke kompilerer, kan det hende du egentlig bare vil ha en opponent? Fungerer i så fall denne:? FieldOfHonor fieldofhonor2 = new FieldOfHonor(player1, opponent1); Endret 18. mars 2015 av Enthroner 1 Lenke til kommentar
Joachim Hansen Skrevet 6. april 2015 Del Skrevet 6. april 2015 Det kan hende du mener: Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100); Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100); Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100); ArrayList <Opponent> enemies = new ArrayList<Opponent>(); enemies.Add(opponent1); enemies.Add(opponent2); enemies.Add(opponent3); FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, enemies); //hvis linjen over ikke kompilerer, kan det hende du egentlig bare vil ha en opponent? Fungerer i så fall denne:? FieldOfHonor fieldofhonor2 = new FieldOfHonor(player1, opponent1); Det Enthroner skriver her gir mer mening, for han sender med en liste. Det som skjer da, er at han sender med en referanse til enemies lista og I FieldOfHonor kan man da jobbe direkte med denne lista og dets data. Det du (visningsna) har gjort er å sende med typen som argument. // det er hverken en referanse eller noe liste som blir sendt her FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>); //Hvis du skulle ha sendt med en tom liste, kunne du gjort noe lignende dette: FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, new ArrayList <Opponent, enemies>); Husk nøkkelordet new Lykke til Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå