Proto d'un jeu de cartes avec Squeak et Seaside

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Proto d'un jeu de cartes avec Squeak et Seaside

Frédéric THOMAS
Bonjour,
 
J'ai créé mon premier site web utilisant Squeak et Seaside,
c'est un jeu de cartes pour 2 joueurs au tour par tour.
 
Le prototype est accessible sur http://jambo.seasidehosting.st
Pour pouvoir le tester, il faut ouvrir deux pages avec des users différents.
 
Avant d'approfondir le design et l'ergonomie,
j'ai quelques questions à soumettre à la communauté :
 
- J'ai une perte de qualité sur les images (Form fromFileNamed:...) ,
j'ai l'impression qu'il y a une conversion en 256 couleurs !!
 
- Comment gérer la persistance des parties sur seasideHosting ?
(ce serait bien de pouvoir mettre à jour l'image sans détruire les parties en cours)
 
- Peux-t-on sauvegarder des instances vers des fichiers (comme le Boss sous VisualWorks) ?
 
- Comment actualiser automatiquement la page ?
J'ai bien essayé le code suivant :
WAJambo>>renderContentOn: html
.....
  html paragraph
      script: (html updater
         every: 10 second;
         on: #renderTimeOn: of: self)
 
La méthode renderTimeOn: appellant à nouveau renderContentOn: si le jeu a changé.
..mais cela ne fonctionne pas !
 
- Comment actualiser seulement une partie de la page ?
 
- Comment redéfinir le style de l'info bulle (title:)
 
- Il y a une doc ou des exemples sur les "décorations", je n'ai pas bien compris...
 
- Sur mon Firefox (Vista), chaque échange avec le serveur est très long (même en localhost),
contrairement à Chrome ou IE...
 
Voila, c'est tout pour le moment !
Et bonne Smalltalk Party à tous ceux qui y participent.
 
Frédéric THOMAS.

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Proto d'un jeu de cartes avec Squeak et Seaside

cedreek
Salut,

très sympa comme première appli :)
> - J'ai une perte de qualité sur les images (Form fromFileNamed:...) ,
> j'ai l'impression qu'il y a une conversion en 256 couleurs !!
ca je ne sais pas vraiment...
> - Comment gérer la persistance des parties sur seasideHosting ?
> (ce serait bien de pouvoir mettre à jour l'image sans détruire les
> parties en cours)
Je pense tu dois pouvoir sérialiser (mais ptet dans le repertoire
/resources). Essayes d'abord en local.

SmartRefStream
    newFileNamed: '/resources/saveGame.obj'
    do: [ :file | file nextPutObjOnly: laCollection de parties ; flush ].


"lecture"
parties := [ SmartRefStream
        readOnlyFileNamed: (FileDirectory default fullNameFor:
'/resources/saveGame.obj")
        do: [ :file | file sandstoneNextAndClose ] ]
        on: Error
        do: [ :err | Error signal: err messageText ].

J'utilise sandstoneNextAndClose qui provient de SandstoneDB mais tu
devrais trouver l'équivalent. Dejà, vérifie que la sérialisation
fonction (et surtout que l'image peut ecrire dans le repertoire de
seasidehosting)

>  
> - Peux-t-on sauvegarder des instances vers des fichiers (comme le Boss
> sous VisualWorks) ?
oui avec SmartRefStream
>  
> - Comment actualiser automatiquement la page ?
> J'ai bien essayé le code suivant :
> WAJambo>>renderContentOn: html
> .....
>   html paragraph
>       script: (html updater
>          every: 10 second;
>          on: #renderTimeOn: of: self)
l'updater agit sur un div.
Si tu met un div global pour la page entiere...

html paragraph
      script: (html updater
         id: #global
         every: 10 second;
         on: #renderContentOn: of: self)

>  
> La méthode renderTimeOn: appellant à nouveau renderContentOn: si le
> jeu a changé.
> ..mais cela ne fonctionne pas !
Sinon, il y a des exemples dans la mailing seaside...

>  
> - Comment actualiser seulement une partie de la page ?
updater sur le div que tu veux remplacer...

>  
> - Comment redéfinir le style de l'info bulle (title:)
>  
> - Il y a une doc ou des exemples sur les "décorations", je n'ai pas
> bien compris...
>  
> - Sur mon Firefox (Vista), chaque échange avec le serveur est très
> long (même en localhost),
> contrairement à Chrome ou IE...
Firefox est plutot lent en effet... :s

a plus,

Cédrick

>  
> Voila, c'est tout pour le moment !
> Et bonne *_Smalltalk Party_* à tous ceux qui y participent.
>  
> Frédéric THOMAS.
> ------------------------------------------------------------------------
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>  

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Proto d'un jeu de cartes avec Squeak et Seaside

hernanmd
In reply to this post by Frédéric THOMAS
Bonjour Frédéric

2008/11/26 Frédéric THOMAS <[hidden email]>
Bonjour,
 
J'ai créé mon premier site web utilisant Squeak et Seaside,
c'est un jeu de cartes pour 2 joueurs au tour par tour.
 
Le prototype est accessible sur http://jambo.seasidehosting.st
Pour pouvoir le tester, il faut ouvrir deux pages avec des users différents.
 
Avant d'approfondir le design et l'ergonomie,
j'ai quelques questions à soumettre à la communauté :
 
- J'ai une perte de qualité sur les images (Form fromFileNamed:...) ,
j'ai l'impression qu'il y a une conversion en 256 couleurs !!

Pour ajouter les images dans Squeak tu peux utiliser l'Instance Encoder: http://www.squeaksource.com/InstanceEncoder.html
 
 
- Comment gérer la persistance des parties sur seasideHosting ?
(ce serait bien de pouvoir mettre à jour l'image sans détruire les parties en cours)
 
- Peux-t-on sauvegarder des instances vers des fichiers (comme le Boss sous VisualWorks) ?
 
- Comment actualiser automatiquement la page ?
J'ai bien essayé le code suivant :
WAJambo>>renderContentOn: html
.....
  html paragraph
      script: (html updater
         every: 10 second;
         on: #renderTimeOn: of: self)
 
La méthode renderTimeOn: appellant à nouveau renderContentOn: si le jeu a changé.
..mais cela ne fonctionne pas !

N'oubliez pas tant Seaside comme Scriptaculous sont orientées au tag, car tu dois identifier chaque tag bloc avec un Symbol (au moins dans le cas qui tu veux utiliser AJAX). Si tu veux une solution qui ne dépendent pas des tags tu peux utiliser SmallFaces : http://wiki.squeak.org/squeak/6088
 
 
- Comment actualiser seulement une partie de la page ? 
 
- Comment redéfinir le style de l'info bulle (title:)

Pour ceci regardez les implementors du message #style. Tu vais voir que chaque identificateur CSS - qui commencent avec # ou . (point) ou ils représentent un élément XHTML - il se correspond avec un identificateur dans les méthodes de dessiné (#renderContentOn: .. et autres). 
Au fait avec Phantasia, le CSS framework que j'écris, tu dois écrire encore les identificateurs dans le #renderContentOn: et amis, mais dans le #style méthode tu as des objets CSS comme CSSClass, CSSId, CSSFont, etc.

Par exemple, pour produire la règle:

#large {
  color: red;
  text-align: justify;
}

tu peux écrire:

| aRule |
aRule := StyleSheetRule cssId: 'large'.
aRule
add: ( CSSColor colorProperty color: Color red asHTMLColor );
add: CSSText new justified.
aRule syntax

Cordialement,

Hernán

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr