Precedente :: Successivo |
Autore |
Messaggio |
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 12:33 Oggetto: |
|
|
Grazie per l'aiuto Crono,
in realtà era la direzione in cui mi ero mosso anch'io, il fatto è, che nel creare cicli di controllo a runtime [for(list<NODO>::iterator it=lst.begin(); it!=lst.end(); it++)] mi fa perdere FPS.
Stò cercando un sistema diverso, vi tengo aggiornati se ci riesco.
Ma se qualkuno vuole esporre idee che ben vengano. |
|
Top |
|
|
Crono Semidio
Registrato: 24/03/05 14:12 Messaggi: 224 Residenza: Trieste
|
Inviato: 13 Lug 2007 14:25 Oggetto: |
|
|
Ho condotto un piccolo test e il seguente codice è risultato un pò più veloce rispetto al ciclo for
Codice: | unsigned int i=0;
list<NODO>::iterator it=lst.begin();
while(i<lst.size()) {
//codice da eseguire
i++;
it++;
} |
|
|
Top |
|
|
Crono Semidio
Registrato: 24/03/05 14:12 Messaggi: 224 Residenza: Trieste
|
Inviato: 13 Lug 2007 14:37 Oggetto: |
|
|
Ora mi è venuto in mente che puoi creare una ulteriore lista contenente gli indirizzi dei soli membri attivi e fare il ciclo solo su quest'ultima |
|
Top |
|
|
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 14:46 Oggetto: |
|
|
Penso di aver risolto ... guarda e dimmi cosa te ne sembra ...
Codice: |
#include <iostream>
#include <cstdlib>
using namespace std;
struct lista {
int val;
lista *next;
};
int conta_lista=0; //contatore
void stampa(lista *p) {
if(p != NULL) {
cout << p -> val << ' ';
stampa(p -> next);
}
}
void inserisci(lista *&p, int x) {
if(p == NULL) {
p = new lista;
p -> val = x;
p -> next = NULL;
conta_lista++; //contatore
}
else inserisci(p -> next,x);
}
void cancella(lista *&p, int x) {
if(p != NULL) {
if(p -> val== x){
p=NULL;
conta_lista--; //contatore
}else{
cancella(p -> next, x);
}
}
void main() {
lista *p = NULL;
for(int i = 0; i < 10; i++) inserisci(p,i);
stampa(p);
cancella (p,5);
stampa (p);
}
|
|
|
Top |
|
|
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 15:16 Oggetto: |
|
|
Mmmmmm non ci siamo .... GRRRRRRRRRRRRRR |
|
Top |
|
|
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 15:47 Oggetto: |
|
|
OK funziona Ufffff....
Codice: |
#include <iostream>
#include <cstdlib>
using namespace std;
struct lista {
int val;
lista *next;
};
void inserisci(lista *&p, int x) {
if(p == NULL) {
p = new lista;
p -> val = x;
p -> next = NULL;
}
else inserisci(p -> next,x);
}
void stampa(lista *p) {
if(p != NULL) {
cout << p -> val << ' ';
stampa(p -> next);
}
}
void cancella(lista *&p, int x) {
if(p != NULL) {
if(p -> val == x) {
p = p -> next;
return;
}
else cancella(p -> next, x);
}
}
int num_elem(lista *p) {
if(p == NULL) return 0;
return 1 + num_elem(p -> next);
}
void main() {
int x;
int n;
lista *p = NULL;
for(int i = 0; i < 10; i++) inserisci(p,i);
n = num_elem(p);
stampa(p);
cout <<"\n Elements: " << n;
cout <<"\n x = "; cin >> x;
cancella(p,x);
n = num_elem(p);
stampa(p);
cout <<"\n Elements: " << n;
cout << '\n'; system("pause");
}
|
|
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 13 Lug 2007 15:56 Oggetto: |
|
|
Diegs ha scritto: | Certo che ti dico tutto e con vero piacere ... |
fantastico... mi ci butto a capofitto grazie |
|
Top |
|
|
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 16:11 Oggetto: |
|
|
Se hai bisogno non esitare a chiedere ...
Per iniziare ti consiglio un buon sito dove trovare sprite:
http://sdb.drshnaps.com/index.htm
Se ti interessano alte Info su altri engine 2D/3D chiedi pure. ^_^ |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 13 Lug 2007 16:14 Oggetto: |
|
|
Diegs ha scritto: | Se hai bisogno non esitare a chiedere ... |
ah non sai in che guaio rischi di metterti...
Diegs ha scritto: | Per iniziare ti consiglio un buon sito dove trovare sprite |
...credo invece che sentirò i miei storici collaboratori e vediamo che ne dicono |
|
Top |
|
|
Diegs Mortale devoto
Registrato: 12/07/07 12:17 Messaggi: 14
|
Inviato: 13 Lug 2007 17:43 Oggetto: |
|
|
Citazione: | ah non sai in che guaio rischi di metterti... Wink |
No problem --- No problem ...
Cmq il gioco che stò facendo su DS lo avevo fatto in 3D per PC ...
Ma non era un gioco adatto per PC e quindi ci siamo spostati su DS.
Se vuoi dare un occhiata al video del gioco nella versione 3D puoi scaricarlo da:
http://www.torabyte.com/videoreel/sb.rar
okkio che è 65 MB
e poi c'è la recensione apparsa questo mese sul num di TGM in TalentZone se vuoi dare un occhiata:
http://www.torabyte.com/videoreel/recensione.rar
[/quote] |
|
Top |
|
|
|