kelfen (Normal User)
Newbie
Messaggi: 14
Iscritto: 31/10/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 |
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Ti conviene scaricare uno di quei dizionari in formato .txt con tante parole e selezionare una riga a caso con la parola.
|
|
kelfen (Normal User)
Newbie
Messaggi: 14
Iscritto: 31/10/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
|
|
munkaka (Member)
Pro
Messaggi: 119
Iscritto: 07/09/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)
|
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Non necessariamente, controlla quali librerie sta includendo il tuo compilatore... e compila in modalità Release, non Debug.
|
|
munkaka (Member)
Pro
Messaggi: 119
Iscritto: 07/09/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 |
|
kelfen (Normal User)
Newbie
Messaggi: 14
Iscritto: 31/10/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++ |
#include <iostream> #include <fstream> #include <time.h> using namespace std; int p,s=0; char lett[10]; Così mi visualizza tutte le parole: void txt() { ifstream textprog("textprog.txt"); while(textprog) { textprog.getline(lett,10); cout<<lett<<endl; } system("pause>nul"); } void main() { srand((unsigned)time(NULL)); p=rand()%4; cout<<p<<endl; txt(); }
|
mentre se tiro via il while, mi visualizza solo la prima riga
Codice sorgente - presumibilmente Plain Text |
textprog.getline(lett,10);
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
Ultima modifica effettuata da kelfen il 27/11/2008 alle 22:52 |
|
munkaka (Member)
Pro
Messaggi: 119
Iscritto: 07/09/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++ |
//trovo il numero di righe
ifstream leggi ("text.txt");
char riga[25];
int nrighe=0;
while(!leggi.eof())
{
leggi.getline(riga,25);
nrighe++;
}
leggi.close();
//prendo una riga casuale
int pos=1+rand()%nrighe;
ifstream testo ("text.txt");
for(int j=1;j<=pos;j++)
testo.getline(riga,25);
testo.close();
|
|
|
kelfen (Normal User)
Newbie
Messaggi: 14
Iscritto: 31/10/2008
|
Grazie mille!!!!!!!
funziona perfettamente
|
|