Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - parole casuali (Impiccato)
Forum - C/C++ - parole casuali (Impiccato)

Avatar
kelfen (Normal User)
Newbie


Messaggi: 14
Iscritto: 31/10/2008

Segnala al moderatore
Postato alle 20:50
Venerdì, 21/11/2008
Ho creato il gioco dell'impiccato, ma per il momento si può giocare solo in 2, uno scrive la parola l'altro la indovina, e quindi si farebbe prima a farlo su carta...

Qualcuno mi riuscirebbe a spiegare come fargli prendere 1 parola a caso tra quelle che inserisco io nel programma? (oppure in qualche altro modo)

a me era venuto in mente di usare il random, solo che dovrei assegnare a ogni parola un numero e mettere una marea di if


ps. ecco il link del gioco.
non è niente di che, nn ha neanke la grafica, ho iniziato a programmare da soli 2 mesi.
http://www.megaupload.com/it/?d=M3SPK0GU

Ultima modifica effettuata da kelfen il 21/11/2008 alle 20:52
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 22:33
Venerdì, 21/11/2008
Ti conviene scaricare uno di quei dizionari in formato .txt con tante parole e selezionare una riga a caso con la parola.


Il mio blog: https://piero.dev
PM Quote
Avatar
kelfen (Normal User)
Newbie


Messaggi: 14
Iscritto: 31/10/2008

Segnala al moderatore
Postato alle 19:18
Lunedì, 24/11/2008
scusate se rispondo solo ora ma ho dovuto formattare il pc

cmq ok domani chiederò al mio prof come si fa.

ah un'ultima cosa,
come mai quando creo il file .exe queso non parte sui pc dove nn è installato visual studio?
come posso fare per risolvere?

grazie ciao

PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 7:39
Giovedì, 27/11/2008
per farlo partire su altri computer devi scaricarti un pacchetto che fornisce la microsoft installarlo sull altro pc, oppure usi un'altro ide, tipo devc++, o visual studio 6 (è vecchiotto pero)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 15:08
Giovedì, 27/11/2008
Non necessariamente, controlla quali librerie sta includendo il tuo compilatore... e compila in modalità Release, non Debug.


Il mio blog: https://piero.dev
PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 22:47
Giovedì, 27/11/2008
ho gia provato in mille modi, con visual studio 2008 anche se si compila in release non funziona. Con il 2005 invece non so perchè a volte mi capita che funziona, poi magari lo devo reinstallare e non funziona piu, boh
con devc++ e visual studio 6 invece funziona sempre, con code:blocks non lo so

Ultima modifica effettuata da munkaka il 27/11/2008 alle 22:51
PM Quote
Avatar
kelfen (Normal User)
Newbie


Messaggi: 14
Iscritto: 31/10/2008

Segnala al moderatore
Postato alle 22:48
Giovedì, 27/11/2008
ah ok!
cmq le libreire che includo sono:
#include <iostream>
#include <string.h>    
#include <windows.h>                      
#include <time.h>  


Un'altra cosa
adesso sto aggiungendo il single player e quindi ho creato un file txt con dentro tutte le parole possibili.
Il mio problema è che non riesco a scegliere quale riga fargli leggere

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <fstream>
  3. #include <time.h>
  4. using namespace std;
  5.  
  6. int p,s=0;
  7. char lett[10];
  8.  
  9.  
  10. Così mi visualizza tutte le parole:
  11. void txt()
  12. {
  13.   ifstream textprog("textprog.txt");
  14.   while(textprog)
  15.   {
  16.   textprog.getline(lett,10);
  17.   cout<<lett<<endl;
  18.   }
  19.   system("pause>nul");
  20. }
  21. void main()
  22. {
  23.     srand((unsigned)time(NULL));
  24.         p=rand()%4;
  25.         cout<<p<<endl;
  26.     txt();
  27. }





mentre se tiro via il while, mi visualizza solo la prima riga
Codice sorgente - presumibilmente Plain Text

  1. textprog.getline(lett,10);
  2.  cout<<lett<<endl;




ho cercato ovunque su internet anche su questo forum
ma non ho trovato nulla, o comunque non l'ho capito

Grazie per tutte le dritte
:k:

Ultima modifica effettuata da kelfen il 27/11/2008 alle 22:52
PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 22:59
Giovedì, 27/11/2008
potresti mettere tutte le parole in un array e poi decidere con rand che parola prendere, oppure se non vuoi metterle in un array puoi prima contare quante righe ci sono nel tuo txt e poi con un rand che genera numeri fino al massimo il numero di righe decidere che riga prendere dal testo, cosi per esempio:
Codice sorgente - presumibilmente C/C++

  1. //trovo il numero di righe
  2. ifstream leggi ("text.txt");
  3. char riga[25];
  4. int nrighe=0;
  5. while(!leggi.eof())
  6. {
  7. leggi.getline(riga,25);
  8. nrighe++;
  9. }
  10. leggi.close();
  11. //prendo una riga casuale
  12. int pos=1+rand()%nrighe;
  13. ifstream testo ("text.txt");
  14. for(int j=1;j<=pos;j++)
  15.     testo.getline(riga,25);
  16. testo.close();


PM Quote
Avatar
kelfen (Normal User)
Newbie


Messaggi: 14
Iscritto: 31/10/2008

Segnala al moderatore
Postato alle 0:44
Venerdì, 28/11/2008
Grazie mille!!!!!!!

funziona perfettamente :k::k::k:

PM Quote