Nokioteca [Nokia] Forum: N_biggest Clock - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

N_biggest Clock il più grande orologio digitale per 5th

#1 L   Nick_7 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 339
  • Iscritto: 20 novembre 2008
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

  Inviato 29 dicembre 2009 - 22:36

Ormai sono fissato con gli orologi... :thumbs:
Ecco il più grande orologio digitale che si può realizzare sui dispositivi s60 5th edition

Per visualizzare questo link registrati o esegui il log in.


Per visualizzare questo link registrati o esegui il log in.


Volendo potete ridimensionarlo per i vostri dispositivi :rolleyes:

Download file


0

#2 L   Nick_7 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 339
  • Iscritto: 20 novembre 2008
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 30 dicembre 2009 - 18:59

Per la gioia di grandi e piccini ecco le versioni 2nd & 3rd edition ;) Per uscire dall'applicazione premere il tasto '0'. Per favore fatemi sapere se funzionano dato che io li ho provati solo con la tastiera virtuale...

Download file


0

#3 L   Nick_7 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 339
  • Iscritto: 20 novembre 2008
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 12 gennaio 2010 - 19:39

Salve
ecco una nuova versione del programma solo per 3rd ma mi servirebbe qualcuno che la possa testare direttamente sul suo cellulare.
Mi aspetto dei feedback. :angel:

Download file


0

#4 L   lento 

  • Senior Member
  • PuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 637
  • Iscritto: 03 settembre 2008
  • Cellulare:E72

Inviato 09 febbraio 2010 - 00:03

'Nick_7'
Visto che ti piacciono gli orologi....Prova a dare un occhiata nel modulo pacd.mm nella discussione pacman...
Lì cè una funzione gnumber(riga,colonna,numero) che permette di stampare un numero ottenuto da immagini grafiche memorizzate e da tè create.
Chessò potresti farti un big orologio che al posto dei numeri visualizza le carte da gioco (dall'asso sino al nove e il jolly per lo zero)
oppure potresti crearti dei numeri composti da ossicini.....o tante barre orizzontali che si accumulano sino al valore 9.
Essendo il numero un immagine di tua fantasia.....non cè limite...a quello che puoi fare.
Il mio è solo un suggerimento........
0

#5 L   Nick_7 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 339
  • Iscritto: 20 novembre 2008
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 09 febbraio 2010 - 07:36

Visualizza Messaggilento, il 09/02/2010 - 00:03, ha scritto:

'Nick_7'
Visto che ti piacciono gli orologi....Prova a dare un occhiata nel modulo pacd.mm nella discussione pacman...
Lì cè una funzione gnumber(riga,colonna,numero) che permette di stampare un numero ottenuto da immagini grafiche memorizzate e da tè create.
Chessò potresti farti un big orologio che al posto dei numeri visualizza le carte da gioco (dall'asso sino al nove e il jolly per lo zero)
oppure potresti crearti dei numeri composti da ossicini.....o tante barre orizzontali che si accumulano sino al valore 9.
Essendo il numero un immagine di tua fantasia.....non cè limite...a quello che puoi fare.
Il mio è solo un suggerimento........

Ciao lento ho già provato pacman e devo dire che è veramente stupendo e al di sopra delle mie potenzialità comunque sia ti ringrazio per il suggerimento appena posso lo analizzo :thumbs:
0

#6 L   lento 

  • Senior Member
  • PuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 637
  • Iscritto: 03 settembre 2008
  • Cellulare:E72

Inviato 09 febbraio 2010 - 08:55

Visualizza MessaggiNick_7, il 09/02/2010 - 07:36, ha scritto:

Ciao lento ho già provato pacman e devo dire che è veramente stupendo e al di sopra delle mie potenzialità comunque sia ti ringrazio per il suggerimento appena posso lo analizzo :)

Sempre per stare nella logica del semplice.....se vuoi ti stralcio le quattro righe che ti servono e te le allego con spiegazione.
Così sarai in grado di farti il tuo programma....
0

#7 L   Nick_7 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 339
  • Iscritto: 20 novembre 2008
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 09 febbraio 2010 - 13:06

Visualizza Messaggilento, il 09/02/2010 - 08:55, ha scritto:

Sempre per stare nella logica del semplice.....se vuoi ti stralcio le quattro righe che ti servono e te le allego con spiegazione.
Così sarai in grado di farti il tuo programma....

Dato che la nostra logica è quello di esemplificare tutto, anche per renderne più facile la comprensione ai meno esperti (come me :huh: ) sarei ben lieto di ricevere il tuo aiuto ^__^
0

#8 L   lento 

  • Senior Member
  • PuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 637
  • Iscritto: 03 settembre 2008
  • Cellulare:E72

Inviato 10 febbraio 2010 - 22:23

Allora.....non spaventatevi amo sbrodolare molto ma i concetti sono pochi e facili da capire.
partiamo da questa funzioncina:
use math;
function inverti(n)
  do
	print(n % 10);
	n=math.trunc(n/10);
  until n=0;
end;

inverti(1267);
7
6
2
1

Il compito di ste funzioncina e di stampare il numero che gli si passa ma alla rovescia.
se passi 1267 lui ti rende il numero al contrario 7621
Il meccanismo si basa su questo:
Attenzione parliamo di numeri interi ( senza virgola)
prende il numero 1267 ottiene il modulo della divisione 1267/10
7 = 1267 % 10 ( il modulo di 1267 diviso 10 è 7.
Questo è il numero che ci interessa.
poi divide per dieci
n= 1267 / 10 ( dato che darebbe 126,7) lo tronchiamo simulando una divisione con interi
n= math.trunc(1267 / 10) n sarà uguale a 126
Ora su 126 ripetiamo la stessa cosa fatta per 1267 e
otterremo il 6 e cosi via finché il numero non avrà valore 0.

Venaimo a noi:
use math, graph as g;
g.clear();

function ginverti(n)
  a=15;
  do
	g.text(a,10,n % 10);
	n=math.trunc(n/10);
	a=a+15;
  until n=0;
end;

ginverti(1267);
g.show();
sleep(500);


Ora la stessa logica di funzione la usiamo per stampare su schermo grafico.
al posto di print usiamo g.text(colonna,riga,numero)

Se ci fai caso la funzione prima stampa 7 poi si sposta più in la di 15 pixel e stampa 6 ecc..
(----Gabola----)
Se al posto di spostarci più in la facciamo il contrario?
use math, graph as g;
g.clear();

function ginverti(n)
  a=75;
  do
	g.text(a,10,n % 10);
	n=math.trunc(n/10);
	a=a-15;
  until n=0;
end;

ginverti(1267);
g.show();
sleep(500);

Ma porco qui ma porco là :o abbiamo di nuovo il numero senza inversione!
1 2 6 7
Unica accortezza è di sapere quanto spostarsi per non sovrascrivere i numeri dato che prima
stampi il 7 poi ti sposti in dietro di 15 pixel e stampi il 6 e così via.
Ora se al posto di g.text(colonna,riga,numero) per stampare il singolo
numero (dato che siamo in grafica) stampassimo un disegno del numero?
Basta sostituire g.text() con g.put().
Già ma devo avere 10 immagini una per numero e devo sapergli dire quale stampare volta per volta?
Per far questo devi creare un array di 10 celle
numeri=[0,1,2,3,4,5,6,7,8,9]
e in ogni cella memorizzare la corrispondente immagine di numero.
Per fare questo hai due possibilità:
1) le carichi da immagini salvate nel cellulare:

numeri[0]=graph.icon("E:\\Images\\zero.png");
numeri[1]=graph.icon("E:\\Images\\uno.png");
numeri[2]=graph.icon("E:\\Images\\due.png");

le immagini devono essere grandi uguali.

2) le genero tramite una matrice
// Immagine dello zero
o=g.black;   // colore fondo
x=g.white;  // colore numero
numeri[0]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[1]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,x,x,o,o,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[2]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[3]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,x,x,x,x,o,o],
	[o,o,o,o,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[4]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[5]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[6]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[7]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[8]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);
numeri[9]=g.icon([
	[o,o,o,o,o,o,o,o,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,o,o,o,o,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,x,x,x,x,x,x,o,o],
	[o,o,o,o,o,o,o,o,o,o]
]);

Questo è un trucchetto usato per la prima volta in Submarine.
la lettera "o" e "x" contengono un valore di colore,nulla vieta di usare più lettere
per avere un immagine a molti colori.
Idem per la grandezza :
Ci sono 10 righe [o,o,o,o,o,o,o,o,o,o],
e ognuna contiene 10 lettere.
Questo significa che l'immagine è alta 10 pixel (righe) e larga 10 pixel (colonne)
Nulla vieta di usare matrici molto più grandi. Nel caso del tuo orologio 80 righe x 50 colonne o più.
Questa è la funzione completa prelevata da pacman che serve a stampare i punteggi.
function gnumber(riga,colonna,n)
  // stampa immagini del numero partendo da destra verso sinistra
  // utilizza solo numeri interi
  largo=g.size(.numeri[0])[0]; alto=g.size(.numeri[0])[1]; // ricava in automatico la dimensione
  n=math.trunc(n);
  do
	g.put(colonna* largo,riga* alto,.numeri[n % 10]);
	n=math.trunc(n/10);
	colonna=colonna-1; // si sposta della larghezza del carattere
  until n=0;
end;

Tutto qua:
Fatti una matrice di numeri, aggiungi la funzioncina gnumber() al tuo programma, gli passi
le ore e gli dici dove stamparle, gli passi i minuti e gli dici dove stamparli, se vuoi
gli passi i secondi e gli dici dove stamparli.
Fine.

Messaggio modificato da lento il 10 febbraio 2010 - 22:29

0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione