Germán: Del código del TEG (completo está en SqueakRos)
grabaEstado | t1 | t1 _ ReferenceStream fileNamed: 'estado.teg'. t1 nextPut: losJugadores. t1 nextPut: cartasOrden. t1 nextPut: jugadoresVivos. t1 nextPut: playerTurn. t1 nextPut: ronda. t1 nextPut: numCarta. t1 nextPut: cambiosTotales. 1 to: 42 do: [:t2 | t1 nextPut: (submorphs at: t2) ejercitos. t1 nextPut: (submorphs at: t2) deQuienSoy]. t1 close
leerEstado | t1 | t1 _ ReferenceStream fileNamed: 'estado.teg'. losJugadores _ t1 next. cartasOrden _ t1 next. jugadoresVivos _ t1 next. playerTurn _ t1 next. ronda _ t1 next. numCarta _ t1 next. cambiosTotales _ t1 next. 1 to: 42 do: [:t2 | (submorphs at: t2) ejercitos: t1 next. (submorphs at: t2) deQuienSoy: t1 next]. t1 close.
Mismo código para mandar los objetos por red.
askMyData | estadoTEG losPaises losPaisesData elPais soyDe nuevoColor | estadoTEG _ activeSocket getObject. self losJugadores: (estadoTEG at: 1). self cartasOrden: (estadoTEG at: 2). self ronda: (estadoTEG at: 3). self numCarta: (estadoTEG at: 4). self cambiosTotales: (estadoTEG at: 5). losPaises _ estadoTEG at: 6. 1 to: 42 do: [:pais | losPaisesData _ losPaises at: pais. elPais _ self submorphs at: pais. elPais ejercitos: (losPaisesData at: 1). elPais deQuienSoy: (losPaisesData at: 2). soyDe _ elPais deQuienSoy. nuevoColor _ (self losJugadores at: soyDe) miColor. elPais redrawInColor: nuevoColor]. self playerTurn: ( estadoTEG at: 7).
sendMyData | estadoTEG losPaises elPais losPaisesData | serverOrClient = #server ifTrue: [ activeSocket _ socketList at: playerTurn]. (activeSocket isValid and: [activeSocket isConnected]) ifTrue: [estadoTEG _ OrderedCollection new. estadoTEG add: self losJugadores. estadoTEG add: self cartasOrden. estadoTEG add: self ronda. estadoTEG add: self numCarta. estadoTEG add: self cambiosTotales. losPaises _ Array new: 42. 1 to: 42 do: [:pais | elPais _ self submorphs at: pais. losPaisesData _ Array new: 2. losPaisesData at: 1 put: elPais ejercitos. losPaisesData at: 2 put: elPais deQuienSoy. losPaises at: pais put: losPaisesData]. estadoTEG add: losPaises. estadoTEG add: self playerTurn. activeSocket sendObject: estadoTEG]. [activeSocket dataAvailable] whileFalse. self askMyData