-
Posts
646 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by Keroro
-
Proposta e sondaggio
Keroro replied to UomoSenzaMilza's topic in Progetti (mobile o con altri tool o linguaggi)
lino: blablabla gm è adatto solo a chi ha intenzione di imparare o sa programmare e soprattutto non è sfaticato, per anni ho fatto da mod in gamemaker.it (sezioni programmazione e progetti) e nessuno c'ha mai cavato un ragno fuori dal buco. Se ancora non ci combini niente e parli per sentito dire interrompi qui... la serie di disgrazie legata a gamemaker è già troppo lunga! Timisci: quoto UomoSenzaMilza: anch'io uso linux (in attesa di installare anche winxp), non mi piace ohrrpgce e per sviluppare giochi uso soltanto c con le sdl riflettete sul fatto che in altri tools il topic più attivo (eccetto questo privo di senso) è supporto per il linguaggio c che non c'entra una mazza con il creare giochi (almeno non direttamente), -
mana io mi ricordo di te (oltre che come ghei di RO) e di tutto quello che hai scritto riguardo vgmaker anche perché ti eri iscritto molto dopo di me :P chi si ricorda di quando era hostato su fantasybook (o simile)? chi si ricorda kkroth22 niubbo prima che joinasse l'helltalez? dell'implacabile NikyAT1 che tristemente in molti cercarono di imitare senza successo? della morte (o forse erano 2) di Master il primo aprile (ci sono rimasto malissimo per quello scherzo) dei bestemmioni di kaiser quando si sono ripresi il canale #vgmaker? di damacorp all'apertura di gamesoul? del defunto gamemaker.it ._.
-
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
Dati: int *funz1(int v[],int ricerca); int * p; a prescindere di come hai costruito la funzione (che non ho controllato, e non intendo fare fino a quando non studi i puntatori!) mi spieghi qui che cazzo fai? è un errore gravissimo!!! *p=*funz1(v,ricerca); impara cosa significa deferenziare un vettore kplz! come l'hai scritta tu significa: copia il valore intero, contenuto all'interno della posizione di memoria restituita dalla funzione, dentro il valore della posizione di memoria individuata da p, MA p non ha nessuna zona di memoria associata! funzionerebbe se prima avessi dato una posizione di memoria a p con p=(int*)malloc(sizeof(int)); ma a quel punto non avrebbe avuto senso far restituire alla funzione un puntatore piuttosto che il valore! i puntatori sono fatti per evitare di duplicare inutilmente la memoria, quindi, con una int * funz1(...); implementata bene il codice da mettere è: p=funz(...); che significa far puntare p alla stessa posizione di memoria puntata dal risultato della funzione -
otaku baro :\ tu non hai mai rippato né fatto demo :P non è una questione di vecchia guardia ma di malinconici di dream maker, le cose sono ben diverse
-
io l'ho rimosso a mano, stava in c:\windows\system32, lavorando contemporaneamente sia sul registro sia sui file, dopo qualche riavvio i file non si rigeneravano più :E
-
le dll fatte in VB non sono compatibili serve ancora a qualcuno una dll per interagire con database mysql?
-
il partizionamento è possibile sempre, anche dopo l'acquisto ma che spreco metterci winz nella partizione ._. fanne una con linux :E io se avessi i soldi comprerei un macbook pro 15" bianco, che ha una bella nvidia :Q_ per pennine e HD esterni dipende tutto da i driver, le penne in genere sono molto compatibili perché usano bene o male quasi tutti lo stesso standard per gli hd esterni se non funzionano devi incrociare le dita e sperare che ci siano i driver per macosx/linux disponibili da qualche parte (in teoria dovrebbero essere quasi gli stessi visto che macosx è basato su unix) EDIT: per avere altri OS oltre alla partizione puoi usare programmi di virtualizzazione ;)
-
non alla windows ma un framework con bottoni, label, layer, checkbox (guarda l'uso che se ne fa ragnarok online ad esempio)
-
ma poverino, prendi questo lecca lecca. dovresti fare la maturità? nessuno ti giudicherebbe maturo! quoto mahun, o ti trovi una ragazza o inizi ad ammazzarti di seghe, l'importante è che non ti fai queste fisime, stiamo tutti evitando di dirti direttamente che ad ogni post incrementi lo scherno su te stesso!
-
be magari tu ne puoi colpire uno alla volta, ma ciò non toglie che se sei attorniato da nemici, non ha senso che si girino i pollici aspettando un combattimento 1 vs 1 :)
-
i giovani d'oggi. i loro problemucci sono sempre i peggiori del mondo... la maturità è una farsa, con i professori esterni vi va di culo rispetto a chi come me si è giocato 10 punti all'orale a causa di professoresse con cui ho litigato, uscendo con appena 84! e il voto di diploma non conta neanche un cazzo, basta passarlo, tanto nelle università scientifiche non serve a niente, entri passando un test (al politecnico di milano è addirittura ininfluente ;), tanto poi ci pensano gli esami a segarti )
-
piuttosto che bloccare gli altri mostri disattivali se sono abbastanza distanti, in questo modo se ci sono 3 guardie vicine, arriveranno tutte e tre a mazzolarti
-
se vuoi disattivare il bios prendi una sedia ed inizia a colpire violentemente il case, prima o poi si disattiva :)
-
a 16 anni con una di 23? non funzionerà mai. Te lo dico per esperienza e forse per vantarmi un pochino, la mia ragazza ha 23 anni, io 20 e con un po' di fatica riesco a colmare il divario tra di noi... o almeno ci provo con un 16 enne il divario emotivo sociologico e psicologico è enorme. Inoltre il tuo arnese non è pienamente sviluppato quindi a letto saresti una delusione (ma tanto non ci arriverai mai perché da come scrivi lei ti ha già etichettato come amico gay e confidente), non saresti un granché neanche come amante: di cosa dialogate? dei pòkemon? la seduci con un disegno? quando la porti fuori paga lei o vengono i tuoi genitori a prenderti? o peggio usi un motorino da sfigatello? andate a ballare in disco e non ti fanno entrare perché sei piccolo? se l'attaccano degli extracomunitari riusciresti a difenderla? non penso proprio... sei un ragazzino innamorato come una pera cotta, ma le donne lì fuori sono tremende se non le sai prendere: in questo caso ti prenderai una inculata mostruosa se ci provi nei prossimi mesi (che fortunatamente io alla tua età presi a metà perché mi salvai in corner :) )... se sei testardo (scemo) e vuoi dannarti la vita prima devi prima riabilitare la tua immagine e ti servirà tempo... non prendertela a male... prenditela in culo :)
-
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
con fread(vettore_di_interi,sizeof(int),numero_di_elementi,puntatorefile); i numeri interi da un file binario li leggi! spiega meglio le tua esigenze... Approfondimento: Se non vuoi usare fread, per leggere un intero puoi prima mettere il file o una parte di file n un array di unsigned char e poi convertire come ti mostro qui sotto: a patto che il tuo sistema sia intel (e quindi little endian) 32 bit (e quindi un intero è 32 bit, un char 8 bit) Defs: little endian:= il carattere più significativo è l'ultimo big endian:= il carattere più significativo è il primo unsigned char * intero = (unsigned char *)malloc(dimensione_file); fread(intero,1,dimensione_file,file); fclose(file); ora per semplicità immaginiamo che in realtà definisci tu i valori del vettore e vuoi convertire solo i primi 4 uchar unsigned char intero[N]; unsigned char intero[0] = 'a'; unsigned char intero[1] = '3'; unsigned char intero[2] = 'ç'; unsigned char intero[3] = '@'; ... unsigned int temp = intero[0]+256*intero[1]+256*256*intero[2]+256*256*256*intero[3]; int * risultato = (int*)&temp; //per avere l'intero o fai così o prendi l'unsigned e vi sommi -2147483648 printf("intero: %d\n",*risultato); se invece stai in un sistema big endian devi invertire gli indici dei vettori nella conversione (3 -i) quindi unsigned int temp = intero[3-0]+256*intero[3-1]+256*256*intero[3-2]+256*256*256*intero[3-3]; (puoi benissimo semplificare ma così capisci che un big endian è un little endian invertito e viceversa) nota: sto parlando senza neanche provare sul compilatore quindi ci potrebbero essere degli errori, ma mi sta bene così, i concetti comunque sono giusti e non sono abbastanza interessato da controllare Kamahl: certo, il C99 non è pienamente supportato, ma mettere un // come commento lo supportano tutti i compilatori ;). Per quello che si fa in uni e per i programmi che realizzo l'implementazione di C99 in GCC basta e avanza, dove necessito di funzionalità avanzate utilizzo le api del sistema su cui mi trovo (cosa che avrei comunque dovuto fare in C89, ad esempio vedi il supporto unicode totalmente assente :)) -
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
io li rispetto, sei tu che non sei aggiornato! Uso l'ultimo standard detto C99 New Features Per quanto riguarda il problema di tio non avevo letto la domanda, pensavo avessi cannato il codice, è normale che in binario non sia leggibile perché l'intero viene convertito in una serie di char tramite divisioni intere e operazioni modulo (sizeof(int) è 4 (bytes), 1 byte = 1 char, quindi 1 int = 4 char; 1 char è un numero da 0 a 255 => 1 int = 256^4 = da -2147483648 a 2147483647). Esistono poi i formati di memorizzazione Big Endian e Little Endian che differiscono per l'ordine di posizionamento del byte più significativo. E blablablablabla :D ti conviene trovarti qualche approfondimento sulla memorizzazione dei numeri binari sulle architetture su google, da lì con qualche conoscenza di numeri binari e operazioni tra numeri binari, diventa molto semplice capire le operazioni in c. (es. come implementare uno shift a destra con ritorno :E) -
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
primo: ti ringrazio per l'int main ma identi ancora male parentesi graffe: o le usi dopo la funzione quindi int main() { codice; } oppure sotto int main() { codice; } ma mai mettere il codice così! int main() {codice; altrocodice; } o int main() { blah; altro;} per il tuo problema mi AUTOQUOTO: quindi dimentica rewind che ha utilità solo per leggere la dimensioni. una soluzione puo' essere: #include <stdio.h> #define N 5 int main() { FILE * fp = 0; int v[N] = {3,8,6,4,2}; int i; if (! (fp=fopen("testo.txt","wb"))) { printf("Errore di scrittura!\n"); getchar(); return 1; } fwrite(w,sizeof(int),N,fp); fclose(fp); //garantisce la scrittura for (i=0; i<N; i++) v[i]=0; //azzeriamo l'array if (! (fp=fopen("testo.txt","rb"))) { printf("Errore di lettura!\n"); getchar(); return 1; } fread(v,sizeof(int),N,fp); fclose(fp); for (i=0;i<N; i++) printf("%d ",v[i]); printf("\n"); fflush(stdin);getchar(); return 0; } -
non ho la minima idea di come fare senza usare gli eventi: ecco quello che avevo pensato: 1° evento: auto-inizio call script: Game_Variables[2000]=1 $schermata = Window_PlayTime.new $schermata.opacity = 0 erase event 2° evento parallel process attivazione su Variable 2000 greater or equal then 1 call script: if Input.press?(Input::A) if Game_Variables[2000]== 1 Game_Variables[2000] = 2 $schermata.opacity = 255 else Game_Variables[2000] = 1 $schermata.opacity = 0 end end dove sbaglio?
-
in teoria si potrebbe implementare in rpgmaker xp ma richiederebbe che il giocatore avesse tcl installato, ma penso che implementandolo si andrebbero a creare problemi a schermo intero/finestra zoomata e ad enfatizzare i problemi di lag. A questo punto converrebbe fare la cosa opposta: perché non riunite un po' di cervelli e cercate di creare un sistema GUI personalizzato (prendendo tk come inspiration) interno a rgss?
-
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
scusa ho sbagliato gli argomenti delle funzioni wecat1(s3,s2); wecat2(s3,s2); come un pollo concatenavo ancora con la prima stringa ^_^, ora dovrebbe funzionare! non parlavo di colleghi studenti ma di eventuali colleghi nel mondo del lavoro (se ci arriverai :P): si tratta di programmare seguendo uno standard comune piuttosto che seguendo le manie dell'insegnante! Se non capisci l'importanza di uno standard, per favore documentati o cambia università! Se non ti fidi delle mie parole chiedi a programmatori o scandaglia la rete, non sono l'unico che la pensa così ... http://www.eskimo.com/~scs/readings/voidmain.960823.html -Perché secondo me è grave non mettere int main e return 0? Immagina che tu abbia bisogno di diversi programmi e li devi mettere "insieme", vedi ad esempio come funziona dev-c++: c'è un programma ide che richiama quando deve compilare il programma make che a sua volta richiama gcc o g++ che a loro volta richiamano altri eseguibili. Per questo esistono gli standard, per garantire una comunicabilità ora immaginati che esca fuori un casino in qualche processo, come lo scopro? che ne so se il programma X salva l'errore in un file di log, ma quel file di log è usato anche da altri programmi, e così via? e soprattutto che ne sanno gli altri programmi? e il povero cristo utente finale? c'è bisogno di una risposta IMMEDIATA e che prescinda il file system: la via più semplice e memory-optimized è di cambiare la risposta finale del programma! quando andrai avanti e vedrai codici di altri vedrai che nell'INT main spesso utilizzano su errore return 1 o exit(1), non lo mettono per bellezza! Perché tramite script batch o bash (oltre via codice di un tuo programma volto a debuggare!) è possibile eseguire un programma esterno e valutarne l'output tramite un comodo if batch: IF [NOT] ERRORLEVEL number command NOT Specifies that Windows should carry out the command only if the condition is false. ERRORLEVEL number Specifies a true condition if the last program run returned an exit code equal to or greater than the number specified. -
Alcuni dubbi sulle basi del C
Keroro replied to Tio's question in Supporto (programmi, linguaggi o software)
EDIT: dove scrivo BARRA0 leggi come \ affianco ad uno 0, il forum lo filtra ti sfugge che dichiarare un puntatore è diverso dal dichiarare una stringa Dichiarare una stringa: 1) char a[5] = "ciao"; dichiara una stringa di lunghezza 5 e riempita da {'c','i','a','o','BARRA0'} 2) char * a = "ciao"; dichiara un puntatore a char che punta ad una stringa posizionata in memoria, è una notazione equivalente a quella 1 3) char a[] = "ciao"; notazione equivalente a 1 e 2, crea una stringa grande quanto "ciao" 3) char a[N]; dichiara una stringa di lunghezza N Dichiarare un puntatore: 3)char *a; //dichiara un puntatore a char che punta ad una regione casuale, ma la stringa NON esiste perché in memoria non l'hai piazzata quindi (te le piazzo così, non ho il compilatore sul pc, penso sia comprensibile e funzioni) #include <stdio.h> #include <string.h> #define N 50 char * wecat1(char* dest,char*src); char * wecat2(char* dest,char*src); int main(){ char s1[N],s2[N],s3[2*N]; strcpy(s1,"Ciao "); strcpy(s2,"Mondo!"); //primo caso strcpy(s3,s1); strcat(s3,s2); printf("%s\n",s3); //secondo caso strcpy(s3,s1); //mettiamo in s3 il valore di s1 wecat1(s3,s1); printf("%s\n",s3); //terzo caso strcpy(s3,s1); wecat2(s3,s1); printf("%s\n",s3); fflush(stdin); getchar(); return 0; } char [] wecat1(char dest[],char src[]){ long length = strlen(dest); long max = strlen(src); long i; for (i=0;i<=max;i++) dest[length+i] = src[i]; //te l'avrei pure potuto scrivere compresso ma sono clemente XD //il <= perché altrimenti non verrebbe copiato il 'BARRA0', a naso, provalo per aggiustarlo return dest; } char * wecat2(char * dest,char * src){ long length = strlen(dest); char * a = dest+length; while (*a++ = *src++) { } return dest; } non ho idea se funzioni o meno, comunque con i puntatori potevi benissimo lavorare come fossero vettori, per invece creare nuove STRINGHE on the fly devi usare malloc quindi char * b; b = (char*) malloc(sizeof(char)*lunghezza); e devi ricordarti di usare free(b); prima del return 0; nota: ma sto cazzo di int nel main e return 0 li vuoi mettere? o ti vuoi far prendere per il culo dai tuoi colleghi perché non sai neanche rispettare lo standard? è come vedere quei cavolo di siti con dtd xhtml 1.0 strict che poi usano <p> e <h2> -_- esempio 2: in generale: usa sempre fopen seguito da fclose molto meglio aprirlo due volte che fare casini anche perché la scrittura FISICA avviene su fclose l'errore avviene perché il file finisce con un'ultima riga vuota e non resettando v non hai idea di questo fatto la soluzione è leggere non come interi ma come stringhe e poi convertire in interi, in questo modo se la stringa è un char 'BARRA0' non stampi niente, altrimenti stampi la conversione -
perché invece chi l'ha scaricata non la salva come png e poi la uppa? i problemi dovrebbero scomparire
-
a favore del peer to peer permette di condividere la musica che ascolti con la persona che ami che sta dall'altro capo del filo e magari dall'altra parte del globo permette di scaricarti dei bei pornazzi per quando ti vuoi tirare su di morale o qualche film quando hai lo scazzo di pagare 8 euro al cinema e andarci da solo facendo la figura del no-life quando tutti i tuoi amici già se lo sono visto al pc e non sborserebbero mai per accompagnarti permette di vedersi i film che non arriveranno mai in Italia come heroes 2x o i capolavori di stephen chow permette di scaricare tanti libri poco interessanti e pochi libri molto interessanti fino a 2-3 anni fa l'unico motivo era il porno (da quando ci sono i film in streaming le cose sono cambiate ^^")
-
chi mi interpreta il mio :_:?
