Repository 32bit  Forum
Repository 64bit  Wiki

scacchi in 1K

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

scacchi in 1K

Messaggioda ZeroUno » mar set 20, 2011 19:50

Avete mai provato a scrivere un programma di scacchi in un qualsiasi linguaggio?
Io l'ho fatto.
Il mio programma, scritto in C per dos, si limitava a prendere le mosse da input, sia del bianco sia del nero, a riconoscere che siano valide e a muovere il pezzo. Niente più.
Non ricordo le dimensioni del binario, ma una volta ho visto una cosa pazzesca. Saranno stati 15anni fa, forse, o poco più.

Sotto dos avevo un programma di scacchi
1) gestiva la grafica (bianco e nero, 320x200), e quindi la gestione delle bitmap dei pezzi in campo.
2) ovviamente gestiva il movimento dei pezzi :-), e quindi la gestione dell'input ed eventuali eccezioni.
3) un motore di gioco; si giocava uomo contro computer e, per le mie conoscenze scacchistiche di allora, era pure bravino.

ora spiegatemi voi come si fa a fare entrare tutto questo in UN KILOBYTE massimo 1.5K !!!! che era la dimensione del binario.
Il mio sogno di allora era di disassemblarlo per capirlo. Poi l'ho perso.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4253
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: scacchi in 1K

Messaggioda miklos » mar set 20, 2011 20:02

provato a scriverlo mai, ma un po' di tempo fa mi sono avvicinato al gioco degli scacchi è ho trovato questo :)
http://nanochess.110mb.com/index.html
ZeroUno ha scritto:ora spiegatemi voi come si fa a fare entrare tutto questo in UN KILOBYTE massimo 1.5K !!!! che era la dimensione del binario.

il motore che ti ho indicato l'ho fatto 'giocare' contro un gioco degli scacchi scritto per il c64(quindi al massimo i Kb erano 64).. e la lotta è stata dura :)
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1127
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: scacchi in 1K

Messaggioda ZeroUno » mar set 20, 2011 23:55

domani provo a compilarlo.

miklos ha scritto:il motore che ti ho indicato l'ho fatto 'giocare' contro un gioco degli scacchi scritto per il c64(quindi al massimo i Kb erano 64).. e la lotta è stata dura :)

Io avevo scacchi sullo zx spectrum 48K, quindi massimo 41K (7K sono di memoria video condivisa) ma sono ancora meno perchè gli scacchi erano "sonori", ovvero tu scrivevi "A2A4" e lui pronunciava "A" "2" "A" "4" (audio da far pietà, visto che la "scheda sonora" è a un bit, ma si capiva)
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4253
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: scacchi in 1K

Messaggioda ponce » mer set 21, 2011 9:02

questo e' abbastanza ben documentato ed un tempo era IL programma di scacchi, ma e' in TDL Macro Assembler

http://web.archive.org/web/200706141143 ... argon.html
Avatar utente
ponce
Linux 3.x
Linux 3.x
 
Messaggi: 1409
Iscritto il: mer mar 05, 2008 16:45
Località: limbo
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 3.14
Desktop: lxde

Re: scacchi in 1K

Messaggioda ZeroUno » mer set 21, 2011 11:29

Decisamente ben documentato.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4253
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: scacchi in 1K

Messaggioda shark1500 » mer set 21, 2011 15:52

Ma perche` i codici di oggi non sono cosi` documentati? :-(
Avatar utente
shark1500
Linux 2.6
Linux 2.6
 
Messaggi: 785
Iscritto il: gio apr 03, 2008 13:33
Località: Modna
Slackware: current
Kernel: 2.6.27.7-smp
Desktop: kde

Re: scacchi in 1K

Messaggioda 414N » mer set 21, 2011 17:05

shark1500 ha scritto:Ma perche` i codici di oggi non sono cosi` documentati? :-(

[polemica]
Perché alcuni individui (leggasi "folli") ritengono che il loro codice sorgente più o meno commentato sia una documentazione più che sufficiente :?
[/polemica]
C'è da dire che, trattandosi di assembly, una documentazione piuttosto corposa è d'obbligo anche per i più smaliziati.
PS: sempre consultando il sito riportato da miklos in precedenza, si può trovare riferimento ad un contest che mira ad ottenere un'applicazione JavaScript (ok, non è codice compilato ;)) di dimensione non superiore a 1KB.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2876
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite