Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-12-2010, 20:17   #1
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
[Vari] - Competizione

Avrei voglia di lanciare una serie di competizioni.
Il formato di ciascuna competizione sarebbero un esercizio come il seguente:

Tris:
Costruire un programma console nel linguaggio che si vuole.
Tale programma deve accettare un parametro da linea di comando, e deve restituire risultati su STDOUT
Il parametro della linea di comando e' una stringa di 9 caratteri, corrispondenti alle celle del gioco del tris
Ciascun carattere potra' essere O, X o Z corripsondenti al palla, alla croce o ad una cella vuota
Il programma deve simulare una mossa del gioco del tris, dovra' in pratica leggere la stringa in input, capirla e decidere dove mettere il proprio simbolo su una delle celle precedentemente Z.
La mossa dovra' essere decisa in un massimo di 2 secondi.
Dovra' quindi restituire 2 stringhe: il nickname del partecipante ed una stringa di 9 caratteri con il carattere-mossa scelto sostituito.
Inizia X a muovere. Se quindi il numero di X e' pari al numero di O allora il programma capira' che a lui e' assegnato il simbolo X, altrimenti sara' O.

Basta.
Ovviamente il tris e' un primo esercizio di semplice fattibilita', dato che cio' che verrebbe dopo sarebbe decisamente piu' interessante.

Ovviamente mi piacerebbe costruire un tournament per le competizioni, dove ogni partecipante incontrera' tutti gli altri partecipanti.
Occorre quindi un server che gestisca questa impostazione.
I partecipanti dovranno uploadare il codice da compilare, che verra' compilato ed eseguito dal server mediante un terzo programma che io (o anche altri, nessun problema) metterei a disposizione per pilotare il tournament.
Tale programma server controllerebbe la correttezza delle mosse di ciascun programma uploadato, darebbe un punteggio per ciascuno ad ogni partita,compilera' anche una classifica con ratio e punteggi da definirsi, che copra correttezza, vittorie, tempi di esecuzione, etc. che verrebbe in qualche modo pubblicata per la consultazione online.
Magari nella consultazione potrebbe anche starci posto per la pubblicazione di qualche paginetta relativa a tutti i codici che hanno partecipato.

Ovviamente il server dovra' essere dotato degli eseguibili per la compilazione/esecuzione di tutti i linguaggi che ci interesserebbe supportare.

I problemi che vedo sono 2:
1. Poiche' siamo tutti buoni, ma qualcuno e' un PDM, servirebbe un meccanismo di boxing della sessione di esecuzione, in modo che il server non venga danneggiato da un programma malware, se non addirittura il server non venga usato a fini illegali per danneggiare/compiere azioni illegali all'esterno.
Il boxing dovrebbe essere anche castrato, magari senza supporto di rete, e con direttive di SO limitate se non nulle.
Direi solo e tutto quanto permette il linguaggio nativo puro.
2. Non so che servizio si puo' usare per la gestione del tutto.

Idee?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 24-12-2010 alle 20:21.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2010, 23:49   #2
cdere
Senior Member
 
L'Avatar di cdere
 
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
idea davvero molto interessante.
Per quanto riguarda il problema del boxing al momento non mi viene sinceramente nulla (auguri! ) mentre per il punto 2 chiaramente la miglior soluzione (nella mia opinione dal punto di vista del tempo, della funzionalità e di quant'altro) è programmarlo un servizio che si occupi di una gestione di questo tipo (dato le specifiche molto particolari), impostato per bene non dovrebbe essere un progetto troppo difficile.

Parliamone comunque, nel caso si tira su un svn e via.
Per quanto riguarda l'hosting di tale servizio invece sarà qualcosa di molto poco esigente di traffico di rete, quindi si potrebbe praticamente hostare su una vm praticamente dovunque.. (anche a casa mia)

ora devo proprio scappare, di nuovo, auguri
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum
cdere è offline   Rispondi citando il messaggio o parte di esso
Old 25-12-2010, 13:38   #3
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Avrei voglia di lanciare una serie di competizioni.
Il formato di ciascuna competizione sarebbero un esercizio come il seguente:
È una cosa a cui sto pensando da un po' anche io, per cui approvo .
Ho già anche in cantiere qualcosa ma è sempre mancato il tempo per completare l'opera... anche se forse ora ho un po' di giorni di tranquillita'

Quote:
Ovviamente mi piacerebbe costruire un tournament per le competizioni, dove ogni partecipante incontrera' tutti gli altri partecipanti.
Occorre quindi un server che gestisca questa impostazione.
I partecipanti dovranno uploadare il codice da compilare, che verra' compilato ed eseguito dal server mediante un terzo programma che io (o anche altri, nessun problema) metterei a disposizione per pilotare il tournament.
Tale programma server controllerebbe la correttezza delle mosse di ciascun programma uploadato, darebbe un punteggio per ciascuno ad ogni partita,compilera' anche una classifica con ratio e punteggi da definirsi, che copra correttezza, vittorie, tempi di esecuzione, etc. che verrebbe in qualche modo pubblicata per la consultazione online.
Magari nella consultazione potrebbe anche starci posto per la pubblicazione di qualche paginetta relativa a tutti i codici che hanno partecipato.
Prova a dare una occhiata a http://ai-contest.com/
Il codice del lato server è scaricabile e se non ricordo male dovrebbe essere open source e. Potrebbe essere un punto di partenza anche se di per sè il lato server non è molto difficile da implementare.

Quote:
1. Poiche' siamo tutti buoni, ma qualcuno e' un PDM, servirebbe un meccanismo di boxing della sessione di esecuzione, in modo che il server non venga danneggiato da un programma malware, se non addirittura il server non venga usato a fini illegali per danneggiare/compiere azioni illegali all'esterno.
Il boxing dovrebbe essere anche castrato, magari senza supporto di rete, e con direttive di SO limitate se non nulle.
Direi solo e tutto quanto permette il linguaggio nativo puro.
2. Non so che servizio si puo' usare per la gestione del tutto.
Secondo me la cosa più pratica è tenere distinti server web per la gestione del contest e box per l'esecuzione delle partite. In questo modo uno si puo' arrangiare come meglio crede, da macchine virtuali a VServer a Jail . Basta che il box si colleghi ogni tot per verificare se ci sono nuovi partecipanti e per caricare i risultati delle partite già svolte.

Non che non si possa fare anche in un qualche servizio di hosting ma lo vedo più complicato e costoso.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2010, 01:11   #4
cdere
Senior Member
 
L'Avatar di cdere
 
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
ma allora non se ne fa più nulla alla fine?
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum
cdere è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2010, 12:24   #5
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Io stavo smaltendo i bagordi natalizi...
Oggi provo a ripescare quello che avevo fatto e vedere cosa va bene nell'ottica, e a riguardare il codice che ho linkato prima...
Il problema principale e' lo spazio web, capire chi puo' mettere a disposizione cosa, poi da li' ci si regola.
Se optiamo per qualcosa di non troppo complicato (php, python, rails...) ne posso mettere a disposizione io.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2010, 13:57   #6
cdere
Senior Member
 
L'Avatar di cdere
 
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
io conosco un servizio di hosting free davvero ottimo, offre shell ssh, supporto a python, ruby, php, perl più il supporto a tutti i framework più diffusi (django symfony, Ruby on Rails..), databases (sqlite, postgresql, mysql...)

il contro è che nella accezione gratuita dell'abbonamento si hanno 10mb di spazio e 1GB di traffico al mese, ma secondo me riusciremmo a rientrarci tranquillamente oppure ci organizziamo da qualcuno tipo la soluzione da te che suggerivi tu o anche da me!
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum
cdere è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2010, 15:17   #7
asrm
Member
 
Iscritto dal: Jul 2004
Messaggi: 182
Carina come idea.

Ultima modifica di asrm : 28-12-2010 alle 15:19.
asrm è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v