sabato 28 gennaio 2017

Regolamento della Scala 40 per iPhone e iPad

Introduzione
  • '40' è essenzialmente la classica 'Scala 40' (un gioco di carte italiano derivato negli anni venti dal Ramino)
  • questa applicazione è basata su regolamenti e varianti descritti ai seguenti link:

'40' Regolamento
  1. Mazzo di carte e valori delle carte
    1. a '40' si gioca con due mazzi di carte Francesi (ogni mazzo contiene 52 carte + 2 jolly)
    2. il valore delle carte è quello nominale (es. il 3 vale 3 punti, il 7 vale 7 punti)
    3. le figure valgono invece 10 punti ognuna (Fante, Donna e Re valgono 10 punti)
    4. l'Asso vale un punto se messo in una scala prima del Due
      (es. A♥ 2♥ 3♥ = 6 punti)
    5. l'Asso vale 11 punti se messo in una scala dopo il Re
      (es. Q♥ K♥ A♥ = 31 punti)
    6. l'Asso vale 11 punti se messo in una combinazione
      (ex. A♣ A♥ A♠ = 33 punti)
    7. il Jolly che si trova in mano ad un giocatore vale 25 punti
    8. il Jolly che si trova in una scala o una combinazione prende il valore della carta che sostituisce

  2. Giocatori e carte
    1. i giocatori possono variare da un minimo di due ad un massimo di quattro
    2. ogni giocatore inizia la partita con 13 carte in mano
    3. terminata la distribuzione delle carte, si mette sul tavolo la prima carta non distribuita, con il valore visibile (scoperta), questa è la prima carta del 'Pozzo degli scarti' dove verranno messe le carte scartate dai giocatori
    4. tutte le altre carte non distribuite vengono impilate sul tavolo in un mazzo chiamato 'Tallone', devono essere coperte (con il valore non visibile)

  3. Definizione di Giocata (Scala o Combinazione)
    1. le giocate sono di due tipologie 'scale' o 'combinazioni'
    2. 'scale'
      • le 'scale' lecite possono essere formate da un minimo di 3 ad un massimo di 14 carte dello stesso seme, messe in ordine, più l'eventuale jolly
        A-2-3-4-5-6-7-8-9-10-J-Q-K-Jolly or Jolly-2-3-4-5-6-7-8-9-10-J-Q-K-A
      • è possibile calare una scala uguale ad una già calata precedentemente
      • è anche possibile attaccare carte ad una scala già calata precedentemente
    3. 'combinazioni'
      • le 'combinazioni' lecite sono formate da carte con stesso valore e semi differenti
      • una combinazione può essere formata da un minimo di 3 ad un massimo di 4 carte, incluso un possibile jolly (al massimo uno non di più)
      • non sono permesse combinazioni composte da soli jolly
      • (esempio di combinazione corretta: 9♥ 9♣ 9♦)
      • (esempio di combinazione errata 9♥ 9♣ 9♣ poiché sono presenti due 9 con lo stesso seme)
    4. non è consentito l'utilizzo di più di un jolly in una giocata (sia essa scala o combinazione)

  4. Modalità di gioco
    1. è possibile giocare a '40' in due modalità differenti
    2. 'Partita Singola' : si gioca una singola partita, vince il giocatore che scarta per primo l'ultima carta della sua mano rimanendo così senza carte
    3. 'A Punti' : si giocano più partite, vince il giocatore che riesce ad eliminare tutti gli altri in base ai punteggi accumulati in ogni singola partita (si veda sotto 'Regole di assegnamento dei punteggi')

  5. Regolamento di apertura
    1. per poter iniziare a calare delle 'giocate' è necessario che il valore delle carte 'calate' sia eguale o maggiore a 40 punti
    2. se un giocatore non riesce ad aprire non può mettere nuove giocate sul tavolo né fare altre mosse, ma solo pescare una carta dal Tallone e scartarne una nel Pozzo (si vedano sotto 'Fasi di gioco')
    3. ad esempio è possibile iniziare a calare carte giocando una combinazione di 9 (9♥ 9♦ 9♣ = 27 punti) e una scala dal 10 alla Regina (10♠ J♠ Q♠ = 30 punti) avendo raggiunto e superato i 40 punti richiesti (27+30=57).
    4. non è invece possibile calare carte giocando una combinazione di 4 (4♥ 4♦ 4♣ 4♠ = 16 punti) e una scala dal 3 al 6 (3♠ 4♠ 5♠ 6♠ = 18 punti) avendo raggiunto in questo modo solo 34 punti in totale (16+18 = 34 punti)
    5. il jolly all'interno di una scala o combinazione prende il valore della carta che sostituisce (4♠ 5♠ 🃏 7♠ = 22 punti)

  6. Fasi di gioco
    1. introduzione
      • in funzione della modalità di gioco scelta si giocheranno una o più partite
      • durante una partita i concorrenti giocano uno alla volta in senso orario (turni)
      • un giocatore inizia il proprio turno pescando una carta (dal Tallone o dal Pozzo)
      • durante il turno un giocatore può usare le carte nella sua mano per:
        • calare nuove giocate (combinazioni o scale)
        • attaccare carte a giocate esistenti
        • prendere jolly per sostituzione da giocate esistenti ed utilizzarli per calare nuove giocate o attaccarli a giocate esistenti
      • il turno del giocatore termina con lo scarto di una carta della mano nel Pozzo
      • il primo giocatore che scarta l'ultima carta che ha in mano vince la partita

    2. inizio del turno del giocatore
      • il turno inizia pescando una carta
      • se il giocatore non ha ancora aperto, deve pescare una carta dal Tallone
      • se il giocatore ha già aperto, può pescare l'ultima carta scartata nel pozzo. Questa carta deve essere immediatamente utilizzata in una nuova scala o combinazione o attaccata ad una scala/combinazione presente sul tavolo
      • per pescare una carta la si trascini dal Pozzo o dal Tallone sulla propria mano di gioco, o si faccia doppio tap sul Pozzo o sul Tallone

    3. durante il turno il giocatore può:
      • calare nuove giocate
        • calare sul tavolo 'scale' (tre o più carte consecutive dello stesso seme)
        • calare sul tavolo 'combinazioni' (tre o quattro carte con stesso valore, ma semi differenti)
      • se ha già aperto, attaccare carte a giocate esistenti sul tavolo (ad esempio completare una combinazione attaccando il 4♠ a 4♣4♦4♥)
      • se ha già aperto, prendere jolly da giocate esistenti sul tavolo
        • il giocatore che ha già aperto può sostituire un jolly presente in una giocata con la carta corrispondente della sua mano
        • il jolly preso deve essere immediatamente utilizzato in una nuova giocata (scala o combinazione) o attaccato ad una gioco esistente sul tavolo

    4. fine del turno del giocatore
      • il turno del giocatore termina scartando una carta della mano nel Pozzo
      • un giocatore non può scartare una carta che può essere attaccata ad una combinazione o ad una scala presente sul tavolo, a meno che non abbia già aperto o che stia chiudendo con lo scarto
      • un giocatore non può scartare la carta pescata dal Pozzo, deve scartare una delle carte che aveva già in mano prima di pescare dal Pozzo
      • un giocatore che scarta l'ultima carta della sua mano (rimanendo così senza carte) vince la partita
      • per scartare una carta la si trascini sul Pozzo o si faccia doppio tap sulla carta stessa

  7. Lo scopo della partita
    1. primo obiettivo del gioco è rimanere senza carte in mano, in gergo 'chiudere'.
      • per chiudere è necessario, come azione finale, scartare l'ultima carta rimasta in mano nel pozzo
      • secondo scopo del gioco, in caso non fosse possibile raggiungere la 'chiusura', è quello di rimanere con il minor numero di punti in mano, considerando come punti il valore delle carte
    2. non è consentito rimanere senza carte in mano senza aver effettuato lo scarto (se ciò dovesse capitare, il giocatore deve riprendere in mano le scale o combinazioni calate e ripetere le mosse in modo che non rimanga senza carte)
    3. quando un giocatore “chiude”
      • se in 'Modalità di gioco: Partita Singola', la partita si conclude, il giocatore che chiude è il vincitore
      • se in 'Modalità di gioco: A Punti', si conclude la partita in corso, vengono calcolati i punti delle carte rimaste in mano ai giocatori che non hanno chiuso (se veda sotto 'Regole di assegnamento dei punteggi'), e una nuova partita inizia
    4. se nessuno riesce a chiudere prima che finiscano le carte del Tallone, se ne crea uno nuovo mischiando le carte del pozzo, lasciando nel pozzo l'ultima carta scartata
    5. non è permesso chiudere durante il primo turno di gioco, ogni giocatore deve aver giocato almeno un turno

  8. Regole di assegnamento dei punteggi (valide solo se in 'Modalità di gioco: A Punti')
    1. dopo che un giocatore ha chiuso, si calcolano i punti delle carte rimaste in mano ad ogni altro giocatore
      • il Jolly vale 25 punti
      • l'Asso vale 11 punti
      • ogni figura vale 10 punti
      • tutte le altre carte hanno il valore nominale (Due=2 Tre=3 etc.)
    2. al giocatore che ha chiuso viene assegnato il punteggio 0 (relativamente alla partita appena conclusa)
    3. agli altri giocatori viene assegnato il punteggio dato dalla somma dei punti delle carte rimaste in mano, questo viene sommato a quello delle partite precedenti

  9. Uscita di un giocatore e condizioni di vittoria (valide solo se in 'Modalità di gioco: A Punti')
    1. di norma il punteggio che un giocatore deve raggiungere per 'uscire' dal gioco è pari o superiore a 101 ovvero 201 punti a discrezione dei partecipanti (in '40' è un valore configurabile nelle impostazioni)
    2. il punteggio di uscita o eliminazione deve essere sempre concordato dai giocatori prima dell'inizio della partita
    3. quando un giocatore supera o raggiunge i 101 punti viene 'eliminato' ed esce dal gioco
    4. le partite a '40' continueranno anche dopo l'uscita di uno o più giocatori sino a che non ne rimarrà solo uno che abbia un punteggio inferiore a quello di 'uscita', questo sarà considerato il vincitore
    5. nel pannello delle impostazioni è possibile abilitare l'opzione di 'Rientro', in questa modalità i perdenti rientrano sempre in partita con una penalità (il peggior punteggio dei giocatori non ancora eliminati), in questo caso tutti i giocatori sono sempre in gioco sino a quando non vengono eliminati tutti (tranne il vincitore) in un sol turno

  10. Classifiche
    Il gioco prevede alcune classifiche online, queste sono disponibili per i giocatori che si sono registrati sull'Apple Game Center, le classifiche variano in base al tipo di partita giocata, nelle tabelle seguenti illustriamo il criterio di assegnamento dei punti in classifica


    Partite Offline(contro il vostro iPad, iPhone o iPod)

    Forza degli avversari
    (automi)
    Avete vintoAvete PersoVi siete ritirati dalla partita
    Debole150-50-200
    Media165-50-200
    Forte180-50-200
    Bilanciata150+(30*%forza)-50-200


    Partite Online
    (contro giocatori reali)


    Avete vintoAvete vinto
    (tutti gli avversari si sono ritirati)
    Avete PersoVi siete ritirati dalla partita
    150100-50-200


  11. Varianti di gioco
    1. 'apertura dal Pozzo'
      il giocatore pesca l'ultima carta scartata nel pozzo anche se non ha ancora aperto, ma a due condizioni:
      • il giocatore apre immediatamente nello stesso turno in cui pesca dal Pozzo
      • il giocatore usa la carta pescata dal Pozzo per calare i giochi di apertura
    2. 'chiusura in mano'
      un giocatore apre e chiude nello stesso turno (pesca una carta, cala i giochi e scarta l'ultima carta in mano in un sol turno)
      • il punteggio degli altri giocatori viene raddoppiato
      • il punteggio dei giocatori giocatori che non hanno aperto viene comunque conteggiato 100 punti indipendentemente da quali carte hanno ancora in mano
    3. 'altre varianti'
      su Wikipedia 'Scala 40' sono descritte molte varianti, molte tra queste possono essere abilitate nel 'Pannello delle Impostazioni'

domenica 15 gennaio 2017

Gioco Online, in questi giorni proprio non funziona

Intro

Da tre giorni ricevo decine di mail da giocatori di carte scontenti (a volte educati, a volte arrabbiati, a volte decisamente insolenti), mi sento trasformato in un capro espiatorio per il problema che li affligge.

I miei giochi sono frutto di alcuni anni di lavoro (design, sviluppo, traduzione, manutenzione, aggiornamenti, assistenza clienti). Di solito danno molte soddisfazioni sia a me che ai giocatori, ma quando qualcosa si inceppa eccomi sotto li fuoco incrociato dei giocatori:
  • mail inviatemi direttamente
  • mail ricevute dalla funzione di Feedback / Contattaci del gioco
  • rating negativi su App Store
  • messaggi sulla pagina Facebook dei miei giochi Games&apps onmadesoft Antonio Ferraioli
Veniamo alla natura del problema. Cosa non funziona? 
Il gioco online non funziona, non si trovano avversari, per quanto in tanti cerchino di giocare.  

I sintomi
Purtroppo non è  il gioco, se così fosse potrei intervenire e risolvere, ma ahimè non è lui, è il sistema di gioco online che ho malauguratamente adottato, si chiama Apple Game Center (da qui in avanti nell'articolo lo chiamerò AGC), era una grande promessa di Apple, ma è in disgrazia. Mi pare sia stato introdotto nel 2010, ma temo che sia in fase di  dismissione (la prima prova di questo è la rimozione dell'app Game Center dall'ultima versione di sistema iOS 10, non c'e' più l'app, ma dietro alle quinte AGC è presente e gestisce ancora il gioco online)

Quando si inizia una partita online (sincrona) AGC cerca degli avversari da sfidare, siamo in modalità Multiplayer, questa fase di chiama matchmaking, ma da qualche giorno quasi nessuno trova avversari e dopo un po la finestra di avvio della partita si chiude senza dare l'avvio al gioco

Le cause
Non le conosco, ma sono certo che non sono nel codice che ho scritto io, se cosi fossi avrei già trovato r risolto il problema:
  • potrebbe essere un problema di rete, ma dove? non è di certo la rete di casa vostra, né la rete 3G o LTE, quelle funzionano perfettamente, ho provato e testato su reti differenti. Un giocatore qui in Piemonte mi dice che i suoi nipoti a Roma non riscontrano problemi, questo potrebbe far pensare a qualche problema sulle reti, ma dove? in quale apparato di rete? Non di certo nel vostro iPhone/iPad. 
  • potrebbe essere un problema di un server del Game Center? Apple dice di no, e la loro pagina di supporto dove viene visualizzato lo stato dei loro sistemi, lo indica come vivo e vegeto https://www.apple.com/it/support/systemstatus
  • potrebbe essere un problema del vostro dispositivo? direi nemmeno ho testato su iPhone 6S, iPhone 5s, iPad Mini di prima e ultima generazione e su tutti si presenta il problema
  • potrebbe essere un problema relativo ad una versione sistema del dispositivo? nemmeno, ho testato su iOS9 e iOS 10 e su entrambi si presenta il problema
  • potrebbe essere un problema solo dei miei giochi? nemmeno, ho provato con giochi di altri produttori ad esempio" La Briscola", stessi problemi. Ho contattato altri sviluppatori e tutti riscontrano gli stessi problemi
Però in alcuni casi il gioco online funziona....
  • se giocate a Machiavelli pare funzionare, ma è un caso leggermente diverso, Machiavelli usa AGC in una modalità differente rispetto agli altri giochi (modalità Turn Based)
  • sia a Scala 40 che a Ramino, potete comunque giocare, ma invitando gli avversari, invece di farli assegnare automaticamente ad AGC. Per invitare un avversario seguite queste istruzioni  "Invita avversari online" (solo iOS 10)
  • ogni tanto, dopo vari tentativi qualche partita online, tramite assegnamento automatico dei giocatori funziona, ma si devono fare molti tentativi ed avere del gran tempo libero e tanta pazienza 
  • un'altro caso in cui le cosa funzionano e' quando tutti gli  avversari sono sulla stessa rete wifi. Giocando con un proprio famigliare o un collega sulla stessa rete Wifi riuscirete ad inviare gli inviti senza problemi (riprova che il problema è legato alle rete e non al gioco)
  • e se proprio non si riesce forse è meglio giocare offline contro il vostro iPad o iPhone ed attendere che il problema si risolva
Aiutooooo a che santo mi rivolgo?
  • ho contattato il supporto tecnico di Apple http://www.apple.com/support, sono stati gentili come sempre, non hanno risolto il problema, mi hanno passato un paio di tecnici differenti ed infine mi hanno detto che sottoporranno il problema a qualche ingegnere di Apple, ma alla fine non mi hanno potuto aiutare
  • ho inserito un messaggio sul forum degli sviluppatori del developer.apple.com, li ho ricevuto qualche feedback da altri sviluppatori che riscontrano gli stessi problemi
  • ho inserito un paio di messaggi su https://discussions.apple.com/ con scarse risposte da altri possessori di dispositivi Apple
  • ho contattato il supporto tecnico di iTunesConnect (il sistema di Apple usato per rilasciare le versioni dei giochi su App Store)
  • ho inserito una segnalazione d'errore nel sistema di raccolta dei Bug http://bugreport.apple.com
Risultati
  • pochi, per ora niente
  • solo questo articolo dove do qualche indicazione su come aggirare il problema (se avete qualcuno da invitare)
  • e molte richieste di aiuto inviate tramite i canali ufficiali che non hanno ancora prodotto risultati
Aiutatemi anche voi
E' possibile che nemmeno Apple possa farci niente, ma se riscontrate anche voi il problema e state leggendo questo articolo potreste fare pressioni su Apple contattando il supporto tecnico http://www.apple.com/support

Speranze

Questo problema si è già presentato in passato, mi ricordo un pessimo Agosto di due o tre anni fa, niente gioco online, niente classifiche, alla fine tutto rientrò un mese dopo, non si seppe mai il perché. Speriamo che anche questa volta il problema rientri "da solo"

Futuro
  • Apple probabilmente sta abbandonando AGC, a giugno scorso ha presentato alcune novità per gli sviluppatori, un'alternativa ad AGC, ma sarebbe un rischio è poco documentata, online non ne parla nessuno, temo sia solo una specie di progetto arenatosi nel nulla. 
  • Comunque un'alternativa dovrò cercarla perché sono un po stanco di ricevere mail di protesta per cause esterne ai giochi. 
  • Se tutto funzionasse potrei dedicare molto più tempo a migliorarli, invece di essere qui a scrivere queste cose.
  • Che alternative ho?
    • le API per lo sviluppo di giochi online Google Play? forse
    • scrivere un sistema di gioco online ad hoc di mia proprietà, in modo che possa intervenire liberamente se si verifica un problema? non sarebbe male, ma richiederebbe tantissimi mesi di lavoro
    • altri sistemi a pagamento? quali? indagherò, ma se costeranno cari dovrò chiedere un abbonamento mensile a chi desidera giocare online, mi spiace
    • qualsiasi soluzione scelga non sarà una passeggiata, mi servirà molto tempo per trovare un sostituto ad AGC

giovedì 5 gennaio 2017

Giocare a carte online con un amico

Non tutti sanno di poter sfidare un amico a carte online usando un'app per iPhone o iPad.
Se desiderate provare con uno di questi giochi seguite le istruzioni di seguito

procedete in questo modo:
  • avviate il vostro gioco preferito mentre siete connessi ad internet   (il vostro iPad o iPhone deve essere collegato ad una rete telefonica o ad un Wifi)
  • attendete l'apparizione del messaggio di benvenuto in Game Center
  • iniziate la partita online premendo il pulsante di avvio della partita online (singola o a punti)
  • appare la schermata di avvio della partita online 
  • in alto a destra viene visualizzato il numero di giocatori, se desiderate potete cambiarlo  (è preferibile giocare online in due, è molto più facile trovare avversari)
  • per invitare i vostri amici premete il pulsante "Invita Amici"
  • viene visualizzato un messaggio di invito pronto per l'invio
  • ora dovete scegliere chi invitare 
  • premete il pulsante + (in alto a destra) in modo da visualizzare un selettore con tre liste:
    • "Contatti" : l'elenco dei contatti presenti nell'app Contatti
    • "Recenti": l'elenco dei giocatori contro cui avete giocato di recente 
    • "Vicini" : l'elenco dei giocatori che si trovano sulla vostra stessa rete wifi (per questa modalità nell'app Impostazioni, alla voce Game Center, è necessario che sia attivo l'opzione "Giocatori Vicini")
  • selezionate dalle liste le persone a cui inviare l'invito e chiudete la schermata
  • quindi inviate il messaggio
  • gli amici riceveranno il messaggio di invito, toccandolo potranno accettare l'invito (in caso non abbiano il gioco installato verranno ridiresti sull'App Store dove potranno procedere con il download e l'installazione del gioco)
  • se tutti gli amici accetteranno l'invito la partita avrà inizio

Inizio della partita online
 

premendo il pulsante "4 giocatori" (in alto a destra)
 potete cambiare il numero dei giocatori



una volta scelto il numero dei giocatori e premuto il pulsante
"Inivita amici" appare il messaggio di invito che sarà spedito agli amici

premendo il pulsante a forma di + cerchiato in alto a destra
avrete a disposizione tre liste di persone che potete invitare

  



note a margine:

in passato, quando il vostro dispositivo utilizzava iOS9 era più semplice, ora con iOS10
sembra che Apple abbia un po nascosto queste funzionalità

Apple con iOS 10
- ha rimosso l'app Game Center dal vostro dispositivo
- non prevede più la possibilità di avere una lista di amici in Game Center, con possibilità di invitare qualcuno a diventare amico o di rimuoverlo dalla lista degli amici, in iOS10 questa lista è stata sostituita con l'elenco dei Contatti