Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java]

    codice:
    private void createRooms()     {         Room outside, courtyard, throneroom, stairs, doungeon, hallways;                // create the rooms         outside = new Room("outside the Castle");         courtyard = new Room("in Countyard");         throneroom = new Room("in the throneroom");         stairs = new Room("on the stairs");         doungeon = new Room("in the doungeon");         hallways= new Room("in the hallways");                  // initialise room exits         outside.setExit("north", courtyard);                  courtyard.setExit("east", throneroom);         courtyard.setExit("South", courtyard);                  throneroom.setExit("north", stairs);         throneroom.setExit("west", stairs);                  stairs.setExit("up", hallways);         stairs.setExit("down", doungeon);         stairs.setExit("south", throneroom);                  doungeon.setExit("up", stairs);          hallways.setExit("dowwn", stairs);          currentRoom = outside;  // start game outside     }

    solo che vorrei riuscirli a creare in trammite un array in modo da poter controllare l'indice con un randoom che ho creato prima e settare un campo della classe Room che si chiama chiave a true ma solo per quella stanza solo che non ho idea di come fare o meglio quelli che ho provato non vanno qualcuno potrebbe darmi una mano...

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Personalmente ti invito a riformulare la domanda perchè così come l'hai posta non è molto chiara. Idem per il codice (tutto sulla stessa riga non è molto leggibile).

  3. #3
    scusate l'ho postato di fretta:

    codice:
    private void createRooms()     {        
    
     Room outside, courtyard, throneroom, stairs, doungeon, hallways;
                   
    // create the rooms         
    
    outside = new Room("outside the Castle");         
    courtyard = new Room("in Countyard");         
    throneroom = new Room("in the throneroom");        
    stairs = new Room("on the stairs");         
    doungeon = new Room("in the doungeon");         
    hallways= new Room("in the hallways");
    
    // initialise room exits         
    
    outside.setExit("north", courtyard);                 
    
    courtyard.setExit("east", throneroom);         
    courtyard.setExit("South", courtyard);                  
    
    throneroom.setExit("north", stairs);         
    throneroom.setExit("west", stairs);                  
    
    stairs.setExit("up", hallways);         
    stairs.setExit("down", doungeon);         
    stairs.setExit("south", throneroom);                  
    
    doungeon.setExit("up", stairs);          
    
    hallways.setExit("dowwn", stairs);          
    
    currentRoom = outside;  
    
    // start game outside     }

    ho creato questi oggetti tramite una classe Room ora vorrei metterli in un'array in modo da poter passare il numero di stanze create a un generatore randoom gia creato e settare un valore Keyposition presente in room, ma questo so come farlo mi serve come mettere questi oggetti in un'array cosi come sono stati istanziati

  4. #4
    Cioe' vuoi che il metodo ritorni un array di rooms? Non si capisce bene.
    Se e' cosi':

    codice:
    private Room[] createRooms()     {        
    
     Room outside, courtyard, throneroom, stairs, doungeon, hallways;
                   
    // create the rooms         
    
    outside = new Room("outside the Castle");         
    courtyard = new Room("in Countyard");         
    throneroom = new Room("in the throneroom");        
    stairs = new Room("on the stairs");         
    doungeon = new Room("in the doungeon");         
    hallways= new Room("in the hallways");
    
    // initialise room exits         
    
    outside.setExit("north", courtyard);                 
    
    courtyard.setExit("east", throneroom);         
    courtyard.setExit("South", courtyard);                  
    
    throneroom.setExit("north", stairs);         
    throneroom.setExit("west", stairs);                  
    
    stairs.setExit("up", hallways);         
    stairs.setExit("down", doungeon);         
    stairs.setExit("south", throneroom);                  
    
    doungeon.setExit("up", stairs);          
    
    hallways.setExit("dowwn", stairs);          
    
    currentRoom = outside;  
    
    Room[] rooms = new Room[6];
    rooms[0] = outside;
    rooms[1] = courtyard;
    //eccetera
    
    return rooms;
    
    // start game outside     }
    oppure non ho capito quello che vuoi fare, e quindi dovresti porre bene il problema.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Ricordo che il titolo delle discussioni è obbligatorio.
    In questo caso l'ho aggiunto io (ho cercato di capire quale fosse il problema e di sintetizzarlo nel titolo perchè, effettivamente, non è molto chiaro).

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    vi espongo direttamente il problema magari qualcuno mi da una soluzione migliore:

    ho delle stanze ora devo nascondere una chiave all'interno di una di queste stanze...

    io avevo pensato di trasformare la lista delle stanze in un'array in modo da confrontare l'indice con un randoom e settare un valore a true in modo che quando entro in quella stanza appaia la chiave...ora il problema e che non riesco a trasformare la lista degli oggetti stanze in un'array

    qualsiasi idea è ben accetta...

  7. #7
    Ma dov'e' questa lista? Nel codice che hai postato c'e' un metodo, che non ritorna nulla, e dentro al metodo non c'e' una lista di stanze ma 6 oggetti di tipo Room.

    Potresti fare una
    codice:
    List<Room> rooms = new ArrayList<Room>(6);
    
    //ogni volta che crei una stanza invece che crearle come hai fatto tu fai ad esempio:
    rooms.add(new Room("outside the Castle"));
    
    //il tipo di ritorno del metodo sara' List<Room>
    //il valore di ritorno sara' rooms
    poi fai un metodo
    codice:
    public Room getRandomRoom (List<Room> rooms)
    {
      Random r = new Random();
      return (rooms.get(r.nextInt(rooms.size() - 1));
    }
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.