cruce-commit Mailing List for Cruce (Page 2)
Status: Beta
Brought to you by:
caiusb
You can subscribe to this list here.
| 2010 |
Jan
|
Feb
|
Mar
(68) |
Apr
(51) |
May
(31) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|
|
From: <ali...@us...> - 2010-05-14 12:01:00
|
Revision: 141
http://cruce.svn.sourceforge.net/cruce/?rev=141&view=rev
Author: alinposho
Date: 2010-05-14 12:00:51 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Am adaugat fisierele pentru pagina principala si pagina unui thread. Pentru moment ele au doar codul autogenerat de eclipse.
Added Paths:
-----------
JSP/trunk/Forum/WebContent/Thread.jsp
JSP/trunk/Forum/WebContent/index.jsp
Added: JSP/trunk/Forum/WebContent/Thread.jsp
===================================================================
--- JSP/trunk/Forum/WebContent/Thread.jsp (rev 0)
+++ JSP/trunk/Forum/WebContent/Thread.jsp 2010-05-14 12:00:51 UTC (rev 141)
@@ -0,0 +1,12 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file
Added: JSP/trunk/Forum/WebContent/index.jsp
===================================================================
--- JSP/trunk/Forum/WebContent/index.jsp (rev 0)
+++ JSP/trunk/Forum/WebContent/index.jsp 2010-05-14 12:00:51 UTC (rev 141)
@@ -0,0 +1,12 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-05-14 11:51:08
|
Revision: 140
http://cruce.svn.sourceforge.net/cruce/?rev=140&view=rev
Author: horiaradu
Date: 2010-05-14 11:51:01 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Am adaugat clasele de date. Am facut pt user o clasa de management care scrie in bd, citeste, etc...
Am pus scriptu de configurare, dar are niste linii in plus care vor disparea dupa ce termin si vad ca merge.
Clasa Test nu e un test, ci e un main cu care ma joc eu si cu care va puteti juca si voi daca vreti.
In BD am pus userul horia si parola barcelona. Am facut sa mearga pe localhost. E ok pt ca serverul si BD vor fi pe acelasi PC.
Modified Paths:
--------------
JSP/trunk/Forum/.classpath
Added Paths:
-----------
JSP/trunk/Forum/bd_script.sql
JSP/trunk/Forum/build/
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ForumDAOFactory.java
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/PostDAO.java
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ThreadDAO.java
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/TopicDAO.java
JSP/trunk/Forum/src/prc/bubulina/forum/data_access/UserDAO.java
JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/
JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Post.java
JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Thread.java
JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Topic.java
JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/User.java
JSP/trunk/Forum/src/prc/bubulina/forum/test/
JSP/trunk/Forum/src/prc/bubulina/forum/test/Test.java
Modified: JSP/trunk/Forum/.classpath
===================================================================
--- JSP/trunk/Forum/.classpath 2010-05-11 20:29:42 UTC (rev 139)
+++ JSP/trunk/Forum/.classpath 2010-05-14 11:51:01 UTC (rev 140)
@@ -1,13 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-sun-1.6.0.20">
- <attributes>
- <attribute name="owner.project.facets" value="jst.java"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
- <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
- <classpathentry kind="lib" path="/usr/share/tomcat6/lib/servlet-api.jar"/>
- <classpathentry kind="output" path="build/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: JSP/trunk/Forum/bd_script.sql
===================================================================
--- JSP/trunk/Forum/bd_script.sql (rev 0)
+++ JSP/trunk/Forum/bd_script.sql 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,75 @@
+use forum;
+
+CREATE TABLE users (
+ user_id INT NOT NULL AUTO_INCREMENT,
+ name VARCHAR(30) NOT NULL,
+ password VARCHAR(50) NOT NULL,
+ email VARCHAR(30) NOT NULL,
+ post_count INT NOT NULL DEFAULT 0,
+ joined_date DATE NOT NULL,
+ PRIMARY KEY (user_id)
+);
+
+CREATE TABLE threads (
+ thread_id INT NOT NULL AUTO_INCREMENT,
+ name VARCHAR(30) NOT NULL,
+ topic_count INT NOT NULL DEFAULT 0,
+ PRIMARY KEY (thread_id)
+);
+
+CREATE TABLE topics (
+ topic_id INT NOT NULL AUTO_INCREMENT,
+ subject VARCHAR(30) NOT NULL,
+ thread_id INT NOT NULL,
+ PRIMARY KEY (topic_id),
+ FOREIGN KEY (thread_id) REFERENCES threads(thread_id) ON DELETE CASCADE
+);
+
+CREATE TABLE posts (
+ post_id INT NOT NULL AUTO_INCREMENT,
+ text MEDIUMBLOB NOT NULL,
+ subject VARCHAR(50) NOT NULL,
+ topic_id INT NOT NULL,
+ user_id INT NOT NULL,
+ PRIMARY KEY (post_id),
+ FOREIGN KEY (topic_id) REFERENCES topics(topic_id) ON DELETE CASCADE,
+ FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE
+);
+
+GRANT all ON users TO horia;
+GRANT all ON threads TO horia;
+GRANT all ON topics TO horia;
+GRANT all ON posts TO horia;
+
+show columns from users;
+show columns from threads;
+show columns from topics;
+show columns from posts;
+
+INSERT INTO users (name, password, email, post_count, joined_date) VALUES
+ ("Horia", MD5("bubulina"), "hor...@gm...", 0, CURDATE()),
+ ("Caius", MD5("jijel"), "hor...@gm...", 0, CURDATE()),
+ ("Alin", MD5("yupidupi"), "hor...@gm...", 0, CURDATE());
+
+INSERT INTO users (name, password, email, post_count, joined_date) VALUES
+ ("Gigi", MD5("bubulina"), "hor...@gm...", 0, CURDATE());
+
+INSERT INTO threads (name, topic_count) VALUES
+ ("thread1", 0);
+
+INSERT INTO topics (subject, thread_id) VALUES
+ ("topic1", 2);
+INSERT INTO topics (subject, thread_id) VALUES
+ ("topic2", 2);
+UPDATE threads SET topic_count=2 WHERE thread_id=2;
+
+INSERT INTO posts (subject, text, topic_id, user_id) VALUES
+ ("Subject1", "Ana are multe mere. Eu merg la piata.", 8, 1);
+UPDATE users SET post_count=post_count+1 WHERE user_id=1;
+
+
+
+
+
+
+
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ForumDAOFactory.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ForumDAOFactory.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ForumDAOFactory.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,36 @@
+package prc.bubulina.forum.data_access;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+public class ForumDAOFactory {
+ public static final String DRIVER = "com.mysql.jdbc.Driver";
+ public static final String DBURL = "jdbc:mysql://localhost:3306/forum";
+
+ public static Connection createConnection() {
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ return DriverManager.getConnection(DBURL, "horia", "barcelona");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static UserDAO getUserDAO() {
+ return new UserDAO();
+ }
+
+ public static ThreadDAO getThreadDAO() {
+ return new ThreadDAO();
+ }
+
+ public static TopicDAO getTopicDAO() {
+ return new TopicDAO();
+ }
+
+ public static PostDAO getPostDAO() {
+ return new PostDAO();
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/data_access/PostDAO.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/data_access/PostDAO.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/data_access/PostDAO.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,5 @@
+package prc.bubulina.forum.data_access;
+
+public class PostDAO {
+
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ThreadDAO.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ThreadDAO.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/data_access/ThreadDAO.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,5 @@
+package prc.bubulina.forum.data_access;
+
+public class ThreadDAO {
+
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/data_access/TopicDAO.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/data_access/TopicDAO.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/data_access/TopicDAO.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,5 @@
+package prc.bubulina.forum.data_access;
+
+public class TopicDAO {
+
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/data_access/UserDAO.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/data_access/UserDAO.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/data_access/UserDAO.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,99 @@
+package prc.bubulina.forum.data_access;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import prc.bubulina.forum.dataclasses.User;
+
+public class UserDAO {
+ public User get(String userName) {
+ try {
+ Connection con = ForumDAOFactory.createConnection();
+ Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
+ ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE name=\"" + userName + "\"");
+ rs.first();
+
+ User result = new User(rs.getInt("user_id"), rs.getString("name"), rs.getString("password"), rs.getString("email"),
+ rs.getInt("post_count"), rs.getDate("joined_date"));
+
+ con.close();
+
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public boolean add(String name, String password, String email) {
+ try {
+ Connection con = ForumDAOFactory.createConnection();
+ Statement stmt = con.createStatement();
+
+ String queryString = "INSERT INTO users (name, password, email, post_count, joined_date) " +
+ "VALUES (\"" + name + "\", \"" + password + "\", \"" +
+ email + "\", 0, CURDATE());";
+ System.out.println(queryString);
+ stmt.executeUpdate(queryString);
+
+ con.close();
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ public boolean update(User user, String name, String password, String email) {
+ try {
+ Connection con = ForumDAOFactory.createConnection();
+ Statement stmt = con.createStatement();
+
+ String queryString = "UPDATE users SET name=\"" + name + "\", password=\"" + password + "\", " +
+ "email=\"" + email + "\" WHERE user_id=" + user.user_id + ";";
+ System.out.println(queryString);
+ stmt.executeUpdate(queryString);
+
+ con.close();
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ public boolean checkPassword(String name, String password) {
+ boolean result = false;
+ try {
+ Connection con = ForumDAOFactory.createConnection();
+ Statement stmt = con.createStatement();
+
+ ResultSet rs = stmt.executeQuery("SELECT password FROM users WHERE name=\"" + name + "\"");
+ rs.first();
+
+ if (password.equals(rs.getString("password")))
+ result = true;
+
+ con.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ public boolean delete(String name) {
+ try {
+ Connection con = ForumDAOFactory.createConnection();
+ Statement stmt = con.createStatement();
+
+ stmt.executeUpdate("DELETE FROM users WHERE name=\"" + name + "\"");
+
+ con.close();
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Post.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Post.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Post.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,17 @@
+package prc.bubulina.forum.dataclasses;
+
+public class Post {
+ public int post_id;
+ public String subject;
+ public String text;
+ public int topic_id;
+ public int user_id;
+
+ public Post(int post_id, String subject, String text, int topic_id, int user_id) {
+ this.post_id = post_id;
+ this.subject = subject;
+ this.text = text;
+ this.topic_id = topic_id;
+ this.user_id = user_id;
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Thread.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Thread.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Thread.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,13 @@
+package prc.bubulina.forum.dataclasses;
+
+public class Thread {
+ public int thread_id;
+ public String name;
+ public int topic_count;
+
+ public Thread(int thread_id, String name, int topic_count) {
+ this.thread_id = thread_id;
+ this.name = name;
+ this.topic_count = topic_count;
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Topic.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Topic.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/Topic.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,13 @@
+package prc.bubulina.forum.dataclasses;
+
+public class Topic {
+ public int topic_id;
+ public String subject;
+ public int thread_id;
+
+ public Topic(int topic_id, String subject, int thread_id) {
+ this.topic_id = topic_id;
+ this.subject = subject;
+ this.thread_id = thread_id;
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/User.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/User.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/dataclasses/User.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,21 @@
+package prc.bubulina.forum.dataclasses;
+
+import java.sql.Date;
+
+public class User {
+ public int user_id;
+ public String name;
+ public String password;
+ public String email;
+ public int post_count;
+ public Date joined_date;
+
+ public User(int user_id, String name, String password, String email, int post_count, Date joined_date) {
+ this.user_id = user_id;
+ this.name = name;
+ this.password = password;
+ this.email = email;
+ this.post_count = post_count;
+ this.joined_date = joined_date;
+ }
+}
\ No newline at end of file
Added: JSP/trunk/Forum/src/prc/bubulina/forum/test/Test.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/test/Test.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/test/Test.java 2010-05-14 11:51:01 UTC (rev 140)
@@ -0,0 +1,22 @@
+package prc.bubulina.forum.test;
+
+import prc.bubulina.forum.data_access.ForumDAOFactory;
+import prc.bubulina.forum.data_access.UserDAO;
+import prc.bubulina.forum.dataclasses.User;
+
+public class Test {
+ public static void main(String[] args) {
+ UserDAO userDao= ForumDAOFactory.getUserDAO();
+
+ //userDao.add("Horia", "bubulina", "hor...@gm...");
+
+ User user = userDao.get("Horia");
+ System.out.println(user.post_count + " " + user.password + " " + user.email);
+
+ System.out.println(userDao.checkPassword("Horia", "bubulina"));
+
+ userDao.update(user, "Horia", "hdsuahda", "h0...@ya...");
+
+ //userDao.delete("Horia");
+ }
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-05-11 20:29:48
|
Revision: 139
http://cruce.svn.sourceforge.net/cruce/?rev=139&view=rev
Author: caiusb
Date: 2010-05-11 20:29:42 +0000 (Tue, 11 May 2010)
Log Message:
-----------
Added Hello world to Hello.jsp
Modified Paths:
--------------
JSP/trunk/Forum/WebContent/Hello.jsp
Modified: JSP/trunk/Forum/WebContent/Hello.jsp
===================================================================
--- JSP/trunk/Forum/WebContent/Hello.jsp 2010-05-11 09:30:23 UTC (rev 138)
+++ JSP/trunk/Forum/WebContent/Hello.jsp 2010-05-11 20:29:42 UTC (rev 139)
@@ -7,6 +7,6 @@
<title>Hello, World!</title>
</head>
<body>
-<form action="HelloServlet" method="GET"></form>
+<% out.println("Hello world"); %>
</body>
</html>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-05-11 09:30:30
|
Revision: 138
http://cruce.svn.sourceforge.net/cruce/?rev=138&view=rev
Author: caiusb
Date: 2010-05-11 09:30:23 +0000 (Tue, 11 May 2010)
Log Message:
-----------
The files.
Added Paths:
-----------
JSP/trunk/Forum/.classpath
JSP/trunk/Forum/.project
JSP/trunk/Forum/.settings/
JSP/trunk/Forum/.settings/.jsdtscope
JSP/trunk/Forum/.settings/org.eclipse.jdt.core.prefs
JSP/trunk/Forum/.settings/org.eclipse.wst.common.component
JSP/trunk/Forum/.settings/org.eclipse.wst.common.project.facet.core.xml
JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.container
JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.name
JSP/trunk/Forum/WebContent/
JSP/trunk/Forum/WebContent/Hello.jsp
JSP/trunk/Forum/WebContent/META-INF/
JSP/trunk/Forum/WebContent/META-INF/MANIFEST.MF
JSP/trunk/Forum/WebContent/WEB-INF/
JSP/trunk/Forum/WebContent/WEB-INF/lib/
JSP/trunk/Forum/WebContent/WEB-INF/web.xml
JSP/trunk/Forum/src/
JSP/trunk/Forum/src/prc/
JSP/trunk/Forum/src/prc/bubulina/
JSP/trunk/Forum/src/prc/bubulina/forum/
JSP/trunk/Forum/src/prc/bubulina/forum/Hello.java
JSP/trunk/Forum/src/prc/bubulina/forum/HelloServlet.java
Added: JSP/trunk/Forum/.classpath
===================================================================
--- JSP/trunk/Forum/.classpath (rev 0)
+++ JSP/trunk/Forum/.classpath 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-sun-1.6.0.20">
+ <attributes>
+ <attribute name="owner.project.facets" value="jst.java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="lib" path="/usr/share/tomcat6/lib/servlet-api.jar"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: JSP/trunk/Forum/.project
===================================================================
--- JSP/trunk/Forum/.project (rev 0)
+++ JSP/trunk/Forum/.project 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Forum</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
Added: JSP/trunk/Forum/.settings/.jsdtscope
===================================================================
--- JSP/trunk/Forum/.settings/.jsdtscope (rev 0)
+++ JSP/trunk/Forum/.settings/.jsdtscope 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
Added: JSP/trunk/Forum/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- JSP/trunk/Forum/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ JSP/trunk/Forum/.settings/org.eclipse.jdt.core.prefs 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,7 @@
+#Tue May 11 10:28:54 EEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added: JSP/trunk/Forum/.settings/org.eclipse.wst.common.component
===================================================================
--- JSP/trunk/Forum/.settings/org.eclipse.wst.common.component (rev 0)
+++ JSP/trunk/Forum/.settings/org.eclipse.wst.common.component 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="Forum">
+ <wb-resource deploy-path="/" source-path="/WebContent"/>
+ <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+ <property name="context-root" value="Forum"/>
+ <property name="java-output-path" value="/Forum/build/classes"/>
+ </wb-module>
+</project-modules>
Added: JSP/trunk/Forum/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- JSP/trunk/Forum/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ JSP/trunk/Forum/.settings/org.eclipse.wst.common.project.facet.core.xml 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <fixed facet="jst.web"/>
+ <fixed facet="jst.java"/>
+ <installed facet="jst.java" version="6.0"/>
+ <installed facet="jst.web" version="2.4"/>
+</faceted-project>
Added: JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.container
===================================================================
--- JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.container (rev 0)
+++ JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.container 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
Added: JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.name
===================================================================
--- JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.name (rev 0)
+++ JSP/trunk/Forum/.settings/org.eclipse.wst.jsdt.ui.superType.name 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1 @@
+Window
\ No newline at end of file
Added: JSP/trunk/Forum/WebContent/Hello.jsp
===================================================================
--- JSP/trunk/Forum/WebContent/Hello.jsp (rev 0)
+++ JSP/trunk/Forum/WebContent/Hello.jsp 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,12 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Hello, World!</title>
+</head>
+<body>
+<form action="HelloServlet" method="GET"></form>
+</body>
+</html>
\ No newline at end of file
Added: JSP/trunk/Forum/WebContent/META-INF/MANIFEST.MF
===================================================================
--- JSP/trunk/Forum/WebContent/META-INF/MANIFEST.MF (rev 0)
+++ JSP/trunk/Forum/WebContent/META-INF/MANIFEST.MF 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: JSP/trunk/Forum/WebContent/WEB-INF/web.xml
===================================================================
--- JSP/trunk/Forum/WebContent/WEB-INF/web.xml (rev 0)
+++ JSP/trunk/Forum/WebContent/WEB-INF/web.xml 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>Forum</display-name>
+ <servlet>
+ <description>
+ </description>
+ <display-name>HelloServlet</display-name>
+ <servlet-name>HelloServlet</servlet-name>
+ <servlet-class>
+ prc.bubulina.forum.HelloServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>HelloServlet</servlet-name>
+ <url-pattern>/HelloServlet</url-pattern>
+ </servlet-mapping>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+</web-app>
Added: JSP/trunk/Forum/src/prc/bubulina/forum/Hello.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/Hello.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/Hello.java 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,7 @@
+package prc.bubulina.forum;
+
+public class Hello {
+ public String getHello() {
+ return "Hello, World!";
+ }
+}
Added: JSP/trunk/Forum/src/prc/bubulina/forum/HelloServlet.java
===================================================================
--- JSP/trunk/Forum/src/prc/bubulina/forum/HelloServlet.java (rev 0)
+++ JSP/trunk/Forum/src/prc/bubulina/forum/HelloServlet.java 2010-05-11 09:30:23 UTC (rev 138)
@@ -0,0 +1,40 @@
+package prc.bubulina.forum;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Servlet implementation class HelloServlet
+ */
+public class HelloServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+ private Hello hello;
+
+ /**
+ * Default constructor.
+ */
+ public HelloServlet() {
+ hello = new Hello();
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ PrintWriter out = response.getWriter();
+ out.println("Hello, World!");
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-05-11 09:28:02
|
Revision: 137
http://cruce.svn.sourceforge.net/cruce/?rev=137&view=rev
Author: caiusb
Date: 2010-05-11 09:27:56 +0000 (Tue, 11 May 2010)
Log Message:
-----------
Initial import.
Added Paths:
-----------
JSP/trunk/Forum/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-05-09 12:03:53
|
Revision: 136
http://cruce.svn.sourceforge.net/cruce/?rev=136&view=rev
Author: caiusb
Date: 2010-05-09 12:03:47 +0000 (Sun, 09 May 2010)
Log Message:
-----------
Created the structure for the JSP project
Added Paths:
-----------
JSP/
JSP/branches/
JSP/tags/
JSP/trunk/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <te...@us...> - 2010-04-27 18:36:28
|
Revision: 135
http://cruce.svn.sourceforge.net/cruce/?rev=135&view=rev
Author: teitei
Date: 2010-04-27 18:36:22 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
Am modificat la OrderKeeper
Modified Paths:
--------------
Java/trunk/Documentation/prc_java.doc
Modified: Java/trunk/Documentation/prc_java.doc
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ali...@us...> - 2010-04-27 16:51:34
|
Revision: 134
http://cruce.svn.sourceforge.net/cruce/?rev=134&view=rev
Author: alinposho
Date: 2010-04-27 16:51:27 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
O mica modificare in diagrama de clase de la remote. Plus am scos campul roundLogic din ServerImplementation pentru ca nu era folosit.
Am adaugat 2 dagrame de secveta in fiserul .docx, plus am grupat diagramele de secventa la final. Am dat commit si fisierului cu documentatia dupa ce l-am convertit in .doc. Sper ca este OK.
Modified Paths:
--------------
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Java/trunk/Documentation/Overview of remote.jpg
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Added Paths:
-----------
Java/trunk/Documentation/prc_java.doc
Java/trunk/Documentation/~$c_java.doc
Java/trunk/Documentation/~WRL0004.tmp
Modified: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml 2010-04-27 16:15:39 UTC (rev 133)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-27 16:51:27 UTC (rev 134)
@@ -82,7 +82,7 @@
<XPD:REF name="DiagramOwner">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="bzDL4R8ZIEePFXYJvW8VOQAA">
<XPD:REF name="Diagram">kB6uEY7a+kKkWIgVidGuDQAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">15</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">14</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLClassView" guid="/GVlO808V0+qCKBYu2DdiAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
@@ -175,123 +175,9 @@
<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[3]" type="UMLInterfaceView" guid="LqbI/wsy8Ue5vCAjRaYhAwAA">
+<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="FaO2byLzMUWW6AO6yRY/TQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">1009</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">129</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">101</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
-<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
-<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="v2BX7xDfx0WeRFraz6Vo9AAA">
-<XPD:OBJ name="NameLabel" type="LabelView" guid="LsFzkufrw0iH5lL42VozKwAA">
-<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">ServerInterface</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="P8bCHRmtCESNcQNyLPgU2AAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="LabelView" guid="gU2MaQ7RFU6dSyIe3rMq+gAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="+zK9lv6T2UGcYI8FrQqFPgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="m3wiUmkQsEGUIaj7FH3gKQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[4]" type="UMLAssociationView" guid="aZ4hKrwseUyhDyYVOlblLwAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">684,118;1009,147</XPD:ATTR>
-<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
-<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
-<XPD:REF name="Tail">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="UDYlmoqolUG3MuqlHREhRAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="1JoadzL340KAL1vSwjjkUAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="oi1TZIv4gEmJs8+lARyilgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="gWPWPP7WZ0Ona6I/e1uzagAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="nF6TprBWmEiYOm6yvWYtqQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="6xy2TFnbM06+zobCAjFbRgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="vTRR35YGLUiryPkXb7UsgAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="xIQiHmwto0GfvXJoS5GU/QAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="B9jAdxR/j0+mrVaNYOmeMQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
-<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="Di1Lz7PI50uFcNHsmIg/VQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="+Jr15hOlQEmnA57bnQ0UFAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[5]" type="UMLClassView" guid="FaO2byLzMUWW6AO6yRY/TQAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">1212</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">440</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">80</XPD:ATTR>
@@ -320,7 +206,7 @@
<XPD:REF name="Model">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[6]" type="UMLClassView" guid="JE2eQY//o0GJJu/fNIdFNwAA">
+<XPD:OBJ name="OwnedViews[4]" type="UMLClassView" guid="JE2eQY//o0GJJu/fNIdFNwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">944</XPD:ATTR>
@@ -351,13 +237,13 @@
<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[7]" type="UMLAssociationView" guid="+ClTPcEfSEeL4lPsb7SVdwAA">
+<XPD:OBJ name="OwnedViews[5]" type="UMLAssociationView" guid="+ClTPcEfSEeL4lPsb7SVdwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">976,440;657,136</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1032,378;667,136</XPD:ATTR>
<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
<XPD:REF name="Head">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
-<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:REF name="Tail">3yDFSM01gEiAR9cHphdN9AAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="6M2Y0QQ9CkmpdMuVlFH5CQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
@@ -435,373 +321,403 @@
<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[8]" type="UMLAssociationView" guid="IYsAlwR8SEW5Sffq1VrWgQAA">
+<XPD:OBJ name="OwnedViews[6]" type="UMLInterfaceView" guid="VVDxlDD3CkSYj9RsZOzOswAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1054,440;1059,173</XPD:ATTR>
-<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
-<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
+<XPD:ATTR name="Left" type="integer">1228</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">368</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="0xOW/j47M0a+Zg/E6EKBjAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="7nAFQJ73MUW7CPQIG+JpjQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="tmjy24B1/k2tVBScbp7KfgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="71vZk7IP10uok+vwWJ/aEAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="HtWA1l7hrEWeRIQJ2/fPbwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="WArh1NuJf0O6Ztpxsz71QgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[7]" type="UMLInterfaceView" guid="3yDFSM01gEiAR9cHphdN9AAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1032</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">372</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="UuLHnbdjCE2E4gaeRHNmYAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="7YA8iGljakSZdU1GGE0g9wAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="zaRxzF9e/06rk2cP8Nvb8AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="P8R5NvjXaEG5/waBFKs7PAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="JaZjfmHX7kqOgztSC4mJQwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="uJVhgG2SkkaxCtclHuGPJQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[8]" type="UMLRealizationView" guid="2R0r7FxunkiXnQuIHJL3qgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1055,440;1056,393</XPD:ATTR>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+<XPD:REF name="Head">3yDFSM01gEiAR9cHphdN9AAA</XPD:REF>
<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="waNb5wsX6UKcSnfImYgt8wAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="/+y4MjjL+EKyASQe0/h1ygAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="AR1G4bL54kq44I5WJMG/EwAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="fXK136sBFE2gIiSuBLjXzAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="V8kKIY/rIkeAFnUdJAZcmAAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="yZARaQPwbECsoJcjo944OwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="MJPGOp+GK0GOgf3uFm4WnwAA">
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[9]" type="UMLRealizationView" guid="HddD7OskDUawRmmKso1H4AAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1251,440;1252,389</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+<XPD:REF name="Head">VVDxlDD3CkSYj9RsZOzOswAA</XPD:REF>
+<XPD:REF name="Tail">FaO2byLzMUWW6AO6yRY/TQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="A8PCB4S79UmJHfY8XzthmAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="f8ejwNyvgEegb1RYVEgmywAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="1Fuohjb7RUWxHLdhdV1KGgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[10]" type="UMLInterfaceView" guid="sGkIEEYdN0Wxcdn+K5UlcQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1092</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">124</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">95</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="4zURFxN790OiiVtOtBeRRAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="sO1xxNL3LUOYCNK24W2dowAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">ClientInterface</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="dF4nlefAWUSh3069WM2bOAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="oWWFmek+j0uC/uT3iiVSNgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="k9bV4J5xZEKStJENXvdpSgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="JSwu43lkBkeQD2zqubYbYgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[11]" type="UMLAssociationView" guid="kghnrvyr5kSs4zM45PdcXAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1134,168;1070,440</XPD:ATTR>
+<XPD:REF name="Model">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+<XPD:REF name="Head">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:REF name="Tail">sGkIEEYdN0Wxcdn+K5UlcQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="f3luD0oic0Ktj/QsbI299gAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="1QS8E5m76ES0ck1113Xj1QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="2Ty7MNIlgUOhd0KVNNue0gAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="LX/VA+K5O0iqhkkyFmPBJAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+<XPD:REF name="Model">Zf7vxf5VQ0+YSfgpYQMtLwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="K1UtJOoWGEe0r0dVZvLw/wAA">
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="ubBBPxXTzk2pkYuhgQQ4TQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Model">a1AoqgETQkmK3FjmVw6fFQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="77tjAXZYrUauGmLW4BtZzAAA">
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="GThNdebJdEGpD03fi7IYrQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+<XPD:REF name="Model">Zf7vxf5VQ0+YSfgpYQMtLwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="SERHbQXT3Eq1lZtWaOvndwAA">
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="kw4o4JhWyUmUPNSoxJQKlAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Model">a1AoqgETQkmK3FjmVw6fFQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="1o0q1xQEDU+quTKIhgl7tgAA">
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="VCK7U3z0o0qzfpBFsMQymQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+<XPD:REF name="Model">Zf7vxf5VQ0+YSfgpYQMtLwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="aHk4Tl9RY0SxR28JtpEeDgAA">
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="YQPbtB1/EUmn/SQgLGkgAQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Model">a1AoqgETQkmK3FjmVw6fFQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="8Ig1nLX1TU+Mi2T4WyOzgwAA">
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="23xLoWS37UuJka1IBz2u3AAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+<XPD:REF name="Model">Zf7vxf5VQ0+YSfgpYQMtLwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="8RXw2TeCn0SpYMOXC935GwAA">
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="6fmPdUHB/0+HJw9mxTkG6QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Model">a1AoqgETQkmK3FjmVw6fFQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[9]" type="UMLAssociationView" guid="pdODkp/OMUe3YWfQcF8ohwAA">
+<XPD:OBJ name="OwnedViews[12]" type="UMLAssociationView" guid="J3EDML8GFE69bDJ1Ls5PSwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">976,440;657,136</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
-<XPD:REF name="Head">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
-<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="VzKF0yyuRU6UdU4VI8aQxwAA">
+<XPD:ATTR name="Points" type="Points">684,117;1092,143</XPD:ATTR>
+<XPD:REF name="Model">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
+<XPD:REF name="Head">sGkIEEYdN0Wxcdn+K5UlcQAA</XPD:REF>
+<XPD:REF name="Tail">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="odoVOcQ5CEykrqL6stetmAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="003OnY0ouEi5VRhpZLLaTQAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="mdJAaZn3a0OuNMYCqch1ugAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="CwvbERpvAkWv0NyLMWatzwAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="NBaIMDWgN0OdrpPyJ06UngAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="8hlzs2QP80SAFc0qi9i9fAAA">
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="orb/KAhsr0apqlusT2yZLQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">CcpI08sO20+J0mzYHrp8GwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="ph9Md9Opt0aNagYSG35CkQAA">
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="/YhX7UMJ8kixILnHWWuo7AAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">lnnYxBVqDkm+P2VSDdgPCQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="o+SzfnUKMkC2A3NMwCB6/AAA">
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="jQh1lju+NEStSA5Nl2BZJgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">CcpI08sO20+J0mzYHrp8GwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="DEHYYX9hQ0mKVjAbdIEOAgAA">
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="9Fx2Aj5HmEiWLaWg50A5ggAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">lnnYxBVqDkm+P2VSDdgPCQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="nKd8ctv3/kessn8ZYUi0JwAA">
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="vy7QU+PzuUe4XJdKyEbMVAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">CcpI08sO20+J0mzYHrp8GwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="XKT0DeDUTU+LRadVmpuDYQAA">
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="5JaZ9inJpUG4hxFLHE6S5wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">lnnYxBVqDkm+P2VSDdgPCQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="I0Joi3UDsUqU1xxwe5XtYQAA">
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="h0KbH1g2aE65rpCAI0mTMQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">CcpI08sO20+J0mzYHrp8GwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="kK+EeW3Ix02qUkXXr2f5vAAA">
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="c9WO+gWrFky4FFOrAG7w3gAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">lnnYxBVqDkm+P2VSDdgPCQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[10]" type="UMLAssociationView" guid="Sx2HryGZVUaixYneM2M7aAAA">
+<XPD:OBJ name="OwnedViews[13]" type="UMLAssociationView" guid="+IJOb5j0XUa2wQVnUpdB2QAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1054,440;1059,173</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
-<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
-<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="F6DBu5/cv0STWTd7IebwRwAA">
+<XPD:ATTR name="Points" type="Points">1149,168;1242,368</XPD:ATTR>
+<XPD:REF name="Model">QgypzWxejUKtNhj03mEDeAAA</XPD:REF>
+<XPD:REF name="Head">VVDxlDD3CkSYj9RsZOzOswAA</XPD:REF>
+<XPD:REF name="Tail">sGkIEEYdN0Wxcdn+K5UlcQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="lrPbMD1WSkew+8Q+w8bX5wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QgypzWxejUKtNhj03mEDeAAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="QFmFAji5P0GqfNhxJ0vgiAAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="T5AebxfOUUqMbKKsugThngAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QgypzWxejUKtNhj03mEDeAAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="QHtyC4qYJEqsc1yoh6/BcAAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="USsdxGcNfU2jFrRmRef0VAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Model">QgypzWxejUKtNhj03mEDeAAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="irBM90DHA0mBxehuxObZFgAA">
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="RCFvqvqfNUegrafRfly3uAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">JnjpSXK+M0OxtsMTVvvD7wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="3YBCZ7yvuUCBFI5VXuuXpAAA">
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="cAYevE6E3ESMhrjt4KWvkQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">MEcwrDR9Zk6Qk3CTtcBexQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="hAkysJwAJ0W2iTsPKyHuwwAA">
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="PXiDjqI94kGSFInWj8521QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">JnjpSXK+M0OxtsMTVvvD7wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="k4KXd6mMpUSLbGVrhFj1gAAA">
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="kV9jpJbkEkK+bkGwQPCLmAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">MEcwrDR9Zk6Qk3CTtcBexQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="vJOBlPZsOUO1KN42EZ6GDgAA">
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="72+dumK+/0eFtcsE9tbwygAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">JnjpSXK+M0OxtsMTVvvD7wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="/CMjshXTJUKMumBHkelgGAAA">
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="CT0i4uHQqE2ximXA9a68QgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">MEcwrDR9Zk6Qk3CTtcBexQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="qb9TRZLL20GBD63/qmPLPAAA">
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="AWDwzwNRLEmMbH42+EGMSwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Model">JnjpSXK+M0OxtsMTVvvD7wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="nVoxzcCI/Eiv5T9t5nKsJgAA">
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="/0Fx344e2kex2rTb65JmTwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
-<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Model">MEcwrDR9Zk6Qk3CTtcBexQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[11]" type="UMLInterfaceView" guid="VVDxlDD3CkSYj9RsZOzOswAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">1228</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">368</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
-<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="0xOW/j47M0a+Zg/E6EKBjAAA">
-<XPD:OBJ name="NameLabel" type="LabelView" guid="7nAFQJ73MUW7CPQIG+JpjQAA">
-<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="tmjy24B1/k2tVBScbp7KfgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="LabelView" guid="71vZk7IP10uok+vwWJ/aEAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="HtWA1l7hrEWeRIQJ2/fPbwAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="WArh1NuJf0O6Ztpxsz71QgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[12]" type="UMLInterfaceView" guid="3yDFSM01gEiAR9cHphdN9AAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">1100</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">372</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
-<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="UuLHnbdjCE2E4gaeRHNmYAAA">
-<XPD:OBJ name="NameLabel" type="LabelView" guid="7YA8iGljakSZdU1GGE0g9wAA">
-<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="zaRxzF9e/06rk2cP8Nvb8AAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="LabelView" guid="P8R5NvjXaEG5/waBFKs7PAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="JaZjfmHX7kqOgztSC4mJQwAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="uJVhgG2SkkaxCtclHuGPJQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[13]" type="UMLRealizationView" guid="2R0r7FxunkiXnQuIHJL3qgAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1097,440;1120,393</XPD:ATTR>
-<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
-<XPD:REF name="Head">3yDFSM01gEiAR9cHphdN9AAA</XPD:REF>
-<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="/+y4MjjL+EKyASQe0/h1ygAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="fXK136sBFE2gIiSuBLjXzAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="yZARaQPwbECsoJcjo944OwAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[14]" type="UMLRealizationView" guid="HddD7OskDUawRmmKso1H4AAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1251,440;1252,389</XPD:ATTR>
-<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
-<XPD:REF name="Head">VVDxlDD3CkSYj9RsZOzOswAA</XPD:REF>
-<XPD:REF name="Tail">FaO2byLzMUWW6AO6yRY/TQAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="A8PCB4S79UmJHfY8XzthmAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="f8ejwNyvgEegb1RYVEgmywAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
-<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="1Fuohjb7RUWxHLdhdV1KGgAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
-<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
-<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:ATTR name="#OwnedElements" type="integer">15</XPD:ATTR>
+<XPD:ATTR name="#OwnedElements" type="integer">19</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="Qytbzt0YlESz74qB/EayuAAA">
<XPD:ATTR name="Name" type="string">Player</XPD:ATTR>
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
@@ -877,16 +793,13 @@
<XPD:OBJ name="OwnedElements[1]" type="UMLInterface" guid="8wyE1IjMREuSgeLp8voQxAAA">
<XPD:ATTR name="Name" type="string">ServerInterface</XPD:ATTR>
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">9</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">6</XPD:ATTR>
<XPD:REF name="Views[0]">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
<XPD:REF name="Views[1]">8CWBt8z+0UeDSDdSo62SUQAA</XPD:REF>
<XPD:REF name="Views[2]">yGSNECA1BUC8sr3bkKOq5AAA</XPD:REF>
-<XPD:REF name="Views[3]">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
-<XPD:REF name="Views[4]">+zK9lv6T2UGcYI8FrQqFPgAA</XPD:REF>
-<XPD:REF name="Views[5]">m3wiUmkQsEGUIaj7FH3gKQAA</XPD:REF>
-<XPD:REF name="Views[6]">GB7Zdswya0KmOy43JXFltAAA</XPD:REF>
-<XPD:REF name="Views[7]">U+v4PujoPEGiuU70U5Q9OwAA</XPD:REF>
-<XPD:REF name="Views[8]">XxeWY1M5k02m2VtLE6lMIAAA</XPD:REF>
+<XPD:REF name="Views[3]">GB7Zdswya0KmOy43JXFltAAA</XPD:REF>
+<XPD:REF name="Views[4]">U+v4PujoPEGiuU70U5Q9OwAA</XPD:REF>
+<XPD:REF name="Views[5]">XxeWY1M5k02m2VtLE6lMIAAA</XPD:REF>
<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="ClientDependencies[0]">ulXJUlkyBE2+VlJXP3nh4gAA</XPD:REF>
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
@@ -969,7 +882,7 @@
<XPD:REF name="BehavioralFeature">FKZeGsdLr06A9ydPalQ9gQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:ATTR name="#Associations" type="integer">7</XPD:ATTR>
+<XPD:ATTR name="#Associations" type="integer">8</XPD:ATTR>
<XPD:REF name="Associations[0]">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
<XPD:REF name="Associations[1]">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
<XPD:REF name="Associations[2]">rGuklRxgcEuOAdSyJLQeuQAA</XPD:REF>
@@ -977,6 +890,7 @@
<XPD:REF name="Associations[4]">pcPb4+lCok2djK+5wPx4vwAA</XPD:REF>
<XPD:REF name="Associations[5]">8UKpTs7EI02Aok7cywu4HAAA</XPD:REF>
<XPD:REF name="Associations[6]">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+<XPD:REF name="Associations[7]">lnnYxBVqDkm+P2VSDdgPCQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="MbuAaMHJS0i+Xs+p80XUBQAA">
<XPD:ATTR name="Name" type="string">Card</XPD:ATTR>
@@ -1060,9 +974,8 @@
<XPD:REF name="TypedParameters[3]">hEgLVYFX8EGzv4olNXsi2QAA</XPD:REF>
<XPD:REF name="TypedParameters[4]">CPzYdTw6JEu3mMI/Jv8tewAA</XPD:REF>
<XPD:REF name="TypedParameters[5]">LgKpYDz+O0uG9dw0nqBpoQAA</XPD:REF>
-<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
-<XPD:REF name="Associations[0]">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
-<XPD:REF name="Associations[1]">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
+<XPD:REF name="Associations[0]">Zf7vxf5VQ0+YSfgpYQMtLwAA</XPD:REF>
<XPD:ATTR name="#Attributes" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="jv+cYAZigk6T0NKDouTVZAAA">
<XPD:ATTR name="Name" type="string">value</XPD:ATTR>
@@ -1128,6 +1041,10 @@
<XPD:OBJ name="OwnedElements[4]" type="UMLInterface" guid="/DSDmvM+WUS8jXPOxuUa6QAA">
<XPD:ATTR name="Name" type="string">ClientInterface</XPD:ATTR>
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">3</XPD:ATTR>
+<XPD:REF name="Views[0]">sGkIEEYdN0Wxcdn+K5UlcQAA</XPD:REF>
+<XPD:REF name="Views[1]">k9bV4J5xZEKStJENXvdpSgAA</XPD:REF>
+<XPD:REF name="Views[2]">JSwu43lkBkeQD2zqubYbYgAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">8</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="gX7dL5UcZ0upc2kAbWPT3gAA">
<XPD:ATTR name="Name" type="string">inform</XPD:ATTR>
@@ -1238,6 +1155,10 @@
</XPD:OBJ>
<XPD:ATTR name="#TypedParameters" type="integer">1</XPD:ATTR>
<XPD:REF name="TypedParameters[0]">ff1gB0qey0KULqg21s8rFQAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">3</XPD:ATTR>
+<XPD:REF name="Associations[0]">a1AoqgETQkmK3FjmVw6fFQAA</XPD:REF>
+<XPD:REF name="Associations[1]">CcpI08sO20+J0mzYHrp8GwAA</XPD:REF>
+<XPD:REF name="Associations[2]">MEcwrDR9Zk6Qk3CTtcBexQAA</XPD:REF>
<XPD:ATTR name="#ClassifierRoles" type="integer">10</XPD:ATTR>
<XPD:REF name="ClassifierRoles[0]">HjsJ+5sDT0iKB0KIAPcrEwAA</XPD:REF>
<XPD:REF name="ClassifierRoles[1]">ef3QdpXPrEO59nf5jGKOZQAA</XPD:REF>
@@ -1252,29 +1173,14 @@
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="IWEbkzrl+UGk52i1p3l1ZAAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">aZ4hKrwseUyhDyYVOlblLwAA</XPD:REF>
-<XPD:REF name="Views[1]">UDYlmoqolUG3MuqlHREhRAAA</XPD:REF>
-<XPD:REF name="Views[2]">1JoadzL340KAL1vSwjjkUAAA</XPD:REF>
-<XPD:REF name="Views[3]">oi1TZIv4gEmJs8+lARyilgAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="AFufgiZAOUOIOwtVFEa0IAAA">
<XPD:REF name="Association">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">nF6TprBWmEiYOm6yvWYtqQAA</XPD:REF>
-<XPD:REF name="Views[1]">vTRR35YGLUiryPkXb7UsgAAA</XPD:REF>
-<XPD:REF name="Views[2]">B9jAdxR/j0+mrVaNYOmeMQAA</XPD:REF>
-<XPD:REF name="Views[3]">+Jr15hOlQEmnA57bnQ0UFAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="qvc4VvifTEG6ipoMH+yQggAA">
<XPD:REF name="Association">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">gWPWPP7WZ0Ona6I/e1uzagAA</XPD:REF>
-<XPD:REF name="Views[1]">6xy2TFnbM06+zobCAjFbRgAA</XPD:REF>
-<XPD:REF name="Views[2]">xIQiHmwto0GfvXJoS5GU/QAA</XPD:REF>
-<XPD:REF name="Views[3]">Di1Lz7PI50uFcNHsmIg/VQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[6]" type="UMLAssociation" guid="E4gGfWDNkU64nOGuNW7AngAA">
@@ -1291,41 +1197,30 @@
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[7]" type="UMLAssociation" guid="dc1y69QHY0erA2ikqS06vQAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">+ClTPcEfSEeL4lPsb7SVdwAA</XPD:REF>
<XPD:REF name="Views[1]">6M2Y0QQ9CkmpdMuVlFH5CQAA</XPD:REF>
<XPD:REF name="Views[2]">93R+HOfC2Ue1kMzaekeHrAAA</XPD:REF>
<XPD:REF name="Views[3]">sUeBSTVIPEye6UPk4xrAeAAA</XPD:REF>
-<XPD:REF name="Views[4]">IYsAlwR8SEW5Sffq1VrWgQAA</XPD:REF>
-<XPD:REF name="Views[5]">waNb5wsX6UKcSnfImYgt8wAA</XPD:REF>
-<XPD:REF name="Views[6]">AR1G4bL54kq44I5WJMG/EwAA</XPD:REF>
-<XPD:REF name="Views[7]">V8kKIY/rIkeAFnUdJAZcmAAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="JWv0RD0fvEKOcVJJ6LfXvQAA">
<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
-<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Participant">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">WVwLALOIBE6Y/tKH/C0e+wAA</XPD:REF>
-<XPD:REF name="Views[1]">8NGS9V4M8EO70Ti33iKciAAA</XPD:REF>
-<XPD:REF name="Views[2]">JbbhMlorj0ifeRGNRVYpqgAA</XPD:REF>
+<XPD:REF name="Views[1]">JbbhMlorj0ifeRGNRVYpqgAA</XPD:REF>
+<XPD:REF name="Views[2]">8NGS9V4M8EO70Ti33iKciAAA</XPD:REF>
<XPD:REF name="Views[3]">wEDMXxV4N0KNTe11Y7FEdAAA</XPD:REF>
-<XPD:REF name="Views[4]">K1UtJOoWGEe0r0dVZvLw/wAA</XPD:REF>
-<XPD:REF name="Views[5]">aHk4Tl9RY0SxR28JtpEeDgAA</XPD:REF>
-<XPD:REF name="Views[6]">SERHbQXT3Eq1lZtWaOvndwAA</XPD:REF>
-<XPD:REF name="Views[7]">8RXw2TeCn0SpYMOXC935GwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="rkbdeWhPzkWyu19nF7wljwAA">
+<XPD:ATTR name="IsNavigable" type="boolean">False</XPD:ATTR>
<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">HJhj0FjUOEyQMDYfKVzYhgAA</XPD:REF>
-<XPD:REF name="Views[1]">eglo+Cuxdk+/aVOmLwMv5wAA</XPD:REF>
-<XPD:REF name="Views[2]">ZYtkDB7OJ0qxIRJHYMFpIAAA</XPD:REF>
+<XPD:REF name="Views[1]">ZYtkDB7OJ0qxIRJHYMFpIAAA</XPD:REF>
+<XPD:REF name="Views[2]">eglo+Cuxdk+/aVOmLwMv5wAA</XPD:REF>
<XPD:REF name="Views[3]">0Rh/0nvqQ0y57VDZFBojVgAA</XPD:REF>
-<XPD:REF name="Views[4]">MJPGOp+GK0GOgf3uFm4WnwAA</XPD:REF>
-<XPD:REF name="Views[5]">1o0q1xQEDU+quTKIhgl7tgAA</XPD:REF>
-<XPD:REF name="Views[6]">77tjAXZYrUauGmLW4BtZzAAA</XPD:REF>
-<XPD:REF name="Views[7]">8Ig1nLX1TU+Mi2T4WyOzgwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[8]" type="UMLAssociation" guid="rlTTybkxz0iSHHgULWpu0wAA">
@@ -1354,42 +1249,15 @@
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[10]" type="UMLAssociation" guid="g3vP9rbFDE6Je2Q9UgDKFwAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
-<XPD:REF name="Views[0]">pdODkp/OMUe3YWfQcF8ohwAA</XPD:REF>
-<XPD:REF name="Views[1]">VzKF0yyuRU6UdU4VI8aQxwAA</XPD:REF>
-<XPD:REF name="Views[2]">003OnY0ouEi5VRhpZLLaTQAA</XPD:REF>
-<XPD:REF name="Views[3]">CwvbERpvAkWv0NyLMWatzwAA</XPD:REF>
-<XPD:REF name="Views[4]">Sx2HryGZVUaixYneM2M7aAAA</XPD:REF>
-<XPD:REF name="Views[5]">F6DBu5/cv0STWTd7IebwRwAA</XPD:REF>
-<XPD:REF name="Views[6]">QFmFAji5P0GqfNhxJ0vgiAAA</XPD:REF>
-<XPD:REF name="Views[7]">QHtyC4qYJEqsc1yoh6/BcAAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="ZXnX0VzA00GzMXyJXBBUsAAA">
<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
-<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
-<XPD:REF name="Views[0]">ph9Md9Opt0aNagYSG35CkQAA</XPD:REF>
-<XPD:REF name="Views[1]">XKT0DeDUTU+LRadVmpuDYQAA</XPD:REF>
-<XPD:REF name="Views[2]">DEHYYX9hQ0mKVjAbdIEOAgAA</XPD:REF>
-<XPD:REF name="Views[3]">kK+EeW3Ix02qUkXXr2f5vAAA</XPD:REF>
-<XPD:REF name="Views[4]">3YBCZ7yvuUCBFI5VXuuXpAAA</XPD:REF>
-<XPD:REF name="Views[5]">/CMjshXTJUKMumBHkelgGAAA</XPD:REF>
-<XPD:REF name="Views[6]">k4KXd6mMpUSLbGVrhFj1gAAA</XPD:REF>
-<XPD:REF name="Views[7]">nVoxzcCI/Eiv5T9t5nKsJgAA</XPD:REF>
+<XPD:REF name="Participant">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="HVRf7+1kKkyJs6h1Y7857wAA">
<XPD:ATTR name="IsNavigable" type="boolean">False</XPD:ATTR>
<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
-<XPD:REF name="Views[0]">8hlzs2QP80SAFc0qi9i9fAAA</XPD:REF>
-<XPD:REF name="Views[1]">nKd8ctv3/kessn8ZYUi0JwAA</XPD:REF>
-<XPD:REF name="Views[2]">o+SzfnUKMkC2A3NMwCB6/AAA</XPD:REF>
-<XPD:REF name="Views[3]">I0Joi3UDsUqU1xxwe5XtYQAA</XPD:REF>
-<XPD:REF name="Views[4]">irBM90DHA0mBxehuxObZFgAA</XPD:REF>
-<XPD:REF name="Views[5]">vJOBlPZsOUO1KN42EZ6GDgAA</XPD:REF>
-<XPD:REF name="Views[6]">hAkysJwAJ0W2iTsPKyHuwwAA</XPD:REF>
-<XPD:REF name="Views[7]">qb9TRZLL20GBD63/qmPLPAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[11]" type="UMLInterface" guid="Im7vdVVaf0q69mVtl5NmGAAA">
@@ -1408,6 +1276,10 @@
<XPD:ATTR name="#TypedParameters" type="integer">2</XPD:ATTR>
<XPD:REF name="TypedParameters[0]">mApV/4NG40qatdF/wDlrGgAA</XPD:REF>
<XPD:REF name="TypedParameters[1]">evNsl94wk0S6wF0cy6fzGAAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">3</XPD:ATTR>
+<XPD:REF name="Associations[0]">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:REF name="Associations[1]">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Associations[2]">JnjpSXK+M0OxtsMTVvvD7wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[12]" type="UMLClass" guid="cS6423ey8kmiUige0R6IxwAA">
<XPD:ATTR name="Name" type="string">Anunt</XPD:ATTR>
@@ -1452,7 +1324,93 @@
<XPD:REF name="Views[2]">f8ejwNyvgEegb1RYVEgmywAA</XPD:REF>
<XPD:REF name="Views[3]">1Fuohjb7RUWxHLdhdV1KGgAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[15]" type="UMLInterface" guid="wuObEdd89k2HocmlgxOSTgAA">
+<XPD:ATTR name="Name" type="string">Kim, Keehyun</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[16]" type="UMLAssociation" guid="TtfSS4IRK0qbZSjPA/pweQAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">kghnrvyr5kSs4zM45PdcXAAA</XPD:REF>
+<XPD:REF name="Views[1]">f3luD0oic0Ktj/QsbI299gAA</XPD:REF>
+<XPD:REF name="Views[2]">1QS8E5m76ES0ck1113Xj1QAA</XPD:REF>
+<XPD:REF name="Views[3]">2Ty7MNIlgUOhd0KVNNue0gAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="a1AoqgETQkmK3FjmVw6fFQAA">
+<XPD:REF name="Association">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+<XPD:REF name="Participant">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">ubBBPxXTzk2pkYuhgQQ4TQAA</XPD:REF>
+<XPD:REF name="Views[1]">YQPbtB1/EUmn/SQgLGkgAQAA</XPD:REF>
+<XPD:REF name="Views[2]">kw4o4JhWyUmUPNSoxJQKlAAA</XPD:REF>
+<XPD:REF name="Views[3]">6fmPdUHB/0+HJw9mxTkG6QAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="Zf7vxf5VQ0+YSfgpYQMtLwAA">
+<XPD:REF name="Association">TtfSS4IRK0qbZSjPA/pweQAA</XPD:REF>
+<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">LX/VA+K5O0iqhkkyFmPBJAAA</XPD:REF>
+<XPD:REF name="Views[1]">VCK7U3z0o0qzfpBFsMQymQAA</XPD:REF>
+<XPD:REF name="Views[2]">GThNdebJdEGpD03fi7IYrQAA</XPD:REF>
+<XPD:REF name="Views[3]">23xLoWS37UuJka1IBz2u3AAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[17]" type="UMLAssociation" guid="QOJQ2S5w6UuCmXZtxm1kVQAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">J3EDML8GFE69bDJ1Ls5PSwAA</XPD:REF>
+<XPD:REF name="Views[1]">odoVOcQ5CEykrqL6stetmAAA</XPD:REF>
+<XPD:REF name="Views[2]">mdJAaZn3a0OuNMYCqch1ugAA</XPD:REF>
+<XPD:REF name="Views[3]">NBaIMDWgN0OdrpPyJ06UngAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="lnnYxBVqDkm+P2VSDdgPCQAA">
+<XPD:REF name="Association">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">/YhX7UMJ8kixILnHWWuo7AAA</XPD:REF>
+<XPD:REF name="Views[1]">5JaZ9inJpUG4hxFLHE6S5wAA</XPD:REF>
+<XPD:REF name="Views[2]">9Fx2Aj5HmEiWLaWg50A5ggAA</XPD:REF>
+<XPD:REF name="Views[3]">c9WO+gWrFky4FFOrAG7w3gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="CcpI08sO20+J0mzYHrp8GwAA">
+<XPD:REF name="Association">QOJQ2S5w6UuCmXZtxm1kVQAA</XPD:REF>
+<XPD:REF name="Participant">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">orb/KAhsr0apqlusT2yZLQAA</XPD:REF>
+<XPD:REF name="Views[1]">vy7QU+PzuUe4XJdKyEbMVAAA</XPD:REF>
+<XPD:REF name="Views[2]">jQh1lju+NEStSA5Nl2BZJgAA</XPD:REF>
+<XPD:REF name="Views[3]">h0KbH1g2aE65rpCAI0mTMQAA</XPD:...
[truncated message content] |
|
From: <ali...@us...> - 2010-04-27 16:15:46
|
Revision: 133
http://cruce.svn.sourceforge.net/cruce/?rev=133&view=rev
Author: alinposho
Date: 2010-04-27 16:15:39 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
Am modificat urmatoarele:
-Am sters diagrama de secventa de la fisrt hand pentru ca nu exista o asemenea metoda in RoundLogic.
-Am facut diagrama pentru metoda playHand() din clasa RoundLogic.
-Am adaugat interfata Hitable si am facut modificarile necesare in clasa ServerImplementation, pentru ca nu mai exista metodele acceptCard(Card, anunt) si acceptCard(Card).
Am modificat diagrama de clase pentru Remote pentru a fi la zi cu modificarile din cod.
Toate modificarile sunt facute in proiectul StarUML de pe SVN. De asemenea am generat fisierele .jpg corespunzatoare diagramelor modificate.
Verificati si voi daca aveti timp. Sper sa nu fi gresit ceva.
Modified Paths:
--------------
Java/trunk/.classpath
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Java/trunk/Documentation/GameLogicSequenceDiagram.jpg
Java/trunk/Documentation/Overview of remote.jpg
Added Paths:
-----------
Java/trunk/.settings/
Java/trunk/.settings/net.genady.rmi.prefs
Java/trunk/Documentation/PlayHandSequenceDiagram.jpg
Removed Paths:
-------------
Java/trunk/Documentation/FirstHandSequenceDiagram.jpg
Modified: Java/trunk/.classpath
===================================================================
--- Java/trunk/.classpath 2010-04-27 13:44:33 UTC (rev 132)
+++ Java/trunk/.classpath 2010-04-27 16:15:39 UTC (rev 133)
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" output="testBin" path="test"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_18"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="testBin" path="test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: Java/trunk/.settings/net.genady.rmi.prefs
===================================================================
--- Java/trunk/.settings/net.genady.rmi.prefs (rev 0)
+++ Java/trunk/.settings/net.genady.rmi.prefs 2010-04-27 16:15:39 UTC (rev 133)
@@ -0,0 +1,7 @@
+#Tue Apr 27 18:07:54 EEST 2010
+eclipse.preferences.version=1
+flags.advancedHierarchy=false
+flags.debug=true
+flags.internalCompiler=true
+flags.keepSrc=false
+flags.stubsVersion=2
Modified: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml 2010-04-27 13:44:33 UTC (rev 132)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-27 16:15:39 UTC (rev 133)
@@ -2,6 +2,11 @@
<XPD:PROJECT xmlns:XPD="http://www.staruml.com" version="1">
<XPD:HEADER>
<XPD:SUBUNITS>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="1">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2ee1.4\J2EE14 (java).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="2">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2ee1.4\J2EE14 (javax).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="3">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2ee1.4\J2EE14 (org).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="4">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2ee1.4\J2EE14 (com).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="5">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2ee1.4\J2EE14 (sunw).unt</XPD:UNIT>
</XPD:SUBUNITS>
<XPD:PROFILES>
<XPD:PROFILE>UMLStandard</XPD:PROFILE>
@@ -77,12 +82,12 @@
<XPD:REF name="DiagramOwner">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="bzDL4R8ZIEePFXYJvW8VOQAA">
<XPD:REF name="Diagram">kB6uEY7a+kKkWIgVidGuDQAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">6</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">15</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLClassView" guid="/GVlO808V0+qCKBYu2DdiAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">148</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">64</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">184</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">152</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">217</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">108</XPD:ATTR>
<XPD:REF name="Model">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
@@ -139,42 +144,11 @@
<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[2]" type="UMLClassView" guid="I0dxuvynbEec9LirwzQ9dAAA">
+<XPD:OBJ name="OwnedViews[2]" type="UMLClassView" guid="fMeY1JnhZk+5q5hZEfpcQwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">116</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">264</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">219</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">147</XPD:ATTR>
-<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="7jPHq8OKv0KNJE9p5MOlEwAA">
-<XPD:OBJ name="NameLabel" type="LabelView" guid="13kj8mYNSkCblbKVljwFrgAA">
-<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">Card</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="YTfkSHlL5ka7lg4KvAB5VQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="LabelView" guid="CvW2oBjacUqwnOvMDs60GAAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="t2k7GbpinUm/H2V+gCK03wAA">
-<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="LFner7HRrkKg9/ButWJ9rwAA">
-<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="9orx8B4G9ki5VA7BisfuxQAA">
-<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
-</XPD:OBJ>
-</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="fMeY1JnhZk+5q5hZEfpcQwAA">
-<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
-<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">504</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">380</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">428</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">340</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">237</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">69</XPD:ATTR>
<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
@@ -201,7 +175,7 @@
<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[4]" type="UMLInterfaceView" guid="LqbI/wsy8Ue5vCAjRaYhAwAA">
+<XPD:OBJ name="OwnedViews[3]" type="UMLInterfaceView" guid="LqbI/wsy8Ue5vCAjRaYhAwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">1009</XPD:ATTR>
@@ -231,7 +205,7 @@
<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[5]" type="UMLAssociationView" guid="aZ4hKrwseUyhDyYVOlblLwAA">
+<XPD:OBJ name="OwnedViews[4]" type="UMLAssociationView" guid="aZ4hKrwseUyhDyYVOlblLwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">684,118;1009,147</XPD:ATTR>
@@ -315,9 +289,519 @@
<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[5]" type="UMLClassView" guid="FaO2byLzMUWW6AO6yRY/TQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1212</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">440</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">80</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">69</XPD:ATTR>
+<XPD:REF name="Model">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="sHWou6uCbky3P7rWn2seNAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="wp+3oaG62kiFmfIG3uBUaAAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Anunt</XPD:ATTR>
</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="OtGv01vZ2EehMXs9POaN+gAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
-<XPD:ATTR name="#OwnedElements" type="integer">11</XPD:ATTR>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="Hs6XlUjd4ECYUDp65UvBlwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="zi35M82KrUCTNZcMtKYQewAA">
+<XPD:REF name="Model">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="sJ13HjEti0K2FtARPQ4PgQAA">
+<XPD:REF name="Model">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="kzZqoMafIUaD9PpmlByP3wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[6]" type="UMLClassView" guid="JE2eQY//o0GJJu/fNIdFNwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">944</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">440</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">219</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">147</XPD:ATTR>
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="pi1FjOaa40+MYNWAp6ym7gAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="o2kfzrS11k210AFYZ5tcywAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Card</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="Va12ODsLaEawog1678lDWwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="iSN1ccV8yEWob2aJq0EKvAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="hoInrxvWhEGJRdgDWwzddQAA">
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="MonDOZpQlkK1XXF4DM7ogAAA">
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="yXgeWRqKN0OO16zs9icC8AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[7]" type="UMLAssociationView" guid="+ClTPcEfSEeL4lPsb7SVdwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">976,440;657,136</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Head">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
+<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="6M2Y0QQ9CkmpdMuVlFH5CQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="93R+HOfC2Ue1kMzaekeHrAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="sUeBSTVIPEye6UPk4xrAeAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="HJhj0FjUOEyQMDYfKVzYhgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="WVwLALOIBE6Y/tKH/C0e+wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="ZYtkDB7OJ0qxIRJHYMFpIAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="JbbhMlorj0ifeRGNRVYpqgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="eglo+Cuxdk+/aVOmLwMv5wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="8NGS9V4M8EO70Ti33iKciAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="0Rh/0nvqQ0y57VDZFBojVgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="wEDMXxV4N0KNTe11Y7FEdAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[8]" type="UMLAssociationView" guid="IYsAlwR8SEW5Sffq1VrWgQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1054,440;1059,173</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
+<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="waNb5wsX6UKcSnfImYgt8wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="AR1G4bL54kq44I5WJMG/EwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="V8kKIY/rIkeAFnUdJAZcmAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="MJPGOp+GK0GOgf3uFm4WnwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="K1UtJOoWGEe0r0dVZvLw/wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="77tjAXZYrUauGmLW4BtZzAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="SERHbQXT3Eq1lZtWaOvndwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="1o0q1xQEDU+quTKIhgl7tgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="aHk4Tl9RY0SxR28JtpEeDgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="8Ig1nLX1TU+Mi2T4WyOzgwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="8RXw2TeCn0SpYMOXC935GwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[9]" type="UMLAssociationView" guid="pdODkp/OMUe3YWfQcF8ohwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">976,440;657,136</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Head">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
+<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="VzKF0yyuRU6UdU4VI8aQxwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="003OnY0ouEi5VRhpZLLaTQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="CwvbERpvAkWv0NyLMWatzwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="8hlzs2QP80SAFc0qi9i9fAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="ph9Md9Opt0aNagYSG35CkQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="o+SzfnUKMkC2A3NMwCB6/AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="DEHYYX9hQ0mKVjAbdIEOAgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="nKd8ctv3/kessn8ZYUi0JwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="XKT0DeDUTU+LRadVmpuDYQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="I0Joi3UDsUqU1xxwe5XtYQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="kK+EeW3Ix02qUkXXr2f5vAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[10]" type="UMLAssociationView" guid="Sx2HryGZVUaixYneM2M7aAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1054,440;1059,173</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
+<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="F6DBu5/cv0STWTd7IebwRwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="QFmFAji5P0GqfNhxJ0vgiAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="QHtyC4qYJEqsc1yoh6/BcAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="irBM90DHA0mBxehuxObZFgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="3YBCZ7yvuUCBFI5VXuuXpAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="hAkysJwAJ0W2iTsPKyHuwwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="k4KXd6mMpUSLbGVrhFj1gAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="vJOBlPZsOUO1KN42EZ6GDgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="/CMjshXTJUKMumBHkelgGAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="qb9TRZLL20GBD63/qmPLPAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="nVoxzcCI/Eiv5T9t5nKsJgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[11]" type="UMLInterfaceView" guid="VVDxlDD3CkSYj9RsZOzOswAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1228</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">368</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="0xOW/j47M0a+Zg/E6EKBjAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="7nAFQJ73MUW7CPQIG+JpjQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="tmjy24B1/k2tVBScbp7KfgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="71vZk7IP10uok+vwWJ/aEAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="HtWA1l7hrEWeRIQJ2/fPbwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="WArh1NuJf0O6Ztpxsz71QgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[12]" type="UMLInterfaceView" guid="3yDFSM01gEiAR9cHphdN9AAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1100</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">372</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="UuLHnbdjCE2E4gaeRHNmYAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="7YA8iGljakSZdU1GGE0g9wAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Hitable</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="zaRxzF9e/06rk2cP8Nvb8AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="P8R5NvjXaEG5/waBFKs7PAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="JaZjfmHX7kqOgztSC4mJQwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="uJVhgG2SkkaxCtclHuGPJQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[13]" type="UMLRealizationView" guid="2R0r7FxunkiXnQuIHJL3qgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1097,440;1120,393</XPD:ATTR>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+<XPD:REF name="Head">3yDFSM01gEiAR9cHphdN9AAA</XPD:REF>
+<XPD:REF name="Tail">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="/+y4MjjL+EKyASQe0/h1ygAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="fXK136sBFE2gIiSuBLjXzAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="yZARaQPwbECsoJcjo944OwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[14]" type="UMLRealizationView" guid="HddD7OskDUawRmmKso1H4AAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1251,440;1252,389</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+<XPD:REF name="Head">VVDxlDD3CkSYj9RsZOzOswAA</XPD:REF>
+<XPD:REF name="Tail">FaO2byLzMUWW6AO6yRY/TQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="A8PCB4S79UmJHfY8XzthmAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="f8ejwNyvgEegb1RYVEgmywAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="1Fuohjb7RUWxHLdhdV1KGgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#OwnedElements" type="integer">15</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="Qytbzt0YlESz74qB/EayuAAA">
<XPD:ATTR name="Name" type="string">Player</XPD:ATTR>
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
@@ -368,14 +852,12 @@
</XPD:OBJ>
<XPD:ATTR name="#TypedFeatures" type="integer">1</XPD:ATTR>
<XPD:REF name="TypedFeatures[0]">xGEjlilz1EyK58p/G/Fi/gAA</XPD:REF>
-<XPD:ATTR name="#TypedParameters" type="integer">7</XPD:ATTR>
+<XPD:ATTR name="#TypedParameters" type="integer">5</XPD:ATTR>
<XPD:REF name="TypedParameters[0]">pRn7x5D150i42t2IJkh40AAA</XPD:REF>
<XPD:REF name="TypedParameters[1]">yfUlxktkgkuUs/EaXytI+wAA</XPD:REF>
-<XPD:REF name="TypedParameters[2]">VZikTSVkfUiiKYaa9cmr7wAA</XPD:REF>
-<XPD:REF name="TypedParameters[3]">Y2ru8g4Q1kmiICIO2FDrZwAA</XPD:REF>
-<XPD:REF name="TypedParameters[4]">4ZLJaFMYh0+FkaId87JlGAAA</XPD:REF>
-<XPD:REF name="TypedParameters[5]">H1PIHkem2EamsZ8LK57gTQAA</XPD:REF>
-<XPD:REF name="TypedParameters[6]">16x9sCzNJk6fnpKjylYDpgAA</XPD:REF>
+<XPD:REF name="TypedParameters[2]">4ZLJaFMYh0+FkaId87JlGAAA</XPD:REF>
+<XPD:REF name="TypedParameters[3]">H1PIHkem2EamsZ8LK57gTQAA</XPD:REF>
+<XPD:REF name="TypedParameters[4]">16x9sCzNJk6fnpKjylYDpgAA</XPD:REF>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">Uoul/5jHIki7nTk5xlOo0QAA</XPD:REF>
<XPD:ATTR name="#Attributes" type="integer">2</XPD:ATTR>
@@ -409,7 +891,7 @@
<XPD:REF name="ClientDependencies[0]">ulXJUlkyBE2+VlJXP3nh4gAA</XPD:REF>
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="SupplierDependencies[0]">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
-<XPD:ATTR name="#Operations" type="integer">5</XPD:ATTR>
+<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="AMJNe9s6l0ihbJq8mdzCTQAA">
<XPD:ATTR name="Name" type="string">joinGame</XPD:ATTR>
<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
@@ -468,72 +950,7 @@
<XPD:REF name="CallActions[2]">4LG6Rcdux0qauyDAr0HKZwAA</XPD:REF>
<XPD:REF name="CallActions[3]">piWhkOJY5EOsjPQHKAfzkQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="JARdJcJon0CX8fkEKPRrywAA">
-<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
-<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="DC626Mqyh02IzNBfaZ4ztwAA">
-<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
-<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
-<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
-<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
-<XPD:REF name="TaggedModel">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Parameters" type="integer">3</XPD:ATTR>
-<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="VZikTSVkfUiiKYaa9cmr7wAA">
-<XPD:ATTR name="Name" type="string">sender</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
-<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="xGWeZcCyY0WkTDdCJbtwFgAA">
-<XPD:ATTR name="Name" type="string">card</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Parameters[2]" type="UMLParameter" guid="j6I+bbjAYUqtHj1tvlpz1QAA">
-<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
-<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
-<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">NrrbOpFiMkK3t1QjcvRHtQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="c4sLVGFz+USz5QnW4pPxKQAA">
-<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
-<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
-<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="jr+OkzjslkOY/aeKtGnRzQAA">
-<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
-<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
-<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
-<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
-<XPD:REF name="TaggedModel">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Parameters" type="integer">4</XPD:ATTR>
-<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="Y2ru8g4Q1kmiICIO2FDrZwAA">
-<XPD:ATTR name="Name" type="string">sender</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
-<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="FuEyasWIckSu7JwtvhwRMAAA">
-<XPD:ATTR name="Name" type="string">card</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Parameters[2]" type="UMLParameter" guid="itQyNiuy4EuFO+rFE0wiuQAA">
-<XPD:ATTR name="Name" type="string">anunt</XPD:ATTR>
-<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Parameters[3]" type="UMLParameter" guid="RZd0xfLeuUmkyujdBMry0AAA">
-<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
-<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
-<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">h561qpBf2Uuicw5jTSMz7QAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="FKZeGsdLr06A9ydPalQ9gQAA">
+<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="FKZeGsdLr06A9ydPalQ9gQAA">
<XPD:ATTR name="Name" type="string">getOverallScore</XPD:ATTR>
<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
@@ -565,10 +982,12 @@
<XPD:ATTR name="Name" type="string">Card</XPD:ATTR>
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">I0dxuvynbEec9LirwzQ9dAAA</XPD:REF>
-<XPD:REF name="Views[1]">t2k7GbpinUm/H2V+gCK03wAA</XPD:REF>
-<XPD:REF name="Views[2]">LFner7HRrkKg9/ButWJ9rwAA</XPD:REF>
-<XPD:REF name="Views[3]">9orx8B4G9ki5VA7BisfuxQAA</XPD:REF>
+<XPD:REF name="Views[0]">JE2eQY//o0GJJu/fNIdFNwAA</XPD:REF>
+<XPD:REF name="Views[1]">hoInrxvWhEGJRdgDWwzddQAA</XPD:REF>
+<XPD:REF name="Views[2]">MonDOZpQlkK1XXF4DM7ogAAA</XPD:REF>
+<XPD:REF name="Views[3]">yXgeWRqKN0OO16zs9icC8AAA</XPD:REF>
+<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
+<XPD:REF name="ClientDependencies[0]">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">5</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="vQRYnsFqN0eSZmOcKZdozgAA">
<XPD:ATTR name="Name" type="string">Card</XPD:ATTR>
@@ -631,8 +1050,9 @@
<XPD:REF name="BehavioralFeature">q+/amkU7LEirpoQlNeTESgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:ATTR name="#TypedFeatures" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="#TypedFeatures" type="integer">2</XPD:ATTR>
<XPD:REF name="TypedFeatures[0]">jOi1McXPa0O80fhEHgFwUQAA</XPD:REF>
+<XPD:REF name="TypedFeatures[1]">jMhJ6T2bMkyfDELLkXgyPAAA</XPD:REF>
<XPD:ATTR name="#TypedParameters" type="integer">6</XPD:ATTR>
<XPD:REF name="TypedParameters[0]">y34ODWp2TkuyGTQUgEqWdAAA</XPD:REF>
<XPD:REF name="TypedParameters[1]">pVLLhf63QUu7rQirE8ucWwAA</XPD:REF>
@@ -690,11 +1110,10 @@
<XPD:REF name="BehavioralFeature">ZippiTf/UUCa2lmiGVvRcQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:ATTR name="#TypedParameters" type="integer">4</XPD:ATTR>
-<XPD:REF name="TypedParameters[0]">RPdygWZKsUimUdfN3GOa2wAA</XPD:REF>
-<XPD:REF name="TypedParameters[1]">oMZMXbP1RUCHvyMTOz03nwAA</XPD:REF>
-<XPD:REF name="TypedParameters[2]">NbPS4IirA0asr+wk9FMzAwAA</XPD:REF>
-<XPD:REF name="TypedParameters[3]">6i5ihYv4H0irCRbC5SRRWgAA</XPD:REF>
+<XPD:ATTR name="#TypedParameters" type="integer">3</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">NbPS4IirA0asr+wk9FMzAwAA</XPD:REF>
+<XPD:REF name="TypedParameters[1]">6i5ihYv4H0irCRbC5SRRWgAA</XPD:REF>
+<XPD:REF name="TypedParameters[2]">3W4XoF/c0UeGpVlQjITSJgAA</XPD:REF>
<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
<XPD:REF name="Associations[0]">htYE5MfaX0imJSqqzgDGogAA</XPD:REF>
<XPD:REF name="Associations[1]">bmtxYLRrGUOcP8XaToXOtAAA</XPD:REF>
@@ -719,12 +1138,16 @@
<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
<XPD:REF name="BehavioralFeature">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">5</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">9</XPD:ATTR>
<XPD:REF name="CallActions[0]">QNvgy2nrc0aZU90XIXMCdQAA</XPD:REF>
<XPD:REF name="CallActions[1]">W+z6gtLO106mATpb23kW2wAA</XPD:REF>
<XPD:REF name="CallActions[2]">nStk5LMfNEmGZSheFYqedQAA</XPD:REF>
<XPD:REF name="CallActions[3]">hdd7aw5D20mKD22LbboQZQAA</XPD:REF>
-<XPD:REF name="CallActions[4]">qd5x/9HADEaUDIQI/X2AIwAA</XPD:REF>
+<XPD:REF name="CallActions[4]">70S3n8jmK0yF9s7KQVEpoAAA</XPD:REF>
+<XPD:REF name="CallActions[5]">HUYS2T5wzkO63HuegVIJLwAA</XPD:REF>
+<XPD:REF name="CallActions[6]">JF7kAammCUqydm0nL2M62gAA</XPD:REF>
+<XPD:REF name="CallActions[7]">nj6K2c9+VUGWU83w6yBlpwAA</XPD:REF>
+<XPD:REF name="CallActions[8]">7X9cqXkg40qY5Y1as8pRgQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="iti+5JOGTEy/+seea2d9IAAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
@@ -740,6 +1163,14 @@
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="RWYDbjzQCUCzbhhEY+oM4wAA">
<XPD:ATTR name="Name" type="string">hit</XPD:ATTR>
<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="evNsl94wk0S6wF0cy6fzGAAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Hitable</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">RWYDbjzQCUCzbhhEY+oM4wAA</XPD:REF>
+<XPD:REF name="Type_">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
<XPD:REF name="CallActions[0]">j4TnJuqDbEKh+T8CnMhtywAA</XPD:REF>
</XPD:OBJ>
@@ -782,8 +1213,6 @@
<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
<XPD:REF name="BehavioralFeature">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">7X9cqXkg40qY5Y1as8pRgQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[6]" type="UMLOperation" guid="yuyNoYWXXE+7H5HtDh4/QgAA">
<XPD:ATTR name="Name" type="string">tellRoundScore</XPD:ATTR>
@@ -795,8 +1224,6 @@
<XPD:REF name="BehavioralFeature">yuyNoYWXXE+7H5HtDh4/QgAA</XPD:REF>
<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">tfePz1VVd0qD1ggN+1YUfQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[7]" type="UMLOperation" guid="NAfOin0GDEKDYosCYFeVXwAA">
<XPD:ATTR name="Name" type="string">endGame</XPD:ATTR>
@@ -864,14 +1291,41 @@
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[7]" type="UMLAssociation" guid="dc1y69QHY0erA2ikqS06vQAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">+ClTPcEfSEeL4lPsb7SVdwAA</XPD:REF>
+<XPD:REF name="Views[1]">6M2Y0QQ9CkmpdMuVlFH5CQAA</XPD:REF>
+<XPD:REF name="Views[2]">93R+HOfC2Ue1kMzaekeHrAAA</XPD:REF>
+<XPD:REF name="Views[3]">sUeBSTVIPEye6UPk4xrAeAAA</XPD:REF>
+<XPD:REF name="Views[4]">IYsAlwR8SEW5Sffq1VrWgQAA</XPD:REF>
+<XPD:REF name="Views[5]">waNb5wsX6UKcSnfImYgt8wAA</XPD:REF>
+<XPD:REF name="Views[6]">AR1G4bL54kq44I5WJMG/EwAA</XPD:REF>
+<XPD:REF name="Views[7]">V8kKIY/rIkeAFnUdJAZcmAAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="JWv0RD0fvEKOcVJJ6LfXvQAA">
<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">WVwLALOIBE6Y/tKH/C0e+wAA</XPD:REF>
+<XPD:REF name="Views[1]">8NGS9V4M8EO70Ti33iKciAAA</XPD:REF>
+<XPD:REF name="Views[2]">JbbhMlorj0ifeRGNRVYpqgAA</XPD:REF>
+<XPD:REF name="Views[3]">wEDMXxV4N0KNTe11Y7FEdAAA</XPD:REF>
+<XPD:REF name="Views[4]">K1UtJOoWGEe0r0dVZvLw/wAA</XPD:REF>
+<XPD:REF name="Views[5]">aHk4Tl9RY0SxR28JtpEeDgAA</XPD:REF>
+<XPD:REF name="Views[6]">SERHbQXT3Eq1lZtWaOvndwAA</XPD:REF>
+<XPD:REF name="Views[7]">8RXw2TeCn0SpYMOXC935GwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="rkbdeWhPzkWyu19nF7wljwAA">
<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">HJhj0FjUOEyQMDYfKVzYhgAA</XPD:REF>
+<XPD:REF name="Views[1]">eglo+Cuxdk+/aVOmLwMv5wAA</XPD:REF>
+<XPD:REF name="Views[2]">ZYtkDB7OJ0qxIRJHYMFpIAAA</XPD:REF>
+<XPD:REF name="Views[3]">0Rh/0nvqQ0y57VDZFBojVgAA</XPD:REF>
+<XPD:REF name="Views[4]">MJPGOp+GK0GOgf3uFm4WnwAA</XPD:REF>
+<XPD:REF name="Views[5]">1o0q1xQEDU+quTKIhgl7tgAA</XPD:REF>
+<XPD:REF name="Views[6]">77tjAXZYrUauGmLW4BtZzAAA</XPD:REF>
+<XPD:REF name="Views[7]">8Ig1nLX1TU+Mi2T4WyOzgwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[8]" type="UMLAssociation" guid="rlTTybkxz0iSHHgULWpu0wAA">
@@ -900,17 +1354,105 @@
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[10]" type="UMLAssociation" guid="g3vP9rbFDE6Je2Q9UgDKFwAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">pdODkp/OMUe3YWfQcF8ohwAA</XPD:REF>
+<XPD:REF name="Views[1]">VzKF0yyuRU6UdU4VI8aQxwAA</XPD:REF>
+<XPD:REF name="Views[2]">003OnY0ouEi5VRhpZLLaTQAA</XPD:REF>
+<XPD:REF name="Views[3]">CwvbERpvAkWv0NyLMWatzwAA</XPD:REF>
+<XPD:REF name="Views[4]">Sx2HryGZVUaixYneM2M7aAAA</XPD:REF>
+<XPD:REF name="Views[5]">F6DBu5/cv0STWTd7IebwRwAA</XPD:REF>
+<XPD:REF name="Views[6]">QFmFAji5P0GqfNhxJ0vgiAAA</XPD:REF>
+<XPD:REF name="Views[7]">QHtyC4qYJEqsc1yoh6/BcAAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="ZXnX0VzA00GzMXyJXBBUsAAA">
<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">ph9Md9Opt0aNagYSG35CkQAA</XPD:REF>
+<XPD:REF name="Views[1]">XKT0DeDUTU+LRadVmpuDYQAA</XPD:REF>
+<XPD:REF name="Views[2]">DEHYYX9hQ0mKVjAbdIEOAgAA</XPD:REF>
+<XPD:REF name="Views[3]">kK+EeW3Ix02qUkXXr2f5vAAA</XPD:REF>
+<XPD:REF name="Views[4]">3YBCZ7yvuUCBFI5VXuuXpAAA</XPD:REF>
+<XPD:REF name="Views[5]">/CMjshXTJUKMumBHkelgGAAA</XPD:REF>
+<XPD:REF name="Views[6]">k4KXd6mMpUSLbGVrhFj1gAAA</XPD:REF>
+<XPD:REF name="Views[7]">nVoxzcCI/Eiv5T9t5nKsJgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="HVRf7+1kKkyJs6h1Y7857wAA">
+<XPD:ATTR name="IsNavigable" type="boolean">False</XPD:ATTR>
<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[0]">8hlzs2QP80SAFc0qi9i9fAAA</XPD:REF>
+<XPD:REF name="Views[1]">nKd8ctv3/kessn8ZYUi0JwAA</XPD:REF>
+<XPD:REF name="Views[2]">o+SzfnUKMkC2A3NMwCB6/AAA</XPD:REF>
+<XPD:REF name="Views[3]">I0Joi3UDsUqU1xxwe5XtYQAA</XPD:REF>
+<XPD:REF name="Views[4]">irBM90DHA0mBxehuxObZFgAA</XPD:REF>
+<XPD:REF name="Views[5]">vJOBlPZsOUO1KN42EZ6GDgAA</XPD:REF>
+<XPD:REF name="Views[6]">hAkysJwAJ0W2iTsPKyHuwwAA</XPD:REF>
+<XPD:REF name="Views[7]">qb9TRZLL20GBD63/qmPLPAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[11]" type="UMLInterface" guid="Im7vdVVaf0q69mVtl5NmGAAA">
+<XPD:ATTR name="Name" type="string">Hitable</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">6</XPD:ATTR>
+<XPD:REF name="Views[0]">VVDxlDD3CkSYj9RsZOzOswAA</XPD:REF>
+<XPD:REF name="Views[1]">HtWA1l7hrEWeRIQJ2/fPbwAA</XPD:REF>
+<XPD:REF name="Views[2]">WArh1NuJf0O6Ztpxsz71QgAA</XPD:REF>
+<XPD:REF name="Views[3]">3yDFSM01gEiAR9cHphdN9AAA</XPD:REF>
+<XPD:REF name="Views[4]">JaZjfmHX7kqOgztSC4mJQwAA</XPD:REF>
+<XPD:REF name="Views[5]">uJVhgG2SkkaxCtclHuGPJQAA</XPD:REF>
+<XPD:ATTR name="#SupplierDependencies" type="integer">2</XPD:ATTR>
+<XPD:REF name="SupplierDependencies[0]">Ru2t2TId7EKKer1B5Bh4ygAA</XPD:REF>
+<XPD:REF name="SupplierDependencies[1]">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+<XPD:ATTR name="#TypedParameters" type="integer">2</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">mApV/4NG40qatdF/wDlrGgAA</XPD:REF>
+<XPD:REF name="TypedParameters[1]">evNsl94wk0S6wF0cy6fzGAAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[12]" type="UMLClass" guid="cS6423ey8kmiUige0R6IxwAA">
+<XPD:ATTR name="Name" type="string">Anunt</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">FaO2byLzMUWW6AO6yRY/TQAA</XPD:REF>
+<XPD:REF name="Views[1]">zi35M82KrUCTNZcMtKYQewAA</XPD:REF>
+<XPD:REF name="Views[2]">sJ13HjEti0K2FtARPQ4PgQAA</XPD:REF>
+<XPD:REF name="Views[3]">kzZqoMafIUaD9PpmlByP3wAA</XPD:REF>
+<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
+<XPD:REF name="ClientDependencies[0]">dbIH+GHwRUqixvEid+eDKwAA</XPD:REF>
+<XPD:ATTR name="#Attributes" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="jMhJ6T2bMkyfDELLkXgyPAAA">
+<XPD:ATTR name="Name" type="string">card</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Card</XPD:ATTR>
+<XPD:REF name="Type_">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:REF name="Owner">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Attributes[1]" type="UMLAttribute" guid="tCLS3FvtNEmoKwclihdaHAAA">
+<XPD:ATTR name="Name" type="string">value</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="Owner">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[13]" type="UMLRealization" guid="Ru2t2TId7EKKer1B5Bh4ygAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:REF name="Client">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:REF name="Supplier">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">2R0r7FxunkiXnQuIHJL3qgAA</XPD:REF>
+<XPD:REF name="Views[1]">/+y4MjjL+EKyASQe0/h1ygAA</XPD:REF>
+<XPD:REF name="Views[2]">fXK136sBFE2gIiSuBLjXzAAA</XPD:REF>
+<XPD:REF name="Views[3]">yZARaQPwbECsoJcjo944OwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[14]" type="UMLRealization" guid="dbIH+GHwRUqixvEid+eDKwAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:REF name="Client">cS6423ey8kmiUige0R6IxwAA</XPD:REF>
+<XPD:REF name="Supplier">Im7vdVVaf0q69mVtl5NmGAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">HddD7OskDUawRmmKso1H4AAA</XPD:REF>
+<XPD:REF name="Views[1]">A8PCB4S79UmJHfY8XzthmAAA</XPD:REF>
+<XPD:REF name="Views[2]">f8ejwNyvgEegb1RYVEgmywAA</XPD:REF>
+<XPD:REF name="Views[3]">1Fuohjb7RUWxHLdhdV1KGgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLPackage" guid="/0saAPWBq0W9yCgX1HQkyQAA">
<XPD:ATTR name="Name" type="string">server</XPD:ATTR>
<XPD:REF name="Namespace">hpgNhNM4/kaEpb+0gDjLyAAA</XPD:REF>
@@ -1683,34 +2225,7 @@
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="SupplierDependencies[0]">ulXJUlkyBE2+VlJXP3nh4gAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">7</XPD:ATTR>
-<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="1G0QxbKAxEK5u+rpK16OVQAA">
-<XPD:ATTR name="Name" type="string">endGameScore</XPD:ATTR>
-<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
-<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="RPdygWZKsUimUdfN3GOa2wAA">
-<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
-<XPD:ATTR name="TypeExpression" type="string">Score</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">1G0QxbKAxEK5u+rpK16OVQAA</XPD:REF>
-<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">wNXx7Fztx0aRk4M+nlYqvwAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="hEhQIHiNaE6z0unKjXeSLQAA">
-<XPD:ATTR name="Name" type="string">tellRoundScore</XPD:ATTR>
-<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
-<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="oMZMXbP1RUCHvyMTOz03nwAA">
-<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
-<XPD:ATTR name="TypeExpression" type="string">Score</XPD:ATTR>
-<XPD:REF name="BehavioralFeature">hEhQIHiNaE6z0unKjXeSLQAA</XPD:REF>
-<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
-<XPD:REF name="CallActions[0]">m8Nfp0XuokqJkN+V0q8tVgAA</XPD:REF>
-<XPD:REF name="CallActions[1]">3tUo0eXflkyY4fWD2X8NUgAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="kPyy8Qb140OvrnEfWzWlCwAA">
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="kPyy8Qb140OvrnEfWzWlCwAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
<XPD:ATTR name="#Parameters" type="integer">2</XPD:ATTR>
@@ -1729,7 +2244,7 @@
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
<XPD:REF name="CallActions[0]">Va6H4GRylEGkY83QPwMWoQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="6nu+I3ZAK0OUycu4bXAUJAAA">
+<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="6nu+I3ZAK0OUycu4bXAUJAAA">
<XPD:ATTR name="Name" type="string">sendCards</XPD:ATTR>
<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
<XPD:ATTR name="#Parameters" type="integer">3</XPD:ATTR>
@@ -1754,7 +2269,7 @@
<XPD:REF name="CallActions[0]">Q9Y06BDEcEKztPcsU1v7ugAA</XPD:REF>
<XPD:REF name="CallActions[1]">GqDHY1QRbkG+1hJ6dIXW8AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="CoJCK58USUOVjmgbeMIw...
[truncated message content] |
|
From: <hor...@us...> - 2010-04-27 13:44:40
|
Revision: 132
http://cruce.svn.sourceforge.net/cruce/?rev=132&view=rev
Author: horiaradu
Date: 2010-04-27 13:44:33 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
corectat uml
Modified Paths:
--------------
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Java/trunk/Documentation/GameLogicSequenceDiagram.jpg
Modified: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml 2010-04-24 18:38:53 UTC (rev 131)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-27 13:44:33 UTC (rev 132)
@@ -2,9 +2,6 @@
<XPD:PROJECT xmlns:XPD="http://www.staruml.com" version="1">
<XPD:HEADER>
<XPD:SUBUNITS>
-<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="1">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (java).unt</XPD:UNIT>
-<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="2">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (javax).unt</XPD:UNIT>
-<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="3">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (org).unt</XPD:UNIT>
</XPD:SUBUNITS>
<XPD:PROFILES>
<XPD:PROFILE>UMLStandard</XPD:PROFILE>
@@ -706,7 +703,6 @@
<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">Map</XPD:ATTR>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::Map">P21e46ib3Uq8owSoWV+aYAAA</XPD:REF>
<XPD:REF name="Owner">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
@@ -722,7 +718,6 @@
<XPD:ATTR name="Name" type="string">text</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
<XPD:REF name="BehavioralFeature">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">5</XPD:ATTR>
<XPD:REF name="CallActions[0]">QNvgy2nrc0aZU90XIXMCdQAA</XPD:REF>
@@ -756,7 +751,6 @@
<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">Q8m3CNT4M0yqRMWFuehlvAAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="+s8bRk07vk6/6mwS2BhgbwAA">
<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
@@ -775,7 +769,6 @@
<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">G4zXRlMdv0eD929e6r+v/gAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
<XPD:REF name="CallActions[0]">MIfEEjHTHEqOg/oyqnVRdwAA</XPD:REF>
@@ -788,7 +781,6 @@
<XPD:ATTR name="Name" type="string">tromf</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
<XPD:REF name="BehavioralFeature">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::awt::Color">IQrOkol1PUeVWv/o2VZ5nwAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
<XPD:REF name="CallActions[0]">7X9cqXkg40qY5Y1as8pRgQAA</XPD:REF>
@@ -1735,7 +1727,7 @@
<XPD:REF name="Type_">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">uO+0xEnneEuBLy1ppPuv5gAA</XPD:REF>
+<XPD:REF name="CallActions[0]">Va6H4GRylEGkY83QPwMWoQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="6nu+I3ZAK0OUycu4bXAUJAAA">
<XPD:ATTR name="Name" type="string">sendCards</XPD:ATTR>
@@ -1745,7 +1737,6 @@
<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">6nu+I3ZAK0OUycu4bXAUJAAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="198Io/YebkWI1xbkUQEcIQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -1760,8 +1751,8 @@
<XPD:REF name="BehavioralFeature">6nu+I3ZAK0OUycu4bXAUJAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
-<XPD:REF name="CallActions[0]">Va6H4GRylEGkY83QPwMWoQAA</XPD:REF>
-<XPD:REF name="CallActions[1]">Q9Y06BDEcEKztPcsU1v7ugAA</XPD:REF>
+<XPD:REF name="CallActions[0]">Q9Y06BDEcEKztPcsU1v7ugAA</XPD:REF>
+<XPD:REF name="CallActions[1]">GqDHY1QRbkG+1hJ6dIXW8AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="CoJCK58USUOVjmgbeMIwdwAA">
<XPD:ATTR name="Name" type="string">forceSendCards</XPD:ATTR>
@@ -1771,7 +1762,6 @@
<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">CoJCK58USUOVjmgbeMIwdwAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="Zg8a/sxTHU6SP2vYsGpgKgAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -1805,7 +1795,6 @@
<XPD:ATTR name="Name" type="string">text</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
<XPD:REF name="BehavioralFeature">ACWgGB9TmkusWeDDLMNlCwAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="tcB/TJ/BdkiwINWUyBEFDAAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -1830,7 +1819,6 @@
<XPD:ATTR name="Name" type="string">teams</XPD:ATTR>
<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Attributes[1]" type="UMLAttribute" guid="D2hZYSE+zUGtoSGOGBd3WQAA">
@@ -1842,7 +1830,6 @@
<XPD:OBJ name="Attributes[2]" type="UMLAttribute" guid="YCFWXybGMUKXWhTwpTGI6QAA">
<XPD:ATTR name="Name" type="string">clients</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">Map</XPD:ATTR>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::Map">P21e46ib3Uq8owSoWV+aYAAA</XPD:REF>
<XPD:REF name="Owner">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#ClassifierRoles" type="integer">3</XPD:ATTR>
@@ -2002,7 +1989,6 @@
<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">JewcJKprHEaiiPsFIDhQDQAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="rj8IxzgLEkijaOxd+2mv7wAA">
@@ -2064,7 +2050,6 @@
<XPD:ATTR name="Name" type="string">givenCards</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
<XPD:REF name="BehavioralFeature">JDchqiQbW0+AqhFBENdlgQAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="NYvblsYeGEuXmxyT9flqwQAA">
@@ -2103,7 +2088,6 @@
<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
-<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
<XPD:REF name="Owner">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Attributes[2]" type="UMLAttribute" guid="BpdRzN1I5UKKeRkHepynOwAA">
@@ -2201,7 +2185,6 @@
<XPD:ATTR name="Name" type="string">name</XPD:ATTR>
<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
<XPD:REF name="BehavioralFeature">Vq8pn1L9tUCz9FU+31ZP1gAA</XPD:REF>
-<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="16x9sCzNJk6fnpKjylYDpgAA">
<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
@@ -2300,9 +2283,9 @@
<XPD:ATTR name="Name" type="string">sendCards</XPD:ATTR>
<XPD:REF name="Owner">yROEiddYZ0eBr8hy6bms0AAA</XPD:REF>
<XPD:ATTR name="#CallActions" type="integer">3</XPD:ATTR>
-<XPD:REF name="CallActions[0]">HpxriLu1ikKvc+1WVW1sZQAA</XPD:REF>
-<XPD:REF name="CallActions[1]">X2n3RUADPkSc8QfMvnwwfwAA</XPD:REF>
-<XPD:REF name="CallActions[2]">n+t6cxcnmEagszvALNvGsgAA</XPD:REF>
+<XPD:REF name="CallActions[0]">X2n3RUADPkSc8QfMvnwwfwAA</XPD:REF>
+<XPD:REF name="CallActions[1]">n+t6cxcnmEagszvALNvGsgAA</XPD:REF>
+<XPD:REF name="CallActions[2]">4W+jbZyTb0+COVykIl1D7AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="gXk1SFvasE617o/RhywuIAAA">
<XPD:ATTR name="Name" type="string">playFirstHand</XPD:ATTR>
@@ -2374,7 +2357,7 @@
<XPD:REF name="Type_">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
-<XPD:REF name="CallActions[0]">4W+jbZyTb0+COVykIl1D7AAA</XPD:REF>
+<XPD:REF name="CallActions[0]">HpxriLu1ikKvc+1WVW1sZQAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
<XPD:REF name="Associations[0]">W8Ej07iqR0a4nRjhvzDXbgAA</XPD:REF>
@@ -4402,25 +4385,25 @@
<XPD:REF name="SenderClientMessages[12]">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[13]">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
<XPD:ATTR name="#ReceiverClientMessages" type="integer">19</XPD:ATTR>
-<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[3]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[4]">j196CEbEpkqmuJwxjpIqQgAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[5]">+JB7T13qU0aSxwZb8KlN+gAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[6]">2odK4+OAeEiRs4OawHOeRgAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[7]">K9RcuyYabkqrt0MItdFWjgAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[8]">S7SXU+cAhEmV5zMKIUVmygAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[9]">JU/CF46JSESOgc7UXCc/6gAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[10]">itu0v//9w0Gk1ffOZXlG/QAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[11]">KKE7eqsDeEKw8y5FwGGMpAAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[12]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[13]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[14]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[15]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[16]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[17]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
-<XPD:REF name="ReceiverClientMessages[18]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[0]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[1]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[2]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[3]">j196CEbEpkqmuJwxjpIqQgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[4]">+JB7T13qU0aSxwZb8KlN+gAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[5]">2odK4+OAeEiRs4OawHOeRgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[6]">K9RcuyYabkqrt0MItdFWjgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[7]">S7SXU+cAhEmV5zMKIUVmygAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[8]">JU/CF46JSESOgc7UXCc/6gAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[9]">itu0v//9w0Gk1ffOZXlG/QAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[10]">KKE7eqsDeEKw8y5FwGGMpAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[11]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[12]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[13]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[14]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[15]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[16]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[17]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[18]">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
@@ -4468,15 +4451,15 @@
<XPD:REF name="SenderClientMessages[9]">ICHy1MhfOkCGdtWzBjdvdwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[10]">S7SXU+cAhEmV5zMKIUVmygAA</XPD:REF>
<XPD:REF name="SenderClientMessages[11]">A0brWkMN4UCU7pUcunx4iwAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[12]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[13]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[14]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[15]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[16]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[18]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[19]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
-<XPD:REF name="SenderClientMessages[20]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[12]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[13]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[14]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[15]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[16]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[17]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[18]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[19]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[20]">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
<XPD:ATTR name="#ReceiverClientMessages" type="integer">13</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
@@ -4725,7 +4708,7 @@
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="xJM2nGagLUGKkQOAMNi7OAAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">3 : startBid(): ServerSidePlayer</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">3 : sendCards(): void</XPD:ATTR>
<XPD:REF name="Model">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="HostEdge">qPc4OUOSDEWk9C28S55aMAAA</XPD:REF>
</XPD:OBJ>
@@ -4747,50 +4730,50 @@
<XPD:ATTR name="Left" type="integer">857</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">248</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">113</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">164</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[7]" type="UMLSeqMessageView" guid="7Bpy6LolpUaXctcimodjegAA">
+<XPD:OBJ name="OwnedViews[7]" type="UMLSeqMessageView" guid="1C4+H/6HAUCxu3Zhr3KROwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">857,251;234,251</XPD:ATTR>
-<XPD:REF name="Model">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
+<XPD:ATTR name="Points" type="Points">857,258;234,258</XPD:ATTR>
+<XPD:REF name="Model">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
<XPD:REF name="Head">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Tail">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="xE50pg15Gk2t6uO3YZ546gAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="a18rEd5CBEWYhm262jnYtgAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">4 *[4] : bid(player: ServerSidePlayer): int</XPD:ATTR>
-<XPD:REF name="Model">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="HostEdge">7Bpy6LolpUaXctcimodjegAA</XPD:REF>
+<XPD:ATTR name="Text" type="string">4 *[4] : sendCards(cards: List, player: ServerSidePlayer): boolean</XPD:ATTR>
+<XPD:REF name="Model">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
+<XPD:REF name="HostEdge">1C4+H/6HAUCxu3Zhr3KROwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="IJkXlSOwfU6x2kvLTquqewAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="OJjlrFf4xUyKYrPkrLnIdwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="HostEdge">7Bpy6LolpUaXctcimodjegAA</XPD:REF>
+<XPD:REF name="Model">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
+<XPD:REF name="HostEdge">1C4+H/6HAUCxu3Zhr3KROwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="I2et2+OGjEKOZ76eQPK4rAAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="/Q9fXFsn7kaAYbf6NjVNSAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="HostEdge">7Bpy6LolpUaXctcimodjegAA</XPD:REF>
+<XPD:REF name="Model">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
+<XPD:REF name="HostEdge">1C4+H/6HAUCxu3Zhr3KROwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="IsGn745OlEigc4ncl8QQmQAA">
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="DlGhHPvE5EKyz47EKxxC4gAA">
<XPD:ATTR name="Left" type="integer">221</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">251</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">258</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[8]" type="UMLSeqMessageView" guid="cb0AptfxmkKNkBaCrlHm1wAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">234,283;857,283</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">228,306;857,306</XPD:ATTR>
<XPD:REF name="Model">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="Head">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
<XPD:REF name="Tail">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
@@ -4818,153 +4801,153 @@
<XPD:OBJ name="Activation" type="UMLActivationView" guid="Y90T+2Oz0UavOlLmBXxtxQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">857</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">283</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">306</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[9]" type="UMLSeqMessageView" guid="Vdo0hw/d6EW4Y1XOdjM1bQAA">
+<XPD:OBJ name="OwnedViews[9]" type="UMLSeqMessageView" guid="8GwYXu/XOU65incs/SJm9AAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">857,308;234,308</XPD:ATTR>
-<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="Head">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
+<XPD:ATTR name="Points" type="Points">870,400;900,400;900,420;870,420</XPD:ATTR>
+<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
+<XPD:REF name="Head">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
<XPD:REF name="Tail">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="VIXuFPZtpEiB6k8gyNOKewAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="k55qkF03j0WXoDF3vcXIAQAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">6 *[3] : inform(text: String, player: ServerSidePlayer): void</XPD:ATTR>
-<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
+<XPD:ATTR name="Text" type="string">6 : startBid(): ServerSidePlayer</XPD:ATTR>
+<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
+<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="3g6xwDbwLUiU8T25tH4T8QAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="QJrhhuK5tE2IFz+EQAOeowAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
+<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
+<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="gqGquYt+lUe9i7DFj0KG5AAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="Jd0+9ynAkkm9Z1KcgWfTswAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
-<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
+<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
+<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="pqNVrgO/602c5XEz+I+u2QAA">
-<XPD:ATTR name="Left" type="integer">221</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">308</XPD:ATTR>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="24cVksFBzUyDmh6OhWurOwAA">
+<XPD:ATTR name="Left" type="integer">857</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">420</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">81</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[10]" type="UMLSeqMessageView" guid="XjDHhonINUmmSCwL0g6AYQAA">
+<XPD:OBJ name="OwnedViews[10]" type="UMLSeqMessageView" guid="zlsIfa1KtUaxAArzrvKF1wAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">857,349;234,349</XPD:ATTR>
-<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:ATTR name="Points" type="Points">857,432;234,432</XPD:ATTR>
+<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="Head">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Tail">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="N7nuUUcXWEGQoGNzVJLCKAAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="Q7ThKrQqxk+swWLobkkd5gAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">7 *[4] : inform(text: String, player: ServerSidePlayer): void</XPD:ATTR>
-<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
-<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
+<XPD:ATTR name="Text" type="string">7 *[4] : bid(player: ServerSidePlayer): int</XPD:ATTR>
+<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="pI8593/Hi0WKuJkmRoLtmwAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="jPk6vKDeCUyXfsg/R68ZHgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
-<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
+<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="u6ryKjD6jkCAKZJnT3bSdAAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="3WKwGxRzhUKCiPXJjkTHUQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
-<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
+<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="x1rdhD6cXk2UIZn1Ulc1tgAA">
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="EdILEd2MQUKtYXIV/ZhkRAAA">
<XPD:ATTR name="Left" type="integer">221</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">349</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">432</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[11]" type="UMLSeqMessageView" guid="8GwYXu/XOU65incs/SJm9AAA">
+<XPD:OBJ name="OwnedViews[11]" type="UMLSeqMessageView" guid="Vdo0hw/d6EW4Y1XOdjM1bQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">863,400;893,400;893,420;870,420</XPD:ATTR>
-<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
-<XPD:REF name="Head">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
+<XPD:ATTR name="Points" type="Points">857,473;234,473</XPD:ATTR>
+<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="Head">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Tail">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="k55qkF03j0WXoDF3vcXIAQAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="VIXuFPZtpEiB6k8gyNOKewAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">8 : sendCards(): void</XPD:ATTR>
-<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
-<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
+<XPD:ATTR name="Text" type="string">8 *[3] : inform(text: String, player: ServerSidePlayer): void</XPD:ATTR>
+<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="QJrhhuK5tE2IFz+EQAOeowAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="3g6xwDbwLUiU8T25tH4T8QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
-<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
+<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="Jd0+9ynAkkm9Z1KcgWfTswAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="gqGquYt+lUe9i7DFj0KG5AAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
-<XPD:REF name="HostEdge">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
+<XPD:REF name="Model">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
+<XPD:REF name="HostEdge">Vdo0hw/d6EW4Y1XOdjM1bQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="24cVksFBzUyDmh6OhWurOwAA">
-<XPD:ATTR name="Left" type="integer">857</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">420</XPD:ATTR>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="pqNVrgO/602c5XEz+I+u2QAA">
+<XPD:ATTR name="Left" type="integer">221</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">473</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">81</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[12]" type="UMLSeqMessageView" guid="zlsIfa1KtUaxAArzrvKF1wAA">
+<XPD:OBJ name="OwnedViews[12]" type="UMLSeqMessageView" guid="XjDHhonINUmmSCwL0g6AYQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">857,432;234,432</XPD:ATTR>
-<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:ATTR name="Points" type="Points">850,508;234,508</XPD:ATTR>
+<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="Head">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Tail">SdRKnNuBzkSdaZRlsvtL3AAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="Q7ThKrQqxk+swWLobkkd5gAA">
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="N7nuUUcXWEGQoGNzVJLCKAAA">
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">9 *[4] : sendCards(cards: List, player: ServerSidePlayer): boolean</XPD:ATTR>
-<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
-<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
+<XPD:ATTR name="Text" type="string">9 *[4] : inform(text: String, player: ServerSidePlayer): void</XPD:ATTR>
+<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="jPk6vKDeCUyXfsg/R68ZHgAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="pI8593/Hi0WKuJkmRoLtmwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
-<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
+<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="3WKwGxRzhUKCiPXJjkTHUQAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="u6ryKjD6jkCAKZJnT3bSdAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
-<XPD:REF name="HostEdge">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
+<XPD:REF name="Model">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
+<XPD:REF name="HostEdge">XjDHhonINUmmSCwL0g6AYQAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="EdILEd2MQUKtYXIV/ZhkRAAA">
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="x1rdhD6cXk2UIZn1Ulc1tgAA">
<XPD:ATTR name="Left" type="integer">221</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">432</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">508</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">49</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[13]" type="UMLSeqMessageView" guid="iJXd1u5k0Ue2b3olfYcdFQAA">
@@ -5257,7 +5240,7 @@
<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="4W+jbZyTb0+COVykIl1D7AAA">
<XPD:REF name="Message">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
-<XPD:REF name="Operation">J/k6VMOl9EqhoIIhfOqivAAA</XPD:REF>
+<XPD:REF name="Operation">L/nT643qrEejTT876glswgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">qPc4OUOSDEWk9C28S55aMAAA</XPD:REF>
@@ -5265,20 +5248,20 @@
<XPD:REF name="Views[2]">kgUVdUCpxEWkope+bE8LpgAA</XPD:REF>
<XPD:REF name="Views[3]">Ovw8oUqpwEWrHsKP2g1o2QAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[3]" type="UMLMessage" guid="7ZCcW5dBwk+V0X3n1n6KqQAA">
+<XPD:OBJ name="Messages[3]" type="UMLMessage" guid="0uZCGYMGv0SgJwEBR4rl0QAA">
<XPD:ATTR name="Iteration" type="string">4</XPD:ATTR>
<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
-<XPD:OBJ name="Action" type="UMLCallAction" guid="uO+0xEnneEuBLy1ppPuv5gAA">
-<XPD:REF name="Message">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
-<XPD:REF name="Operation">kPyy8Qb140OvrnEfWzWlCwAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="GqDHY1QRbkG+1hJ6dIXW8AAA">
+<XPD:REF name="Message">0uZCGYMGv0SgJwEBR4rl0QAA</XPD:REF>
+<XPD:REF name="Operation">6nu+I3ZAK0OUycu4bXAUJAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">7Bpy6LolpUaXctcimodjegAA</XPD:REF>
-<XPD:REF name="Views[1]">xE50pg15Gk2t6uO3YZ546gAA</XPD:REF>
-<XPD:REF name="Views[2]">IJkXlSOwfU6x2kvLTquqewAA</XPD:REF>
-<XPD:REF name="Views[3]">I2et2+OGjEKOZ76eQPK4rAAA</XPD:REF>
+<XPD:REF name="Views[0]">1C4+H/6HAUCxu3Zhr3KROwAA</XPD:REF>
+<XPD:REF name="Views[1]">a18rEd5CBEWYhm262jnYtgAA</XPD:REF>
+<XPD:REF name="Views[2]">OJjlrFf4xUyKYrPkrLnIdwAA</XPD:REF>
+<XPD:REF name="Views[3]">/Q9fXFsn7kaAYbf6NjVNSAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Messages[4]" type="UMLMessage" guid="9QouW+W9zE+rvRkDPfoc5QAA">
<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
@@ -5293,7 +5276,36 @@
<XPD:REF name="Views[2]">VIjqiKHIjk28M1PseyL+xQAA</XPD:REF>
<XPD:REF name="Views[3]">ZQfUiheKhUql987qjdXqawAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[5]" type="UMLMessage" guid="zS1as51FjUS4ge4+snDdGAAA">
+<XPD:OBJ name="Messages[5]" type="UMLMessage" guid="aqkCCAnibUqM7ZVfPFGjUwAA">
+<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
+<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="HpxriLu1ikKvc+1WVW1sZQAA">
+<XPD:REF name="Message">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
+<XPD:REF name="Operation">J/k6VMOl9EqhoIIhfOqivAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
+<XPD:REF name="Views[1]">k55qkF03j0WXoDF3vcXIAQAA</XPD:REF>
+<XPD:REF name="Views[2]">QJrhhuK5tE2IFz+EQAOeowAA</XPD:REF>
+<XPD:REF name="Views[3]">Jd0+9ynAkkm9Z1KcgWfTswAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[6]" type="UMLMessage" guid="IrVpuYVWUEOJlzmhapgn7gAA">
+<XPD:ATTR name="Iteration" type="string">4</XPD:ATTR>
+<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
+<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="Va6H4GRylEGkY83QPwMWoQAA">
+<XPD:REF name="Message">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
+<XPD:REF name="Operation">kPyy8Qb140OvrnEfWzWlCwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
+<XPD:REF name="Views[1]">Q7ThKrQqxk+swWLobkkd5gAA</XPD:REF>
+<XPD:REF name="Views[2]">jPk6vKDeCUyXfsg/R68ZHgAA</XPD:REF>
+<XPD:REF name="Views[3]">3WKwGxRzhUKCiPXJjkTHUQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[7]" type="UMLMessage" guid="zS1as51FjUS4ge4+snDdGAAA">
<XPD:ATTR name="Iteration" type="string">3</XPD:ATTR>
<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -5308,7 +5320,7 @@
<XPD:REF name="Views[2]">3g6xwDbwLUiU8T25tH4T8QAA</XPD:REF>
<XPD:REF name="Views[3]">gqGquYt+lUe9i7DFj0KG5AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[6]" type="UMLMessage" guid="gGf78C3wLEyMIAULNrr/TwAA">
+<XPD:OBJ name="Messages[8]" type="UMLMessage" guid="gGf78C3wLEyMIAULNrr/TwAA">
<XPD:ATTR name="Iteration" type="string">4</XPD:ATTR>
<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -5323,35 +5335,6 @@
<XPD:REF name="Views[2]">pI8593/Hi0WKuJkmRoLtmwAA</XPD:REF>
<XPD:REF name="Views[3]">u6ryKjD6jkCAKZJnT3bSdAAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[7]" type="UMLMessage" guid="aqkCCAnibUqM7ZVfPFGjUwAA">
-<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
-<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
-<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
-<XPD:OBJ name="Action" type="UMLCallAction" guid="HpxriLu1ikKvc+1WVW1sZQAA">
-<XPD:REF name="Message">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
-<XPD:REF name="Operation">L/nT643qrEejTT876glswgAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">8GwYXu/XOU65incs/SJm9AAA</XPD:REF>
-<XPD:REF name="Views[1]">k55qkF03j0WXoDF3vcXIAQAA</XPD:REF>
-<XPD:REF name="Views[2]">QJrhhuK5tE2IFz+EQAOeowAA</XPD:REF>
-<XPD:REF name="Views[3]">Jd0+9ynAkkm9Z1KcgWfTswAA</XPD:REF>
-</XPD:OBJ>
-<XPD:OBJ name="Messages[8]" type="UMLMessage" guid="IrVpuYVWUEOJlzmhapgn7gAA">
-<XPD:ATTR name="Iteration" type="string">4</XPD:ATTR>
-<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
-<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
-<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
-<XPD:OBJ name="Action" type="UMLCallAction" guid="Va6H4GRylEGkY83QPwMWoQAA">
-<XPD:REF name="Message">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
-<XPD:REF name="Operation">6nu+I3ZAK0OUycu4bXAUJAAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">zlsIfa1KtUaxAArzrvKF1wAA</XPD:REF>
-<XPD:REF name="Views[1]">Q7ThKrQqxk+swWLobkkd5gAA</XPD:REF>
-<XPD:REF name="Views[2]">jPk6vKDeCUyXfsg/R68ZHgAA</XPD:REF>
-<XPD:REF name="Views[3]">3WKwGxRzhUKCiPXJjkTHUQAA</XPD:REF>
-</XPD:OBJ>
<XPD:OBJ name="Messages[9]" type="UMLMessage" guid="iXDc+W1wd0yXTA5MbtXw8gAA">
<XPD:REF name="Interaction">fifIJoAK40KZS+4Si7RxwwAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
Modified: Java/trunk/Documentation/CruceUML.~ml
===================================================================
--- Java/trunk/Documentation/CruceUML.~ml 2010-04-24 18:38:53 UTC (rev 131)
+++ Java/trunk/Documentation/CruceUML.~ml 2010-04-27 13:44:33 UTC (rev 132)
@@ -803,6 +803,8 @@
<XPD:REF name="BehavioralFeature">yuyNoYWXXE+7H5HtDh4/QgAA</XPD:REF>
<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">tfePz1VVd0qD1ggN+1YUfQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[7]" type="UMLOperation" guid="NAfOin0GDEKDYosCYFeVXwAA">
<XPD:ATTR name="Name" type="string">endGame</XPD:ATTR>
@@ -1712,8 +1714,9 @@
<XPD:REF name="BehavioralFeature">hEhQIHiNaE6z0unKjXeSLQAA</XPD:REF>
<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
<XPD:REF name="CallActions[0]">m8Nfp0XuokqJkN+V0q8tVgAA</XPD:REF>
+<XPD:REF name="CallActions[1]">3tUo0eXflkyY4fWD2X8NUgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="kPyy8Qb140OvrnEfWzWlCwAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
@@ -4383,7 +4386,7 @@
<XPD:REF name="Views[5]">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Views[6]">6dMCbZwlsEGAMnoY/RxfrgAA</XPD:REF>
<XPD:REF name="Views[7]">qEfdl06yF02yVe1qAqatfQAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">12</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">14</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">8Gs1sAyURUqmghJAC8ZjuwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">2XgFNc3rqU25pV8Hx420ugAA</XPD:REF>
@@ -4396,7 +4399,9 @@
<XPD:REF name="SenderClientMessages[9]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[10]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[11]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">17</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[12]">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[13]">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">19</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
@@ -4414,6 +4419,8 @@
<XPD:REF name="ReceiverClientMessages[14]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[15]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[16]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[17]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[18]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
@@ -4448,7 +4455,7 @@
<XPD:REF name="Views[3]">pcmo+m+yNUayOtj+aaGryQAA</XPD:REF>
<XPD:REF name="Views[4]">8v+Mloa8Z0uLjnSTCSlsjAAA</XPD:REF>
<XPD:REF name="Views[5]">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">20</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">21</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4469,7 +4476,8 @@
<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[18]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[19]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">12</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[20]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">13</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4482,6 +4490,7 @@
<XPD:REF name="ReceiverClientMessages[9]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[10]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[11]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[12]">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="MXbsvPpFhU+TYJwa0ZxZwQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -4490,15 +4499,17 @@
<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
<XPD:REF name="Views[0]">f9OcljLPqkK60NP//MXDkQAA</XPD:REF>
<XPD:REF name="Views[1]">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">5</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[2]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">6</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[3]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[4]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[5]">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLClassifierRole" guid="Q/lFrbJcNkCa536+8uqQnQAA">
<XPD:ATTR name="Name" type="string">Client</XPD:ATTR>
@@ -6074,14 +6085,14 @@
<XPD:REF name="DiagramOwner">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="W4qnP8rAW0m9LC6Fi94o1AAA">
<XPD:REF name="Diagram">vOjNCfNAAEC264Kln4j7mwAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">19</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">23</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLCombinedFragmentView" guid="cKG6XT+F+kigwwVB+t4WIwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">140</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">453</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">501</XPD:ATTR>
<XPD:REF name="Model">Z1P+4HPnCE+sOr6ZkLHsYQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="LabelView" guid="sKkJnM3C30CcpWxMS+K6KQAA">
<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
@@ -6097,7 +6108,7 @@
<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">433</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">481</XPD:ATTR>
<XPD:REF name="Model">b+hW+yLyS0+PidGpU9AKFQAA</XPD:REF>
<XPD:REF name="ContainerView">cKG6XT+F+kigwwVB+t4WIwAA</XPD:REF>
<XPD:OBJ name="GuardLabel" type="LabelView" guid="L9K1iAzKNEm0pKnU2HSCzAAA">
@@ -6154,7 +6165,7 @@
<XPD:ATTR name="Left" type="integer">844</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">44</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">192</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">569</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">594</XPD:ATTR>
<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="1Zsz1G41EkmfkersEs0c/gAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="9OwHXkJG202I1yalOXREEwAA">
@@ -6202,7 +6213,7 @@
<XPD:ATTR name="Left" type="integer">508</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">159</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">565</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">590</XPD:ATTR>
<XPD:REF name="Model">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="YQix82qMRk6Dcsk8c67N1QAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="ZY59bGEzkUmyYU7vlla0fAAA">
@@ -6253,7 +6264,7 @@
<XPD:ATTR name="Left" type="integer">1262</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">131</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">438</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">518</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[6]" type="UMLSeqMessageView" guid="b3R45eXuwU2/kM7KNP4iCAAA">
@@ -6289,7 +6300,7 @@
<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">417</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">313</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[7]" type="UMLSeqMessageView" guid="2RUeZlIFHE+t8SGyjSJFhQAA">
@@ -6620,11 +6631,85 @@
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[16]" type="UMLSeqMessageView" guid="jL89VbxltUWdYOkZpjEoIAAA">
+<XPD:OBJ name="OwnedViews[16]" type="UMLSeqMessageView" guid="F2/J+Aa570uzuhfSzat3igAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1262,500;953,500</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,460;933,460</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="rhTyItTcyUmeKQYYiYn1QgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="RLDIRJ0/xkKgYMpWcmzdvgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="VtboPB3J5EiPF3v0Lq5SdwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="NW4FVhVuEEOVRQqzSJolSAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">460</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[17]" type="UMLSeqMessageView" guid="r4IA3iQiSkyHufWJ8H1KcAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">946,460;1262,460</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ArIniatlNESrShwtMNkHtwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="INin2url70CNzhA8hfl1hgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="7Hw9dECnH0myA21C+YnqQwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="lgw722FPOEKkqYGG+bPSmQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1262</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">460</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[18]" type="UMLSeqMessageView" guid="jL89VbxltUWdYOkZpjEoIAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,500;946,500</XPD:ATTR>
<XPD:REF name="Model">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6650,17 +6735,17 @@
<XPD:REF name="HostEdge">jL89VbxltUWdYOkZpjEoIAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="dMbzOUFil0mUSRuq2UTbVgAA">
-<XPD:ATTR name="Left" type="integer">940</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">500</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">61</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[17]" type="UMLSeqMessageView" guid="oUzIzMGikkuGbQh6Gq1ekAAA">
+<XPD:OBJ name="OwnedViews[19]" type="UMLSeqMessageView" guid="oUzIzMGikkuGbQh6Gq1ekAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">940,507;593,507</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,507;593,507</XPD:ATTR>
<XPD:REF name="Model">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6692,11 +6777,11 @@
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[18]" type="UMLSeqMessageView" guid="DgUT1d/acU6COGsjQzDcNAAA">
+<XPD:OBJ name="OwnedViews[20]" type="UMLSeqMessageView" guid="DgUT1d/acU6COGsjQzDcNAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">940,537;593,537</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,537;593,537</XPD:ATTR>
<XPD:REF name="Model">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6728,9 +6813,81 @@
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[21]" type="UMLSeqMessageView" guid="y4IVSbMr+EmZjpWG3R6urQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,576;946,576</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="+jmplZU1pUmEsnDraqVZgAAA">
+<XPD:ATTR name="Alpha" type="real">1.2277730198585</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">14.8660687473185</XPD:ATTR>
+<XPD:ATTR name="Text" type="string"> [end of Round] : tellRoundScore(score: Score): void</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="aVkS4cNe20SoC4QBr8yIlgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#Messages" type="integer">14</XPD:ATTR>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="jSVrlehQGEmos3p/xCJxoAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="ZY4m4THymk+0+cLB0qlJaAAA">
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">576</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[22]" type="UMLSeqMessageView" guid="Iu+KnDMryEmTOd/pd8PghAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,584;593,584</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="wsvY4/CVI0SM0gB3sSDQlgAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">tellRoundScore(score: Score): void</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="bbGIfXiIMky9VZ96C2NW3QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="wd9S4WFbrUqvLEHLvOT/XwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="JCqSr6WCtUm2yxxheFqhywAA">
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">584</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<...
[truncated message content] |
|
From: <hor...@us...> - 2010-04-24 18:38:59
|
Revision: 131
http://cruce.svn.sourceforge.net/cruce/?rev=131&view=rev
Author: horiaradu
Date: 2010-04-24 18:38:53 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
Acum merge si partea cu cititul anuntului
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/ClientRun.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/Server.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 13:42:11 UTC (rev 130)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 18:38:53 UTC (rev 131)
@@ -79,8 +79,6 @@
@Override
public Hitable hit() throws RemoteException {
Hitable card = game.hit();
- System.out.println(card);
- System.out.println("AAA");
System.out.println("CLIENT: " + player.getName() + ": " + card);
return card;
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/ClientRun.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/ClientRun.java 2010-04-24 13:42:11 UTC (rev 130)
+++ Java/trunk/src/prc/bubulina/cruce/client/ClientRun.java 2010-04-24 18:38:53 UTC (rev 131)
@@ -4,10 +4,17 @@
public class ClientRun {
public static void main(String[] args) {
+ if (args.length != 3) {
+ System.out.println("Eroare la nr de parametrii.\n1 - username | 2 - server ip | 3 - server name");
+ System.exit(0);
+ }
+ String username = args[0];
+ String ip = args[1];
+ String servername = args[2];
UI ui = new TextUI();
- Game game = new Game("bubu", ui);
+ Game game = new Game(username, ui);
try {
- Client c = new Client(game, "localhost", "CruceServer");
+ Client c = new Client(game, ip, servername);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 13:42:11 UTC (rev 130)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 18:38:53 UTC (rev 131)
@@ -1,6 +1,8 @@
package prc.bubulina.cruce.client;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.util.List;
import prc.bubulina.cruce.remote.Anunt;
@@ -65,17 +67,26 @@
System.out.println("Carti disponibile:");
showAvailableCards();
try {
- System.out.println("Da-ti cartea jucata (1-" + cards.size() + "): ");
- System.in.skip(System.in.available());
- cardNo = System.in.read() - '0';
- System.out.println("Anunt? (20/40): ");
- System.in.skip(System.in.available());
- System.in.read(data);
- anuntString = new String(data);
- anunt = Integer.parseInt(anuntString);
- System.in.skip(System.in.available());
+ boolean ok = true;
+ do {
+ ok = true;
+ System.out.println("Da-ti cartea jucata (1-" + cards.size() + ") si eventual anuntul: ");
+ BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
+ System.in.skip(System.in.available());
+ String input;
+ while ((input = in.readLine()) == null);
+ String delims = "[ ]+";
+ String[] tokens = input.split(delims);
+ cardNo = Integer.parseInt(tokens[0]);
+ if (tokens.length == 2)
+ anunt = Integer.parseInt(tokens[1]);
+ if (cardNo <=0 || cardNo > 6)
+ ok = false;
+ else if (anunt != 0 && anunt != 20 && anunt != 40)
+ ok = false;
+ } while (ok == false);
- } catch (IOException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
if (anunt != 0)
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 13:42:11 UTC (rev 130)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 18:38:53 UTC (rev 131)
@@ -108,8 +108,13 @@
ok = acceptCard(p, card);
if (ok == false)
server.inform(p.getInfo(), "Ai dat gresit. Mai da o data");
- else
+ else {
server.informAll(p.getInfo() + " a dat " + card);
+ if (handNr == 0 && i == 0) {
+ Card.setTromf(card.getColor());
+ server.informAll("Tromful este: " + card.getColor());
+ }
+ }
} else {
Card card = ((Anunt) hitResult).card;
int anunt = ((Anunt) hitResult).value;
@@ -158,8 +163,6 @@
System.out.println(player.getInfo().getName() + ": " + card);
if (player.checkHit(card, cardsDown) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
- if (handNr == 0)
- Card.setTromf(card.getColor());
player.removeCard(card);
server.updateCards(player, card);
return true;
@@ -175,8 +178,6 @@
if (player.checkHit(card, cardsDown) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
this.getTeam(player).addAnunt(anunt);
- if (handNr == 0)
- Card.setTromf(card.getColor());
player.removeCard(card);
server.updateCards(player, card);
return true;
Modified: Java/trunk/src/prc/bubulina/cruce/server/Server.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/Server.java 2010-04-24 13:42:11 UTC (rev 130)
+++ Java/trunk/src/prc/bubulina/cruce/server/Server.java 2010-04-24 18:38:53 UTC (rev 131)
@@ -6,9 +6,14 @@
public class Server {
public static void main(String[] args) {
+ if (args.length != 1) {
+ System.out.println("Eroare la nr de argumente.\n1 - server name");
+ System.exit(0);
+ }
+ String serverName = args[0];
try {
ServerInterface server = new ServerImplementation();
- Naming.rebind("CruceServer", server);
+ Naming.rebind(serverName, server);
System.out.println("Server running");
} catch (Exception e) {
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-04-24 13:42:18
|
Revision: 130
http://cruce.svn.sourceforge.net/cruce/?rev=130&view=rev
Author: caiusb
Date: 2010-04-24 13:42:11 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
Am rezolvat problema cu anuntul
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 09:29:39 UTC (rev 129)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 13:42:11 UTC (rev 130)
@@ -60,16 +60,19 @@
@Override
public Hitable playCard() {
int cardNo = 0, anunt = 0;
+ String anuntString;
+ byte[] data = new byte[2];
System.out.println("Carti disponibile:");
showAvailableCards();
try {
+ System.out.println("Da-ti cartea jucata (1-" + cards.size() + "): ");
System.in.skip(System.in.available());
- System.out.println("Da-ti cartea jucata (1-" + cards.size() + "): ");
cardNo = System.in.read() - '0';
+ System.out.println("Anunt? (20/40): ");
System.in.skip(System.in.available());
- //System.out.println("Anunt? (20/40): ");
- //anunt = System.in.read();
- //TODO AICI TRE FACUT SA CITESTI CORECT DE LA TASTATURA
+ System.in.read(data);
+ anuntString = new String(data);
+ anunt = Integer.parseInt(anuntString);
System.in.skip(System.in.available());
} catch (IOException e) {
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java 2010-04-24 09:29:39 UTC (rev 129)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java 2010-04-24 13:42:11 UTC (rev 130)
@@ -1,6 +1,14 @@
package prc.bubulina.cruce.remote;
-public class Anunt implements Hitable {
+import java.io.Serializable;
+
+public class Anunt implements Serializable, Hitable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1263862604372844721L;
+
public Card card;
public int value;
public Anunt(Card card, int value) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-24 09:29:45
|
Revision: 129
http://cruce.svn.sourceforge.net/cruce/?rev=129&view=rev
Author: horiaradu
Date: 2010-04-24 09:29:39 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
Gata. Merge totul, mai putin partea cu anuntul deoarece nu stiu si nu mai vreau sa vad cum sa citesc de la tastatura.
Cineva sa faca partea aia pana dupamasa.
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/client/UI.java
Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java
Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Java/trunk/src/prc/bubulina/cruce/server/Team.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -11,6 +11,7 @@
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.ClientInterface;
import prc.bubulina.cruce.remote.Color;
+import prc.bubulina.cruce.remote.Hitable;
import prc.bubulina.cruce.remote.Player;
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
@@ -76,8 +77,8 @@
}
@Override
- public Card hit() throws RemoteException {
- Card card = game.hit();
+ public Hitable hit() throws RemoteException {
+ Hitable card = game.hit();
System.out.println(card);
System.out.println("AAA");
System.out.println("CLIENT: " + player.getName() + ": " + card);
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -1,13 +1,12 @@
package prc.bubulina.cruce.client;
-import java.rmi.Naming;
import java.util.ArrayList;
import java.util.List;
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.Color;
+import prc.bubulina.cruce.remote.Hitable;
import prc.bubulina.cruce.remote.Score;
-import prc.bubulina.cruce.remote.ServerInterface;
public class Game {
private int bidAmount;
@@ -54,8 +53,8 @@
*
* @return the card played
*/
- public Card hit() {
- Card card = ui.playCard();
+ public Hitable hit() {
+ Hitable card = ui.playCard();
return card;
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -3,8 +3,10 @@
import java.io.IOException;
import java.util.List;
+import prc.bubulina.cruce.remote.Anunt;
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.Color;
+import prc.bubulina.cruce.remote.Hitable;
public class TextUI extends UI {
private List<Card> cards;
@@ -56,8 +58,8 @@
}
@Override
- public Card playCard() {
- int cardNo = 0;
+ public Hitable playCard() {
+ int cardNo = 0, anunt = 0;
System.out.println("Carti disponibile:");
showAvailableCards();
try {
@@ -65,9 +67,16 @@
System.out.println("Da-ti cartea jucata (1-" + cards.size() + "): ");
cardNo = System.in.read() - '0';
System.in.skip(System.in.available());
+ //System.out.println("Anunt? (20/40): ");
+ //anunt = System.in.read();
+ //TODO AICI TRE FACUT SA CITESTI CORECT DE LA TASTATURA
+ System.in.skip(System.in.available());
+
} catch (IOException e) {
e.printStackTrace();
}
+ if (anunt != 0)
+ return new Anunt(cards.get(cardNo - 1), anunt);
return cards.get(cardNo - 1);
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/UI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/UI.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/client/UI.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -4,6 +4,7 @@
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.Color;
+import prc.bubulina.cruce.remote.Hitable;
public abstract class UI {
@@ -53,7 +54,7 @@
*
* @return the card played
*/
- public abstract Card playCard();
+ public abstract Hitable playCard();
/**
* Informs the player about the tromph color.
Modified: Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -46,7 +46,7 @@
*
* @throws RemoteException
*/
- public Card hit() throws RemoteException;
+ public Hitable hit() throws RemoteException;
/**
* Informs the player about the tromf
Modified: Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -51,8 +51,8 @@
Map<String, Integer> teamScore = new HashMap<String, Integer>();
for (Team t : teams) {
for (ServerSidePlayer p : t.getPlayers())
- scoreMap.put(p.getInfo(), t.computeScore());
- teamScore.put(t.getName(), t.computeScore());
+ scoreMap.put(p.getInfo(), t.getRoundScore());
+ teamScore.put(t.getName(), t.getRoundScore());
}
return new Score(scoreMap, teamScore);
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -5,7 +5,9 @@
import java.util.List;
import java.util.Map;
+import prc.bubulina.cruce.remote.Anunt;
import prc.bubulina.cruce.remote.Card;
+import prc.bubulina.cruce.remote.Hitable;
public class RoundLogic {
@@ -44,6 +46,8 @@
startBid();
for (handNr = 0; handNr < 6; handNr++)
playHand();
+ for (Team t : teams)
+ t.computeScore();
}
private void sendCards() {
@@ -98,12 +102,23 @@
ServerSidePlayer p = playerOrder.get(i);
boolean ok = false;
while (ok == false) {
- Card card = server.hit(p);
- ok = acceptCard(p, card);
- if (ok == false)
- server.inform(p.getInfo(), "Ai dat gresit. Mai da o data");
- else
- server.informAll(p.getInfo() + " a dat " + card);
+ Hitable hitResult = server.hit(p);
+ if (hitResult instanceof Card) {
+ Card card = (Card) hitResult;
+ ok = acceptCard(p, card);
+ if (ok == false)
+ server.inform(p.getInfo(), "Ai dat gresit. Mai da o data");
+ else
+ server.informAll(p.getInfo() + " a dat " + card);
+ } else {
+ Card card = ((Anunt) hitResult).card;
+ int anunt = ((Anunt) hitResult).value;
+ ok = acceptCard(p, card, anunt);
+ if (ok == false)
+ server.inform(p.getInfo(), "Ai dat gresit. Mai da o data");
+ else
+ server.informAll(p.getInfo() + " a dat " + card + ", anuntand " + anunt);
+ }
}
}
int maxIndex = getMaxCard(cardsDown);
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -7,6 +7,7 @@
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.ClientInterface;
+import prc.bubulina.cruce.remote.Hitable;
import prc.bubulina.cruce.remote.Player;
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
@@ -91,9 +92,9 @@
return 0;
}
- public Card hit(ServerSidePlayer player) {
+ public Hitable hit(ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
- Card card = null;
+ Hitable card = null;
try {
card = client.hit();
} catch (Exception e) {
Modified: Java/trunk/src/prc/bubulina/cruce/server/Team.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-24 09:05:19 UTC (rev 128)
+++ Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-24 09:29:39 UTC (rev 129)
@@ -12,6 +12,7 @@
private List<Card> cardsTaken;
private int overallScore;
private String teamName;
+ private int roundScore;
public Team(String teamName) {
this.teamName = teamName;
@@ -20,6 +21,7 @@
anunturi = 0;
goal = 0;
overallScore = 0;
+ roundScore = 0;
}
public void addPlayer(ServerSidePlayer player) {
@@ -57,6 +59,9 @@
}
overallScore += result;
+ roundScore = result;
+
+ resetRound();
return result;
}
@@ -64,6 +69,10 @@
public int getOverallScore() {
return overallScore;
}
+
+ public int getRoundScore() {
+ return roundScore;
+ }
public void resetRound() {
anunturi = 0;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-24 09:05:26
|
Revision: 128
http://cruce.svn.sourceforge.net/cruce/?rev=128&view=rev
Author: horiaradu
Date: 2010-04-24 09:05:19 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
Am rezolvat problemele de la hit() si acceptcard schimband logica si modul de apelare. Acum mai fac partea cu anuntul si gata
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/remote/Card.java
Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java
Java/trunk/src/prc/bubulina/cruce/remote/Score.java
Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java
Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
Added Paths:
-----------
Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java
Java/trunk/src/prc/bubulina/cruce/remote/Hitable.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -67,7 +67,7 @@
@Override
public void endGame(Score score) throws RemoteException {
- game.setGameScore(score.getYourScore(player));
+ game.setGameScore(score);
}
@Override
@@ -76,20 +76,12 @@
}
@Override
- public void hit() throws RemoteException {
- boolean accepted = false;
- while (!accepted) {
- Card card = game.hit();
- System.out.println(card);
- try {
- System.out.println("AAA");
- System.out.println("CLIENT: " + player.getName() + ": " + card);
- accepted = server.acceptCard(player, card);
- System.out.println("BBB");
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
+ public Card hit() throws RemoteException {
+ Card card = game.hit();
+ System.out.println(card);
+ System.out.println("AAA");
+ System.out.println("CLIENT: " + player.getName() + ": " + card);
+ return card;
}
@Override
@@ -103,13 +95,17 @@
}
@Override
- public void receiveRoundScore(Score score) throws RemoteException {
- game.setRoundScore(score.getYourScore(player));
- }
-
- @Override
public void setTromf(Color tromf) throws RemoteException {
game.setTromf(tromf);
}
+
+ public void removeCard(Card card) {
+ game.removeCard(card);
+ }
+ @Override
+ public void sendScore(Score overallScore) {
+ game.setGameScore(overallScore);
+ }
+
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -102,11 +102,15 @@
ui.sendMessage(information);
}
- public void setRoundScore(int score) {
+ public void setRoundScore(Score score) {
ui.sendMessage("Scorul rundei este: " + score);
}
- public void setGameScore(int score) {
+ public void setGameScore(Score score) {
ui.sendMessage("Scorul jocului este" + score);
}
+
+ public void removeCard(Card card) {
+ cardsInHand.remove(card);
+ }
}
Added: Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java (rev 0)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Anunt.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -0,0 +1,10 @@
+package prc.bubulina.cruce.remote;
+
+public class Anunt implements Hitable {
+ public Card card;
+ public int value;
+ public Anunt(Card card, int value) {
+ this.value = value;
+ this.card = card;
+ }
+}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Card.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Card.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Card.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -3,7 +3,7 @@
import java.io.Serializable;
import java.util.Random;
-public class Card implements Serializable {
+public class Card implements Serializable, Hitable {
/**
* Needed serialization for RMI parameter
Modified: Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/remote/ClientInterface.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -46,7 +46,7 @@
*
* @throws RemoteException
*/
- public void hit() throws RemoteException;
+ public Card hit() throws RemoteException;
/**
* Informs the player about the tromf
@@ -62,7 +62,7 @@
* @param score
* @throws RemoteException
*/
- public void receiveRoundScore(Score score) throws RemoteException;
+ public void sendScore(Score overallScore) throws RemoteException;
/**
* Informs the player that the game has ended and also sends the overall
@@ -73,4 +73,6 @@
*/
public void endGame(Score score) throws RemoteException;
+ public void removeCard(Card card) throws RemoteException;
+
}
Added: Java/trunk/src/prc/bubulina/cruce/remote/Hitable.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Hitable.java (rev 0)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Hitable.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -0,0 +1,5 @@
+package prc.bubulina.cruce.remote;
+
+public interface Hitable {
+
+}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Score.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Score.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Score.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -1,7 +1,9 @@
package prc.bubulina.cruce.remote;
import java.io.Serializable;
+import java.util.HashMap;
import java.util.Map;
+import java.util.Map.Entry;
/**
* This class will be a container for a name value pair "player-score"
@@ -14,9 +16,11 @@
*/
private static final long serialVersionUID = 1214550626496444804L;
private Map<Player, Integer> score;
+ private Map<String, Integer> teamScore;
- public Score(Map<Player, Integer> score) {
+ public Score(Map<Player, Integer> score, Map<String, Integer> teamScore) {
this.score = score;
+ this.teamScore = teamScore;
}
/**
@@ -27,4 +31,11 @@
public int getYourScore(Player player) {
return score.get(player);
}
+
+ public String toString() {
+ String result = new String();
+ for (Entry<String, Integer> e : teamScore.entrySet())
+ result += e.getKey() + " : " + e.getValue() + "\n";
+ return result;
+ }
}
Modified: Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -26,35 +26,7 @@
public void startGame(Player sender) throws RemoteException;
/**
- * Though this method the server receives a card sent by the client
*
- * @param sender
- * The player who sent the card
- * @param card
- * The card sent by the player
- * @return true in case the card sent is according to the rules of the game,
- * false otherwise
- * @throws RemoteException
- */
- public boolean acceptCard(Player sender, Card card) throws RemoteException;
-
- /**
- * This method is used to sent a card and an anunt to the server for
- * validation and storage Clintul tre sa apeleze asta pana ii da true!
- *
- * @param sender
- * The client who sent the card
- * @param card
- * @param anunt
- * The value of the anunt
- * @return True in case the card and the anunt are sent according to the
- * rules of the game
- * @throws RemoteException
- */
- public boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException;
-
- /**
- *
* @return The overall score of the game
* @throws RemoteException
*/
Modified: Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -15,8 +15,16 @@
public void startGame(List<Team> teams, ServerImplementation server) {
this.teams = teams;
roundLogic = new RoundLogic(teams, server);
- while (endOfGame() == false)
+ while (endOfGame() == false) {
+ for (Team t : teams)
+ t.resetRound();
roundLogic.startRound();
+ server.informAll("S-a terminat runda");
+ server.sendScore(getRoundScore());
+ server.sendScore(getOverallScore());
+ }
+ server.informAll("S-a terminat jocul");
+ server.sendScore(getOverallScore());
}
public boolean endOfGame() {
@@ -28,10 +36,25 @@
public Score getOverallScore() {
Map<Player, Integer> scoreMap = new HashMap<Player, Integer>();
- for (Team t : teams)
+ Map<String, Integer> teamScore = new HashMap<String, Integer>();
+ for (Team t : teams) {
for (ServerSidePlayer p : t.getPlayers())
scoreMap.put(p.getInfo(), t.getOverallScore());
+ teamScore.put(t.getName(), t.getOverallScore());
+ }
- return new Score(scoreMap);
+ return new Score(scoreMap, teamScore);
}
+
+ public Score getRoundScore() {
+ Map<Player, Integer> scoreMap = new HashMap<Player, Integer>();
+ Map<String, Integer> teamScore = new HashMap<String, Integer>();
+ for (Team t : teams) {
+ for (ServerSidePlayer p : t.getPlayers())
+ scoreMap.put(p.getInfo(), t.computeScore());
+ teamScore.put(t.getName(), t.computeScore());
+ }
+
+ return new Score(scoreMap, teamScore);
+ }
}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -13,7 +13,6 @@
private OrderKeeper playerOrder;
private ServerImplementation server;
private Map<Integer, Card> cardsDown;
- private String hitInfoMessage = new String();
private int handNr;
public RoundLogic(List<Team> teams, ServerImplementation server) {
@@ -45,7 +44,6 @@
startBid();
for (handNr = 0; handNr < 6; handNr++)
playHand();
- // de bagat cu scorul!
}
private void sendCards() {
@@ -72,6 +70,8 @@
if (ok == false) {
i = -1;
givenCards.clear();
+ } else {
+ player.setCards(cards);
}
}
}
@@ -92,26 +92,19 @@
playerOrder.resetOrder(winner);
}
- /*
- * private void resetOrder(ServerSidePlayer firstPlayer) { int oldPosition =
- * 0; for (Entry<Integer, ServerSidePlayer> p : playerOrder.entrySet()) if
- * (p.getValue().equals(firstPlayer)) oldPosition = p.getKey(); Map<Integer,
- * ServerSidePlayer> newPlayerOrder = new HashMap<Integer,
- * ServerSidePlayer>(); for (Entry<Integer, ServerSidePlayer> p :
- * playerOrder.entrySet()) { int newPosition; if (p.getKey() >= oldPosition)
- * newPosition = p.getKey() - oldPosition; else newPosition = p.getKey() -
- * oldPosition + 4; ServerSidePlayer player = p.getValue();
- * newPlayerOrder.put(newPosition, player); } playerOrder = newPlayerOrder;
- * }
- */
-
private void playHand() {
cardsDown = new HashMap<Integer, Card>();
for (int i = 0; i < 4; i++) {
ServerSidePlayer p = playerOrder.get(i);
- server.hit(p);
- System.out.println("XXYY " + hitInfoMessage);
- server.informAll(hitInfoMessage);
+ boolean ok = false;
+ while (ok == false) {
+ Card card = server.hit(p);
+ ok = acceptCard(p, card);
+ if (ok == false)
+ server.inform(p.getInfo(), "Ai dat gresit. Mai da o data");
+ else
+ server.informAll(p.getInfo() + " a dat " + card);
+ }
}
int maxIndex = getMaxCard(cardsDown);
Team t = this.getTeam(playerOrder.get(maxIndex));
@@ -147,15 +140,13 @@
}
public boolean acceptCard(ServerSidePlayer player, Card card) {
- System.out.println("AAAAAAAAAAAAAAAAAAAAAA");
System.out.println(player.getInfo().getName() + ": " + card);
- Card[] c = (Card[]) cardsDown.values().toArray();
- if (player.checkHit(card, c) == true) {
+ if (player.checkHit(card, cardsDown) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
- hitInfoMessage = player.getInfo().getName() + " a dat " + c;
if (handNr == 0)
Card.setTromf(card.getColor());
player.removeCard(card);
+ server.updateCards(player, card);
return true;
}
return false;
@@ -166,16 +157,16 @@
return false;
if (playerOrder.getOrder(player) != 0)
return false;
- Card[] c = (Card[]) cardsDown.values().toArray();
- if (player.checkHit(card, c) == true) {
+ if (player.checkHit(card, cardsDown) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
- hitInfoMessage = player.getInfo().getName() + " a dat " + c + " anuntand " + anunt;
this.getTeam(player).addAnunt(anunt);
if (handNr == 0)
Card.setTromf(card.getColor());
player.removeCard(card);
+ server.updateCards(player, card);
return true;
}
return false;
}
+
}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -91,14 +91,15 @@
return 0;
}
- public void hit(ServerSidePlayer player) {
+ public Card hit(ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
+ Card card = null;
try {
- client.hit();
- wait();
+ card = client.hit();
} catch (Exception e) {
e.printStackTrace();
}
+ return card;
}
public void informAll(String message) {
@@ -110,20 +111,35 @@
}
}
}
+
+ public void inform(Player p, String message) {
+ try {
+ playerMap.getClient(p).inform(message);
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
+ }
- public synchronized boolean acceptCard(Player sender, Card card) throws RemoteException {
- System.out.println("SERVER: " + sender.getName() + " " + card);
- boolean result = roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card);
- notifyAll();
- return result;
+ public synchronized Score getOverallScore() throws RemoteException {
+ return gameLogic.getOverallScore();
}
- public synchronized boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException {
- System.out.println("Y");
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card, anunt);
+ public void updateCards(ServerSidePlayer player, Card card) {
+ try {
+ playerMap.getClient(player.getInfo()).removeCard(card);
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
}
- public synchronized Score getOverallScore() throws RemoteException {
- return gameLogic.getOverallScore();
+ public void sendScore(Score overallScore) {
+ for (ClientInterface c : playerMap.getClients()) {
+ try {
+ c.sendScore(overallScore);
+ } catch (RemoteException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
}
}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-24 07:41:06 UTC (rev 127)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-24 09:05:19 UTC (rev 128)
@@ -1,6 +1,9 @@
package prc.bubulina.cruce.server;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.Player;
@@ -17,8 +20,13 @@
public List<Card> getCards() {
return cards;
}
+
+ public void setCards(List<Card> cards) {
+ this.cards = new LinkedList<Card>(cards);
+ }
public boolean hasCard(Card card) {
+ System.out.println(cards + " -> " + card);
return cards.contains(card);
}
@@ -37,16 +45,20 @@
}
}
- public boolean checkHit(Card card, Card[] cardsDown) {
+ public boolean checkHit(Card card, Map<Integer, Card> cardsDown) {
+ Card[] givenCards = new Card[cardsDown.size()];
+ for (Entry<Integer, Card> e : cardsDown.entrySet())
+ givenCards[e.getKey()] = e.getValue();
+
if (this.hasCard(card) == false)
return false;
- if (cardsDown.length == 0)
+ if (givenCards.length == 0)
return true;
- if (card.getColor().equals(cardsDown[0].getColor()))
+ if (card.getColor().equals(givenCards[0].getColor()))
return true;
else {
for (Card c : cards)
- if (c.getColor().equals(cardsDown[0].getColor()))
+ if (c.getColor().equals(givenCards[0].getColor()))
return false;
if (card.isTromf())
return true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-24 07:41:13
|
Revision: 127
http://cruce.svn.sourceforge.net/cruce/?rev=127&view=rev
Author: horiaradu
Date: 2010-04-24 07:41:06 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-23 17:27:07 UTC (rev 126)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-24 07:41:06 UTC (rev 127)
@@ -83,6 +83,7 @@
System.out.println(card);
try {
System.out.println("AAA");
+ System.out.println("CLIENT: " + player.getName() + ": " + card);
accepted = server.acceptCard(player, card);
System.out.println("BBB");
} catch (RemoteException e) {
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-23 17:27:07 UTC (rev 126)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-24 07:41:06 UTC (rev 127)
@@ -13,7 +13,7 @@
private OrderKeeper playerOrder;
private ServerImplementation server;
private Map<Integer, Card> cardsDown;
- private String hitInfoMessage;
+ private String hitInfoMessage = new String();
private int handNr;
public RoundLogic(List<Team> teams, ServerImplementation server) {
@@ -110,6 +110,7 @@
for (int i = 0; i < 4; i++) {
ServerSidePlayer p = playerOrder.get(i);
server.hit(p);
+ System.out.println("XXYY " + hitInfoMessage);
server.informAll(hitInfoMessage);
}
int maxIndex = getMaxCard(cardsDown);
@@ -146,6 +147,7 @@
}
public boolean acceptCard(ServerSidePlayer player, Card card) {
+ System.out.println("AAAAAAAAAAAAAAAAAAAAAA");
System.out.println(player.getInfo().getName() + ": " + card);
Card[] c = (Card[]) cardsDown.values().toArray();
if (player.checkHit(card, c) == true) {
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-23 17:27:07 UTC (rev 126)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-24 07:41:06 UTC (rev 127)
@@ -95,6 +95,7 @@
ClientInterface client = playerMap.getClient(player.getInfo());
try {
client.hit();
+ wait();
} catch (Exception e) {
e.printStackTrace();
}
@@ -111,8 +112,10 @@
}
public synchronized boolean acceptCard(Player sender, Card card) throws RemoteException {
- System.out.println("X");
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card);
+ System.out.println("SERVER: " + sender.getName() + " " + card);
+ boolean result = roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card);
+ notifyAll();
+ return result;
}
public synchronized boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-23 17:27:13
|
Revision: 126
http://cruce.svn.sourceforge.net/cruce/?rev=126&view=rev
Author: horiaradu
Date: 2010-04-23 17:27:07 +0000 (Fri, 23 Apr 2010)
Log Message:
-----------
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/remote/Card.java
Java/trunk/src/prc/bubulina/cruce/remote/Player.java
Java/trunk/src/prc/bubulina/cruce/remote/Score.java
Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
Java/trunk/src/prc/bubulina/cruce/server/Team.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -15,8 +15,7 @@
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
-public class Client extends UnicastRemoteObject implements ClientInterface,
- Serializable {
+public class Client extends UnicastRemoteObject implements ClientInterface, Serializable {
/**
*
@@ -37,8 +36,7 @@
* the name of the used game server
* @throws RemoteException
*/
- public Client(Game game, String gameServerAddress, String gameServerName)
- throws RemoteException {
+ public Client(Game game, String gameServerAddress, String gameServerName) throws RemoteException {
super();
String url = "rmi://" + gameServerAddress + "/" + gameServerName;
@@ -82,8 +80,11 @@
boolean accepted = false;
while (!accepted) {
Card card = game.hit();
+ System.out.println(card);
try {
+ System.out.println("AAA");
accepted = server.acceptCard(player, card);
+ System.out.println("BBB");
} catch (RemoteException e) {
e.printStackTrace();
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -56,7 +56,7 @@
*/
public Card hit() {
Card card = ui.playCard();
- return null;
+ return card;
}
/**
@@ -99,7 +99,7 @@
}
public void inform(String information) {
- ui.sendMessage(information);
+ ui.sendMessage(information);
}
public void setRoundScore(int score) {
@@ -107,6 +107,6 @@
}
public void setGameScore(int score) {
- ui.sendMessage("Scorul jocului este" + score);
+ ui.sendMessage("Scorul jocului este" + score);
}
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -62,14 +62,13 @@
showAvailableCards();
try {
System.in.skip(System.in.available());
- System.out
- .println("Da-ti cartea jucata (1-" + cards.size() + "): ");
- cardNo = System.in.read();
+ System.out.println("Da-ti cartea jucata (1-" + cards.size() + "): ");
+ cardNo = System.in.read() - '0';
System.in.skip(System.in.available());
} catch (IOException e) {
e.printStackTrace();
}
- return cards.get(cardNo-1);
+ return cards.get(cardNo - 1);
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Card.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Card.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Card.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -3,24 +3,21 @@
import java.io.Serializable;
import java.util.Random;
-public class Card implements Serializable{
-
+public class Card implements Serializable {
+
/**
- * Needed serialization for RMI parameter
+ * Needed serialization for RMI parameter
*/
private static final long serialVersionUID = 243254958971908105L;
-
+
private int value;
private Color color;
private static Color tromf;
public Card(int value, Color color) {
this.color = color;
- if (value != 0 && value != 2 && value != 3 && value != 4 && value != 10
- && value != 11) {
- throw new IllegalArgumentException(
- "Card value is not within the set: "
- + "{0 , 2, 3, 4, 10, 11}!\n");
+ if (value != 0 && value != 2 && value != 3 && value != 4 && value != 10 && value != 11) {
+ throw new IllegalArgumentException("Card value is not within the set: " + "{0 , 2, 3, 4, 10, 11}!\n");
}
this.value = value;
}
@@ -50,18 +47,20 @@
Color c = Color.values()[new Random().nextInt(4)];
return new Card(i, c);
}
-
+
@Override
- public boolean equals(Object object)
- {
- if(!(object instanceof Card))
- {
+ public boolean equals(Object object) {
+ if (!(object instanceof Card)) {
return false;
}
-
- Card card = (Card)object;
-
- return color.equals(card.getColor()) && value == card.getValue();
+
+ Card card = (Card) object;
+
+ return color.equals(card.getColor()) && value == card.getValue();
}
+ public String toString() {
+ return color + " " + value;
+ }
+
}
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Player.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Player.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Player.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -3,12 +3,12 @@
import java.io.Serializable;
public class Player implements Serializable {
-
+
/**
* Needed for serialization serialization
*/
private static final long serialVersionUID = -2446467001127293964L;
-
+
private String name;
private int id;
private String teamName;
@@ -25,22 +25,22 @@
public int getID() {
return id;
}
-
+
public void setTeamName(String teamName) {
this.teamName = teamName;
}
-
+
public String getTeamName() {
return teamName;
}
-
+
public boolean equals(Object o) {
if (o instanceof Player)
- if (((Player)o).name.equals(name) && ((Player)o).id == id)
+ if (((Player) o).name.equals(name) && ((Player) o).id == id)
return true;
return false;
}
-
+
public int hashCode() {
return id;
}
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Score.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Score.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Score.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -7,10 +7,10 @@
* This class will be a container for a name value pair "player-score"
*
*/
-public class Score implements Serializable{
-
+public class Score implements Serializable {
+
/**
- * Needed for serialization(auto generated)
+ * Needed for serialization(auto generated)
*/
private static final long serialVersionUID = 1214550626496444804L;
private Map<Player, Integer> score;
Modified: Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/remote/ServerInterface.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -14,8 +14,7 @@
*@param client
* @throws RemoteException
*/
- public Player joinGame(String name, ClientInterface client)
- throws RemoteException;
+ public Player joinGame(String name, ClientInterface client) throws RemoteException;
/**
* This will inform the server that a player is willing to start the game
@@ -41,8 +40,7 @@
/**
* This method is used to sent a card and an anunt to the server for
- * validation and storage
- * Clintul tre sa apeleze asta pana ii da true!
+ * validation and storage Clintul tre sa apeleze asta pana ii da true!
*
* @param sender
* The client who sent the card
@@ -53,8 +51,7 @@
* rules of the game
* @throws RemoteException
*/
- public boolean acceptCard(Player sender, Card card, int anunt)
- throws RemoteException;
+ public boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException;
/**
*
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -146,6 +146,7 @@
}
public boolean acceptCard(ServerSidePlayer player, Card card) {
+ System.out.println(player.getInfo().getName() + ": " + card);
Card[] c = (Card[]) cardsDown.values().toArray();
if (player.checkHit(card, c) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
@@ -166,8 +167,7 @@
Card[] c = (Card[]) cardsDown.values().toArray();
if (player.checkHit(card, c) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
- hitInfoMessage = player.getInfo().getName() + " a dat " + c
- + " anuntand " + anunt;
+ hitInfoMessage = player.getInfo().getName() + " a dat " + c + " anuntand " + anunt;
this.getTeam(player).addAnunt(anunt);
if (handNr == 0)
Card.setTromf(card.getColor());
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -11,8 +11,7 @@
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
-public class ServerImplementation extends UnicastRemoteObject implements
- ServerInterface {
+public class ServerImplementation extends UnicastRemoteObject implements ServerInterface {
/**
* Needed for serialization
@@ -35,14 +34,12 @@
gameLogic = new GameLogic();
}
- public synchronized Player joinGame(String name, ClientInterface client)
- throws RemoteException {
+ public synchronized Player joinGame(String name, ClientInterface client) throws RemoteException {
System.out.println(name + " joined the game");
client.inform("welcome to the game");
ServerSidePlayer ssplayer = startGameLogic.setupPlayer(name);
client.inform("you are in team " + ssplayer.getInfo().getTeamName());
- this.informAll(ssplayer.getInfo().getName() + " from "
- + ssplayer.getInfo().getTeamName() + " joined the game");
+ this.informAll(ssplayer.getInfo().getName() + " from " + ssplayer.getInfo().getTeamName() + " joined the game");
clients.add(client);
playerMap.put(ssplayer, client);
if (ssplayer != null)
@@ -63,8 +60,7 @@
}
}
- public synchronized boolean sendCards(List<Card> cards,
- ServerSidePlayer player) {
+ public synchronized boolean sendCards(List<Card> cards, ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
try {
@@ -114,16 +110,14 @@
}
}
- public synchronized boolean acceptCard(Player sender, Card card)
- throws RemoteException {
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender),
- card);
+ public synchronized boolean acceptCard(Player sender, Card card) throws RemoteException {
+ System.out.println("X");
+ return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card);
}
- public synchronized boolean acceptCard(Player sender, Card card, int anunt)
- throws RemoteException {
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender),
- card, anunt);
+ public synchronized boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException {
+ System.out.println("Y");
+ return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card, anunt);
}
public synchronized Score getOverallScore() throws RemoteException {
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -31,8 +31,7 @@
else {
int searchValue = 7 - card.getValue();
for (Card c : cards)
- if (c.getValue() == searchValue
- && c.getColor().equals(card.getColor()))
+ if (c.getValue() == searchValue && c.getColor().equals(card.getColor()))
return true;
return false;
}
Modified: Java/trunk/src/prc/bubulina/cruce/server/Team.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-23 09:51:21 UTC (rev 125)
+++ Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-23 17:27:07 UTC (rev 126)
@@ -40,8 +40,7 @@
public void addAnunt(int value) {
if (value != 40 && value != 20) {
- throw new IllegalArgumentException(
- "The value filed is not one of 20 or 40!\n");
+ throw new IllegalArgumentException("The value filed is not one of 20 or 40!\n");
}
anunturi += value;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-04-23 09:51:31
|
Revision: 125
http://cruce.svn.sourceforge.net/cruce/?rev=125&view=rev
Author: caiusb
Date: 2010-04-23 09:51:21 +0000 (Fri, 23 Apr 2010)
Log Message:
-----------
Am terminat de implementat clientul. Merge doar o mana, dupa care apar foarte multe exceptii. Problema apare la metoda getMaxCards() din server. Este doar o banuiala, deci nu bag mana in foc.
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-20 22:05:30 UTC (rev 124)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-23 09:51:21 UTC (rev 125)
@@ -69,8 +69,7 @@
@Override
public void endGame(Score score) throws RemoteException {
- // TODO Auto-generated method stub
-
+ game.setGameScore(score.getYourScore(player));
}
@Override
@@ -80,11 +79,14 @@
@Override
public void hit() throws RemoteException {
- Card card = game.hit();
- try {
- server.acceptCard(player, card);
- } catch (RemoteException e) {
- e.printStackTrace();
+ boolean accepted = false;
+ while (!accepted) {
+ Card card = game.hit();
+ try {
+ accepted = server.acceptCard(player, card);
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
}
}
@@ -100,8 +102,7 @@
@Override
public void receiveRoundScore(Score score) throws RemoteException {
- // TODO Auto-generated method stub
-
+ game.setRoundScore(score.getYourScore(player));
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-20 22:05:30 UTC (rev 124)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-23 09:51:21 UTC (rev 125)
@@ -6,6 +6,7 @@
import prc.bubulina.cruce.remote.Card;
import prc.bubulina.cruce.remote.Color;
+import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
public class Game {
@@ -100,4 +101,12 @@
public void inform(String information) {
ui.sendMessage(information);
}
+
+ public void setRoundScore(int score) {
+ ui.sendMessage("Scorul rundei este: " + score);
+ }
+
+ public void setGameScore(int score) {
+ ui.sendMessage("Scorul jocului este" + score);
+ }
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 22:05:30 UTC (rev 124)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-23 09:51:21 UTC (rev 125)
@@ -57,7 +57,19 @@
@Override
public Card playCard() {
- return null;
+ int cardNo = 0;
+ System.out.println("Carti disponibile:");
+ showAvailableCards();
+ try {
+ System.in.skip(System.in.available());
+ System.out
+ .println("Da-ti cartea jucata (1-" + cards.size() + "): ");
+ cardNo = System.in.read();
+ System.in.skip(System.in.available());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return cards.get(cardNo-1);
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-20 22:05:37
|
Revision: 124
http://cruce.svn.sourceforge.net/cruce/?rev=124&view=rev
Author: horiaradu
Date: 2010-04-20 22:05:30 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
Am facut echipele astfel incat sa aiba nume, iar Player stie numele echipei din care face parte deoarece Player reprezinta o incapsulare a info pe care clientul ar trebui sa le primeasca si ar fi fain sa stie si numele echipei. Neesential insa.
Am facut ordinea initiala de joc sa fie corecta, adica Player1 din Team1, P1T2, P2T1, P2T2.
Am facut la client sa returneze de la bid valoare 1, 2, sau cat zice de la tastatura, nu codul ascii al lui 1 sau 2 :)))) ca nu stiam de ce imi zice ca "am zis 50" :)))
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/remote/Player.java
Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
Java/trunk/src/prc/bubulina/cruce/server/OrderKeeper.java
Java/trunk/src/prc/bubulina/cruce/server/PlayerMap.java
Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
Java/trunk/src/prc/bubulina/cruce/server/StartGameLogic.java
Java/trunk/src/prc/bubulina/cruce/server/Team.java
Java/trunk/test/prc/bubulina/cruce/tests/server/OrderKeeperTest.java
Java/trunk/test/prc/bubulina/cruce/tests/server/StartGameLogicTest.java
Java/trunk/test/prc/bubulina/cruce/tests/server/TeamTest.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -24,7 +24,7 @@
} catch (IOException e) {
System.out.println("Error reading input");
}
- return bidAmount;
+ return bidAmount - '0';
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/remote/Player.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/remote/Player.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/remote/Player.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -11,6 +11,7 @@
private String name;
private int id;
+ private String teamName;
public Player(String name, int ID) {
this.name = name;
@@ -25,6 +26,14 @@
return id;
}
+ public void setTeamName(String teamName) {
+ this.teamName = teamName;
+ }
+
+ public String getTeamName() {
+ return teamName;
+ }
+
public boolean equals(Object o) {
if (o instanceof Player)
if (((Player)o).name.equals(name) && ((Player)o).id == id)
Modified: Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/GameLogic.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -1,11 +1,16 @@
package prc.bubulina.cruce.server;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import prc.bubulina.cruce.remote.Player;
+import prc.bubulina.cruce.remote.Score;
+
public class GameLogic {
private List<Team> teams;
- private RoundLogic roundLogic;
+ private RoundLogic roundLogic;
public void startGame(List<Team> teams, ServerImplementation server) {
this.teams = teams;
@@ -20,4 +25,13 @@
return true;
return false;
}
+
+ public Score getOverallScore() {
+ Map<Player, Integer> scoreMap = new HashMap<Player, Integer>();
+ for (Team t : teams)
+ for (ServerSidePlayer p : t.getPlayers())
+ scoreMap.put(p.getInfo(), t.getOverallScore());
+
+ return new Score(scoreMap);
+ }
}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/server/OrderKeeper.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/OrderKeeper.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/OrderKeeper.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -5,16 +5,17 @@
import java.util.Map.Entry;
public class OrderKeeper extends HashMap<Integer, ServerSidePlayer> {
-
+
/**
*
*/
private static final long serialVersionUID = -8527789594990649607L;
/**
- * This will reorder the values stored in the HashMap so that the
- * argument is the first followed by the value after it and so on.
- * The keys will be always be fist key 0, second key one, and so one
+ * This will reorder the values stored in the HashMap so that the argument
+ * is the first followed by the value after it and so on. The keys will be
+ * always be fist key 0, second key one, and so one
+ *
* @param firstPlayer
*/
public void resetOrder(ServerSidePlayer firstPlayer) {
@@ -32,7 +33,7 @@
this.clear();
this.putAll(newPlayerOrder);
}
-
+
public int getOrder(ServerSidePlayer player) {
for (Entry<Integer, ServerSidePlayer> p : this.entrySet())
if (p.getValue().equals(player))
Modified: Java/trunk/src/prc/bubulina/cruce/server/PlayerMap.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/PlayerMap.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/PlayerMap.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -36,7 +36,7 @@
return e.getKey();
return null;
}
-
+
public Collection<ClientInterface> getClients() {
return clients.values();
}
@@ -44,6 +44,7 @@
public void reset() {
data.clear();
}
+
public String toString() {
return data.toString() + "\n" + clients.toString();
}
Modified: Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/RoundLogic.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -8,7 +8,7 @@
import prc.bubulina.cruce.remote.Card;
public class RoundLogic {
-
+
private List<Team> teams;
private OrderKeeper playerOrder;
private ServerImplementation server;
@@ -17,14 +17,20 @@
private int handNr;
public RoundLogic(List<Team> teams, ServerImplementation server) {
-
+
playerOrder = new OrderKeeper();
this.server = server;
this.teams = teams;
- int i = 0;
- for (Team t : teams)
- for (ServerSidePlayer p : t.getPlayers())
- playerOrder.put(i++, p);
+ int i = -1;
+ for (Team t : teams) {
+ i++;
+ for (ServerSidePlayer p : t.getPlayers()) {
+ playerOrder.put(i, p);
+ i += 2;
+ }
+ i -= 4;
+ }
+ System.out.println(playerOrder);
}
public Team getTeam(ServerSidePlayer player) {
@@ -39,7 +45,7 @@
startBid();
for (handNr = 0; handNr < 6; handNr++)
playHand();
- //de bagat cu scorul!
+ // de bagat cu scorul!
}
private void sendCards() {
@@ -54,10 +60,11 @@
do {
card = Card.getRandomCard();
} while (givenCards.contains(card));
-
- //in order for givenCards.contains(card) to work properly you have to
- //override equals(Object o) in Card
-
+
+ // in order for givenCards.contains(card) to work properly you
+ // have to
+ // override equals(Object o) in Card
+
givenCards.add(card);
cards.add(card);
}
@@ -68,7 +75,7 @@
}
}
}
-
+
private void startBid() {
int max = 0;
ServerSidePlayer winner = null;
@@ -84,25 +91,20 @@
getTeam(winner).setGoal(max);
playerOrder.resetOrder(winner);
}
-
- /*private void resetOrder(ServerSidePlayer firstPlayer) {
- int oldPosition = 0;
- for (Entry<Integer, ServerSidePlayer> p : playerOrder.entrySet())
- if (p.getValue().equals(firstPlayer))
- oldPosition = p.getKey();
- Map<Integer, ServerSidePlayer> newPlayerOrder = new HashMap<Integer, ServerSidePlayer>();
- for (Entry<Integer, ServerSidePlayer> p : playerOrder.entrySet()) {
- int newPosition;
- if (p.getKey() >= oldPosition)
- newPosition = p.getKey() - oldPosition;
- else
- newPosition = p.getKey() - oldPosition + 4;
- ServerSidePlayer player = p.getValue();
- newPlayerOrder.put(newPosition, player);
- }
- playerOrder = newPlayerOrder;
- }*/
-
+
+ /*
+ * private void resetOrder(ServerSidePlayer firstPlayer) { int oldPosition =
+ * 0; for (Entry<Integer, ServerSidePlayer> p : playerOrder.entrySet()) if
+ * (p.getValue().equals(firstPlayer)) oldPosition = p.getKey(); Map<Integer,
+ * ServerSidePlayer> newPlayerOrder = new HashMap<Integer,
+ * ServerSidePlayer>(); for (Entry<Integer, ServerSidePlayer> p :
+ * playerOrder.entrySet()) { int newPosition; if (p.getKey() >= oldPosition)
+ * newPosition = p.getKey() - oldPosition; else newPosition = p.getKey() -
+ * oldPosition + 4; ServerSidePlayer player = p.getValue();
+ * newPlayerOrder.put(newPosition, player); } playerOrder = newPlayerOrder;
+ * }
+ */
+
private void playHand() {
cardsDown = new HashMap<Integer, Card>();
for (int i = 0; i < 4; i++) {
@@ -117,7 +119,7 @@
ServerSidePlayer winner = playerOrder.get(maxIndex);
playerOrder.resetOrder(winner);
}
-
+
private int getMaxCard(Map<Integer, Card> cards) {
int maxIndex = 0;
Card max = cards.get(0);
@@ -142,7 +144,7 @@
}
return maxIndex;
}
-
+
public boolean acceptCard(ServerSidePlayer player, Card card) {
Card[] c = (Card[]) cardsDown.values().toArray();
if (player.checkHit(card, c) == true) {
@@ -155,16 +157,17 @@
}
return false;
}
-
+
public boolean acceptCard(ServerSidePlayer player, Card card, int anunt) {
- if (player.hasAnunt(card, anunt) == false)
+ if (player.hasAnunt(card, anunt) == false)
return false;
if (playerOrder.getOrder(player) != 0)
return false;
Card[] c = (Card[]) cardsDown.values().toArray();
if (player.checkHit(card, c) == true) {
cardsDown.put(playerOrder.getOrder(player), card);
- hitInfoMessage = player.getInfo().getName() + " a dat " + c + " anuntand " + anunt;
+ hitInfoMessage = player.getInfo().getName() + " a dat " + c
+ + " anuntand " + anunt;
this.getTeam(player).addAnunt(anunt);
if (handNr == 0)
Card.setTromf(card.getColor());
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerImplementation.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -11,34 +11,38 @@
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
-public class ServerImplementation extends UnicastRemoteObject implements ServerInterface {
+public class ServerImplementation extends UnicastRemoteObject implements
+ ServerInterface {
/**
* Needed for serialization
*/
private static final long serialVersionUID = 6398777327639353025L;
-
+
private List<Team> teams = new LinkedList<Team>();
private List<ClientInterface> clients = new LinkedList<ClientInterface>();
private StartGameLogic startGameLogic;
private GameLogic gameLogic;
private RoundLogic roundLogic;
private PlayerMap playerMap = new PlayerMap();
-
public ServerImplementation() throws RemoteException {
super();
teams = new LinkedList<Team>();
- teams.add(new Team());
- teams.add(new Team());
+ teams.add(new Team("Poker Faces"));
+ teams.add(new Team("Bulanosii"));
startGameLogic = new StartGameLogic(teams);
gameLogic = new GameLogic();
}
-
- public synchronized Player joinGame(String name, ClientInterface client) throws RemoteException {
+
+ public synchronized Player joinGame(String name, ClientInterface client)
+ throws RemoteException {
System.out.println(name + " joined the game");
client.inform("welcome to the game");
ServerSidePlayer ssplayer = startGameLogic.setupPlayer(name);
+ client.inform("you are in team " + ssplayer.getInfo().getTeamName());
+ this.informAll(ssplayer.getInfo().getName() + " from "
+ + ssplayer.getInfo().getTeamName() + " joined the game");
clients.add(client);
playerMap.put(ssplayer, client);
if (ssplayer != null)
@@ -59,7 +63,8 @@
}
}
- public synchronized boolean sendCards(List<Card> cards, ServerSidePlayer player) {
+ public synchronized boolean sendCards(List<Card> cards,
+ ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
try {
@@ -77,18 +82,19 @@
}
return true;
}
-
+
public int bid(ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
try {
int amount = client.bid();
+ System.out.println(player.getInfo().getName() + " " + +amount);
return amount;
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
-
+
public void hit(ServerSidePlayer player) {
ClientInterface client = playerMap.getClient(player.getInfo());
try {
@@ -97,7 +103,7 @@
e.printStackTrace();
}
}
-
+
public void informAll(String message) {
for (ClientInterface c : playerMap.getClients()) {
try {
@@ -107,17 +113,20 @@
}
}
}
-
- public synchronized boolean acceptCard(Player sender, Card card) throws RemoteException {
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card);
+
+ public synchronized boolean acceptCard(Player sender, Card card)
+ throws RemoteException {
+ return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender),
+ card);
}
- public synchronized boolean acceptCard(Player sender, Card card, int anunt) throws RemoteException {
- return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender), card, anunt);
+ public synchronized boolean acceptCard(Player sender, Card card, int anunt)
+ throws RemoteException {
+ return roundLogic.acceptCard(playerMap.getServerSidePlayer(sender),
+ card, anunt);
}
public synchronized Score getOverallScore() throws RemoteException {
- // TODO Auto-generated method stub
- return null;
+ return gameLogic.getOverallScore();
}
}
\ No newline at end of file
Modified: Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/ServerSidePlayer.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -61,7 +61,7 @@
public Player getInfo() {
return player;
}
-
+
public void removeCard(Card card) {
this.cards.remove(card);
}
Modified: Java/trunk/src/prc/bubulina/cruce/server/StartGameLogic.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/StartGameLogic.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/StartGameLogic.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -31,6 +31,7 @@
// 2
int teamIndex = player.getID() / 2;
+ player.setTeamName(teams.get(teamIndex).getName());
teams.get(teamIndex).addPlayer(ssplayer);
return ssplayer;
Modified: Java/trunk/src/prc/bubulina/cruce/server/Team.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/src/prc/bubulina/cruce/server/Team.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -11,8 +11,10 @@
private int goal;
private List<Card> cardsTaken;
private int overallScore;
+ private String teamName;
- public Team() {
+ public Team(String teamName) {
+ this.teamName = teamName;
players = new LinkedList<ServerSidePlayer>();
cardsTaken = new LinkedList<Card>();
anunturi = 0;
@@ -70,4 +72,7 @@
cardsTaken.clear();
}
+ public String getName() {
+ return teamName;
+ }
}
\ No newline at end of file
Modified: Java/trunk/test/prc/bubulina/cruce/tests/server/OrderKeeperTest.java
===================================================================
--- Java/trunk/test/prc/bubulina/cruce/tests/server/OrderKeeperTest.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/test/prc/bubulina/cruce/tests/server/OrderKeeperTest.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -25,8 +25,8 @@
public void setUp() {
o = new OrderKeeper();
teams = new ArrayList<Team>();
- teams.add(new Team());
- teams.add(new Team());
+ teams.add(new Team("A"));
+ teams.add(new Team("B"));
StartGameLogic startGameLogic = new StartGameLogic(teams);
p1 = startGameLogic.setupPlayer("P1");
p2 = startGameLogic.setupPlayer("P2");
Modified: Java/trunk/test/prc/bubulina/cruce/tests/server/StartGameLogicTest.java
===================================================================
--- Java/trunk/test/prc/bubulina/cruce/tests/server/StartGameLogicTest.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/test/prc/bubulina/cruce/tests/server/StartGameLogicTest.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -20,8 +20,8 @@
@Before
public void setUp() throws Exception {
teams = new ArrayList<Team>();
- teams.add(new Team());
- teams.add(new Team());
+ teams.add(new Team("A"));
+ teams.add(new Team("B"));
startGameLogic = new StartGameLogic(teams);
}
@@ -29,7 +29,7 @@
public void testSetupPlayer_OnePlayer_BestCaseScenario() {
String playerName = "Player1";
teams.clear();
- teams.add(new Team());
+ teams.add(new Team("C"));
// Actual test
ServerSidePlayer actual = startGameLogic.setupPlayer(playerName);
Modified: Java/trunk/test/prc/bubulina/cruce/tests/server/TeamTest.java
===================================================================
--- Java/trunk/test/prc/bubulina/cruce/tests/server/TeamTest.java 2010-04-20 21:26:41 UTC (rev 123)
+++ Java/trunk/test/prc/bubulina/cruce/tests/server/TeamTest.java 2010-04-20 22:05:30 UTC (rev 124)
@@ -17,7 +17,7 @@
@Before
public void setUp() throws Exception {
- team = new Team();
+ team = new Team("A");
}
@Test
@@ -123,7 +123,7 @@
team.addAnunt(20);
// Notice how we can add more that one 40 and 3 20's
- team = new Team();
+ team = new Team("B");
team.addAnunt(40);
team.addAnunt(20);
team.addAnunt(20);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hor...@us...> - 2010-04-20 21:26:48
|
Revision: 123
http://cruce.svn.sourceforge.net/cruce/?rev=123&view=rev
Author: horiaradu
Date: 2010-04-20 21:26:41 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
am implementat metoda inform() de la client ca sa putem vedea chestii pe ecran.
Modified Paths:
--------------
Java/trunk/.project
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Modified: Java/trunk/.project
===================================================================
--- Java/trunk/.project 2010-04-20 19:53:14 UTC (rev 122)
+++ Java/trunk/.project 2010-04-20 21:26:41 UTC (rev 123)
@@ -1,18 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Cruce</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.genady.rmi.RMINature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Cruce</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.genady.rmi.RMIBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.genady.rmi.RMINature</nature>
+ </natures>
+</projectDescription>
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-20 19:53:14 UTC (rev 122)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-20 21:26:41 UTC (rev 123)
@@ -55,11 +55,6 @@
try {
if (game.joinGame())
player = server.joinGame(game.getPlayerName(), this);
-
- // TODO remove this
- game.joinGame();
- game.joinGame();
-
if (game.startGame())
server.startGame(player);
} catch (RemoteException e) {
@@ -95,7 +90,7 @@
@Override
public void inform(String information) throws RemoteException {
- // TODO Auto-generated method stub
+ game.inform(information);
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-20 19:53:14 UTC (rev 122)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-20 21:26:41 UTC (rev 123)
@@ -96,4 +96,8 @@
public String getPlayerName() {
return name;
}
+
+ public void inform(String information) {
+ ui.sendMessage(information);
+ }
}
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 19:53:14 UTC (rev 122)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 21:26:41 UTC (rev 123)
@@ -62,8 +62,7 @@
@Override
public void sendMessage(String message) {
- // TODO Auto-generated method stub
-
+ System.out.println(message);
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-04-20 19:53:20
|
Revision: 122
http://cruce.svn.sourceforge.net/cruce/?rev=122&view=rev
Author: caiusb
Date: 2010-04-20 19:53:14 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
Am implementat partea in care se primesc cartile. Se intreba user-ul daca ii plac, si se si afiseaza pe ecran.
Modified Paths:
--------------
Java/trunk/src/prc/bubulina/cruce/client/Client.java
Java/trunk/src/prc/bubulina/cruce/client/Game.java
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Java/trunk/src/prc/bubulina/cruce/client/UI.java
Java/trunk/test/prc/bubulina/cruce/client/DummyUI.java
Modified: Java/trunk/src/prc/bubulina/cruce/client/Client.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-20 15:30:00 UTC (rev 121)
+++ Java/trunk/src/prc/bubulina/cruce/client/Client.java 2010-04-20 19:53:14 UTC (rev 122)
@@ -15,7 +15,8 @@
import prc.bubulina.cruce.remote.Score;
import prc.bubulina.cruce.remote.ServerInterface;
-public class Client extends UnicastRemoteObject implements ClientInterface, Serializable {
+public class Client extends UnicastRemoteObject implements ClientInterface,
+ Serializable {
/**
*
@@ -42,30 +43,25 @@
String url = "rmi://" + gameServerAddress + "/" + gameServerName;
this.game = game;
-
- //TODO instantiate server
+
try {
server = (ServerInterface) Naming.lookup(url);
} catch (MalformedURLException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
} catch (NotBoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ System.out.println("Server not found!");
}
// TODO this looks weird
try {
- if (game.joinGame()) {
- player = server.joinGame(game.getPlayerName(), this);
- System.out.println(player.getName());
- System.out.println(player);
- }
- game.joinGame();
- game.joinGame();
- if (game.startGame()) {
- System.out.println("Yes");
- server.startGame(player);
- }
+ if (game.joinGame())
+ player = server.joinGame(game.getPlayerName(), this);
+
+ // TODO remove this
+ game.joinGame();
+ game.joinGame();
+
+ if (game.startGame())
+ server.startGame(player);
} catch (RemoteException e) {
e.printStackTrace();
}
@@ -89,14 +85,17 @@
@Override
public void hit() throws RemoteException {
- // TODO Auto-generated method stub
-
+ Card card = game.hit();
+ try {
+ server.acceptCard(player, card);
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
}
@Override
public void inform(String information) throws RemoteException {
// TODO Auto-generated method stub
-
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/client/Game.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-20 15:30:00 UTC (rev 121)
+++ Java/trunk/src/prc/bubulina/cruce/client/Game.java 2010-04-20 19:53:14 UTC (rev 122)
@@ -49,6 +49,16 @@
}
/**
+ * Gets the card played by the player
+ *
+ * @return the card played
+ */
+ public Card hit() {
+ Card card = ui.playCard();
+ return null;
+ }
+
+ /**
* Anounces the tromph color
*
* @param color
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 15:30:00 UTC (rev 121)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-20 19:53:14 UTC (rev 122)
@@ -7,6 +7,8 @@
import prc.bubulina.cruce.remote.Color;
public class TextUI extends UI {
+ private List<Card> cards;
+ private Color tromf;
@Override
public void announceWinner(String name) {
@@ -34,9 +36,11 @@
char answer = 'n';
System.out.println(question);
try {
- System.in.skip(System.in.available()); // sar peste ce este in buffer
+ System.in.skip(System.in.available()); // sar peste ce este in
+ // buffer
answer = (char) System.in.read();
- System.in.skip(System.in.available()); // sar peste newline si restul
+ System.in.skip(System.in.available()); // sar peste newline si
+ // restul
} catch (IOException e) {
System.out.println("Error reading input");
}
@@ -52,6 +56,11 @@
}
@Override
+ public Card playCard() {
+ return null;
+ }
+
+ @Override
public void sendMessage(String message) {
// TODO Auto-generated method stub
@@ -59,14 +68,24 @@
@Override
public boolean setCards(List<Card> cards, boolean force) {
- // TODO Auto-generated method stub
- return false;
+ this.cards = cards;
+ showAvailableCards();
+ if (!force)
+ if (askBinaryQuestion("Sunt bune cartile?") == false)
+ return false;
+
+ return true;
}
+ private void showAvailableCards() {
+ for (Card c : cards)
+ System.out.print("[" + c.getColor() + " " + c.getValue() + "], ");
+ System.out.println();
+ }
+
@Override
public void setTromf(Color color) {
- // TODO Auto-generated method stub
-
+ this.tromf = color;
}
@Override
Modified: Java/trunk/src/prc/bubulina/cruce/client/UI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/UI.java 2010-04-20 15:30:00 UTC (rev 121)
+++ Java/trunk/src/prc/bubulina/cruce/client/UI.java 2010-04-20 19:53:14 UTC (rev 122)
@@ -49,6 +49,13 @@
public abstract void putCard(Card card);
/**
+ * Gets the card played by the player.
+ *
+ * @return the card played
+ */
+ public abstract Card playCard();
+
+ /**
* Informs the player about the tromph color.
*
* @param color
@@ -70,9 +77,10 @@
* the name of the winner
*/
public abstract void announceWinner(String name);
-
+
/**
* Sends a message to the user
+ *
* @param message
*/
public abstract void sendMessage(String message);
Modified: Java/trunk/test/prc/bubulina/cruce/client/DummyUI.java
===================================================================
--- Java/trunk/test/prc/bubulina/cruce/client/DummyUI.java 2010-04-20 15:30:00 UTC (rev 121)
+++ Java/trunk/test/prc/bubulina/cruce/client/DummyUI.java 2010-04-20 19:53:14 UTC (rev 122)
@@ -32,6 +32,11 @@
// TODO Auto-generated method stub
}
+
+ @Override
+ public Card playCard() {
+ return null;
+ }
@Override
public void sendMessage(String message) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ali...@us...> - 2010-04-20 15:30:07
|
Revision: 121
http://cruce.svn.sourceforge.net/cruce/?rev=121&view=rev
Author: alinposho
Date: 2010-04-20 15:30:00 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
Scuze, am gresit diagrama de secventa pentru prima mana si, ca atare, am rectificat erorile. Va rog sa verificati si voi.
Modified Paths:
--------------
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Java/trunk/Documentation/FirstHandSequenceDiagram.jpg
Modified: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml 2010-04-20 15:16:19 UTC (rev 120)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-20 15:30:00 UTC (rev 121)
@@ -724,11 +724,12 @@
<XPD:REF name="BehavioralFeature">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">4</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">5</XPD:ATTR>
<XPD:REF name="CallActions[0]">QNvgy2nrc0aZU90XIXMCdQAA</XPD:REF>
<XPD:REF name="CallActions[1]">W+z6gtLO106mATpb23kW2wAA</XPD:REF>
<XPD:REF name="CallActions[2]">nStk5LMfNEmGZSheFYqedQAA</XPD:REF>
<XPD:REF name="CallActions[3]">hdd7aw5D20mKD22LbboQZQAA</XPD:REF>
+<XPD:REF name="CallActions[4]">qd5x/9HADEaUDIQI/X2AIwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="iti+5JOGTEy/+seea2d9IAAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
@@ -789,6 +790,8 @@
<XPD:REF name="BehavioralFeature">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
<XPD:REF name="Type_" pathname="::Design Model::java::awt::Color">IQrOkol1PUeVWv/o2VZ5nwAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">7X9cqXkg40qY5Y1as8pRgQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[6]" type="UMLOperation" guid="yuyNoYWXXE+7H5HtDh4/QgAA">
<XPD:ATTR name="Name" type="string">tellRoundScore</XPD:ATTR>
@@ -800,6 +803,8 @@
<XPD:REF name="BehavioralFeature">yuyNoYWXXE+7H5HtDh4/QgAA</XPD:REF>
<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">tfePz1VVd0qD1ggN+1YUfQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[7]" type="UMLOperation" guid="NAfOin0GDEKDYosCYFeVXwAA">
<XPD:ATTR name="Name" type="string">endGame</XPD:ATTR>
@@ -1709,8 +1714,9 @@
<XPD:REF name="BehavioralFeature">hEhQIHiNaE6z0unKjXeSLQAA</XPD:REF>
<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
<XPD:REF name="CallActions[0]">m8Nfp0XuokqJkN+V0q8tVgAA</XPD:REF>
+<XPD:REF name="CallActions[1]">3tUo0eXflkyY4fWD2X8NUgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="kPyy8Qb140OvrnEfWzWlCwAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
@@ -1807,9 +1813,10 @@
<XPD:REF name="BehavioralFeature">ACWgGB9TmkusWeDDLMNlCwAA</XPD:REF>
<XPD:REF name="Type_">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">3</XPD:ATTR>
<XPD:REF name="CallActions[0]">oYWmht7dp0CW26W42hYRqgAA</XPD:REF>
<XPD:REF name="CallActions[1]">1rs6ECvoMEC2y8tTrBjgdAAA</XPD:REF>
+<XPD:REF name="CallActions[2]">ySxraV6T2E6BbOw4Ck1IjgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">6</XPD:ATTR>
<XPD:REF name="Associations[0]">DyGS135CUESzBYlghypCGgAA</XPD:REF>
@@ -4370,14 +4377,16 @@
<XPD:ATTR name="Name" type="string">server</XPD:ATTR>
<XPD:REF name="Namespace">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
<XPD:REF name="Base">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">6</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
<XPD:REF name="Views[0]">C7aNmyr5mEyQu/KGik0gLQAA</XPD:REF>
<XPD:REF name="Views[1]">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Views[2]">pJqJPZFo70yXZ6pMcfBH+AAA</XPD:REF>
<XPD:REF name="Views[3]">1G7sDaodtU2WSskSI7wCrQAA</XPD:REF>
<XPD:REF name="Views[4]">92pA09CP2EyGIiu2QXRc9QAA</XPD:REF>
<XPD:REF name="Views[5]">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">10</XPD:ATTR>
+<XPD:REF name="Views[6]">6dMCbZwlsEGAMnoY/RxfrgAA</XPD:REF>
+<XPD:REF name="Views[7]">qEfdl06yF02yVe1qAqatfQAA</XPD:REF>
+<XPD:ATTR name="#SenderClientMessages" type="integer">14</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">8Gs1sAyURUqmghJAC8ZjuwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">2XgFNc3rqU25pV8Hx420ugAA</XPD:REF>
@@ -4388,7 +4397,11 @@
<XPD:REF name="SenderClientMessages[7]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[8]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
<XPD:REF name="SenderClientMessages[9]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">16</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[10]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[11]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[12]">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[13]">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">19</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
@@ -4405,14 +4418,19 @@
<XPD:REF name="ReceiverClientMessages[13]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[14]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[15]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[16]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[17]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[18]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
<XPD:REF name="Namespace">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
<XPD:REF name="Base">yvLuoj6pmEqDCv5J0yhvXgAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">ofKZlOoOjUeW/NEn3SQKVAAA</XPD:REF>
<XPD:REF name="Views[1]">ot56h2/bgUSEwFguO61aUgAA</XPD:REF>
+<XPD:REF name="Views[2]">nxB1GO+mQU62c6JtyB+1KgAA</XPD:REF>
+<XPD:REF name="Views[3]">HBBk53TYuU2UQRsgMrS2dwAA</XPD:REF>
<XPD:ATTR name="#SenderClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">JU/CF46JSESOgc7UXCc/6gAA</XPD:REF>
@@ -4437,7 +4455,7 @@
<XPD:REF name="Views[3]">pcmo+m+yNUayOtj+aaGryQAA</XPD:REF>
<XPD:REF name="Views[4]">8v+Mloa8Z0uLjnSTCSlsjAAA</XPD:REF>
<XPD:REF name="Views[5]">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">19</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">21</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4457,7 +4475,9 @@
<XPD:REF name="SenderClientMessages[16]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[18]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">12</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[19]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[20]">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">13</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4470,6 +4490,7 @@
<XPD:REF name="ReceiverClientMessages[9]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[10]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[11]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[12]">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="MXbsvPpFhU+TYJwa0ZxZwQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -4478,13 +4499,17 @@
<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
<XPD:REF name="Views[0]">f9OcljLPqkK60NP//MXDkQAA</XPD:REF>
<XPD:REF name="Views[1]">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">3</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[2]">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">6</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[3]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[4]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[5]">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLClassifierRole" guid="Q/lFrbJcNkCa536+8uqQnQAA">
<XPD:ATTR name="Name" type="string">Client</XPD:ATTR>
@@ -4503,7 +4528,7 @@
<XPD:REF name="ReceiverClientMessages[0]">YNloFf1DfUyjYghcwG6U4QAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">FoaSkFBA/02Mggp0qKzwPwAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#Interactions" type="integer">3</XPD:ATTR>
+<XPD:ATTR name="#Interactions" type="integer">4</XPD:ATTR>
<XPD:OBJ name="Interactions[0]" type="UMLInteraction" guid="fifIJoAK40KZS+4Si7RxwwAA">
<XPD:ATTR name="Name" type="string">Interaction1</XPD:ATTR>
<XPD:REF name="Context">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
@@ -6060,14 +6085,14 @@
<XPD:REF name="DiagramOwner">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="W4qnP8rAW0m9LC6Fi94o1AAA">
<XPD:REF name="Diagram">vOjNCfNAAEC264Kln4j7mwAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">16</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">23</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLCombinedFragmentView" guid="cKG6XT+F+kigwwVB+t4WIwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">140</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">377</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">501</XPD:ATTR>
<XPD:REF name="Model">Z1P+4HPnCE+sOr6ZkLHsYQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="LabelView" guid="sKkJnM3C30CcpWxMS+K6KQAA">
<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
@@ -6083,7 +6108,7 @@
<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">357</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">481</XPD:ATTR>
<XPD:REF name="Model">b+hW+yLyS0+PidGpU9AKFQAA</XPD:REF>
<XPD:REF name="ContainerView">cKG6XT+F+kigwwVB+t4WIwAA</XPD:REF>
<XPD:OBJ name="GuardLabel" type="LabelView" guid="L9K1iAzKNEm0pKnU2HSCzAAA">
@@ -6137,10 +6162,10 @@
<XPD:OBJ name="OwnedViews[2]" type="UMLSeqClassifierRoleView" guid="92pA09CP2EyGIiu2QXRc9QAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">852</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">844</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">44</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">192</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">533</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">594</XPD:ATTR>
<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="1Zsz1G41EkmfkersEs0c/gAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="9OwHXkJG202I1yalOXREEwAA">
@@ -6188,7 +6213,7 @@
<XPD:ATTR name="Left" type="integer">508</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">159</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">541</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">590</XPD:ATTR>
<XPD:REF name="Model">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="YQix82qMRk6Dcsk8c67N1QAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="ZY59bGEzkUmyYU7vlla0fAAA">
@@ -6239,14 +6264,14 @@
<XPD:ATTR name="Left" type="integer">1262</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">131</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">397</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">518</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[6]" type="UMLSeqMessageView" guid="b3R45eXuwU2/kM7KNP4iCAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1262,160;954,160</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,160;946,160</XPD:ATTR>
<XPD:REF name="Model">S7SXU+cAhEmV5zMKIUVmygAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6272,17 +6297,17 @@
<XPD:REF name="HostEdge">b3R45eXuwU2/kM7KNP4iCAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="Mg6mtkB11EuhnA5axF3vOgAA">
-<XPD:ATTR name="Left" type="integer">941</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">357</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">313</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[7]" type="UMLSeqMessageView" guid="2RUeZlIFHE+t8SGyjSJFhQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">941,172;593,172</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,172;593,172</XPD:ATTR>
<XPD:REF name="Model">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6311,14 +6336,14 @@
<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">172</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">329</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">297</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[8]" type="UMLSeqMessageView" guid="wXvbk2Q/4UWV2zdX2LVjIAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">593,224;948,224</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,224;940,224</XPD:ATTR>
<XPD:REF name="Model">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
@@ -6344,17 +6369,17 @@
<XPD:REF name="HostEdge">wXvbk2Q/4UWV2zdX2LVjIAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="nYsmQ+0SW0WesHq5yfMW0wAA">
-<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">940</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">224</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">60</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">61</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[9]" type="UMLSeqMessageView" guid="Io00eJ0pdU+6t3VWpOuTFQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">961,232;1269,232</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">953,232;1269,232</XPD:ATTR>
<XPD:REF name="Model">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6383,14 +6408,14 @@
<XPD:ATTR name="Left" type="integer">1269</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">232</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">61</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[10]" type="UMLSeqMessageView" guid="Cend7JYBDkqC2BZlPNLlggAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1269,252;961,252</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1269,269;953,269</XPD:ATTR>
<XPD:REF name="Model">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6417,8 +6442,8 @@
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="80lJBx4xL0ifa4oWjRvmUgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">252</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">940</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">269</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
@@ -6427,7 +6452,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">948,268;593,268</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">940,275;593,275</XPD:ATTR>
<XPD:REF name="Model">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6455,7 +6480,7 @@
<XPD:OBJ name="Activation" type="UMLActivationView" guid="xiu6xMtg2UKgsxaHSV+/0QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">268</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">275</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
@@ -6464,7 +6489,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">593,371;948,371</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,371;940,371</XPD:ATTR>
<XPD:REF name="Model">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
@@ -6490,7 +6515,7 @@
<XPD:REF name="HostEdge">Dx09ZykeCkuZq3aAIk4mogAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="eKYQDVBd+Eit3VQOIhnFAwAA">
-<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">940</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">371</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">70</XPD:ATTR>
@@ -6500,7 +6525,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">961,396;1269,396</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">953,396;1269,396</XPD:ATTR>
<XPD:REF name="Model">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6536,7 +6561,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">948,423;593,423</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">940,423;593,423</XPD:ATTR>
<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6573,7 +6598,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1269,427;961,427</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1269,427;953,427</XPD:ATTR>
<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6600,15 +6625,269 @@
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="RJfp6csq+kGs3nxeWExVJgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">940</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">427</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[16]" type="UMLSeqMessageView" guid="F2/J+Aa570uzuhfSzat3igAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,460;933,460</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="rhTyItTcyUmeKQYYiYn1QgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="RLDIRJ0/xkKgYMpWcmzdvgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#Messages" type="integer">11</XPD:ATTR>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="VtboPB3J5EiPF3v0Lq5SdwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+<XPD:REF name="HostEdge">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="NW4FVhVuEEOVRQqzSJolSAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">460</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[17]" type="UMLSeqMessageView" guid="r4IA3iQiSkyHufWJ8H1KcAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">946,460;1262,460</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ArIniatlNESrShwtMNkHtwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="INin2url70CNzhA8hfl1hgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="7Hw9dECnH0myA21C+YnqQwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+<XPD:REF name="HostEdge">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="lgw722FPOEKkqYGG+bPSmQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1262</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">460</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[18]" type="UMLSeqMessageView" guid="jL89VbxltUWdYOkZpjEoIAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,500;946,500</XPD:ATTR>
+<XPD:REF name="Model">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="WV3MFGXLx0CSxulcSFKWswAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">inform(text: String, player: ServerSidePlayer): void</XPD:ATTR>
+<XPD:REF name="Model">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="HostEdge">jL89VbxltUWdYOkZpjEoIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="MHkQKt+AfE2z8m2jmWDp2QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="HostEdge">jL89VbxltUWdYOkZpjEoIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="gh0x4aqwm0amjdNG5inKTgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="HostEdge">jL89VbxltUWdYOkZpjEoIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="dMbzOUFil0mUSRuq2UTbVgAA">
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">500</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">61</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[19]" type="UMLSeqMessageView" guid="oUzIzMGikkuGbQh6Gq1ekAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,507;593,507</XPD:ATTR>
+<XPD:REF name="Model">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="wCbcJ93gdkiHofcpQrYsYwAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string"> [first card] : setTromf(tromf: Color): void</XPD:ATTR>
+<XPD:REF name="Model">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="HostEdge">oUzIzMGikkuGbQh6Gq1ekAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="ufuBbgFYAkKDFHBi+MLpdAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="HostEdge">oUzIzMGikkuGbQh6Gq1ekAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="HlbE328/2EyODNWE8GVZcwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="HostEdge">oUzIzMGikkuGbQh6Gq1ekAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="jqS75wbCrUuwX+LexBkZVwAA">
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">507</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[20]" type="UMLSeqMessageView" guid="DgUT1d/acU6COGsjQzDcNAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,537;593,537</XPD:ATTR>
+<XPD:REF name="Model">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="b/zxcCuyzUyRdDiYbz7+rQAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">inform(text: String): void</XPD:ATTR>
+<XPD:REF name="Model">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="HostEdge">DgUT1d/acU6COGsjQzDcNAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="CD0vJz/Vqka9V1k83aUrkgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="HostEdge">DgUT1d/acU6COGsjQzDcNAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="fEqXYKNoxUGLhGvlZtG6bQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="HostEdge">DgUT1d/acU6COGsjQzDcNAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="WywmnxzRWUixoWk5DXyvzwAA">
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">537</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[21]" type="UMLSeqMessageView" guid="y4IVSbMr+EmZjpWG3R6urQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,576;946,576</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="+jmplZU1pUmEsnDraqVZgAAA">
+<XPD:ATTR name="Alpha" type="real">1.2277730198585</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">14.8660687473185</XPD:ATTR>
+<XPD:ATTR name="Text" type="string"> [end of Round] : tellRoundScore(score: Score): void</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="aVkS4cNe20SoC4QBr8yIlgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="jSVrlehQGEmos3p/xCJxoAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="HostEdge">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="ZY4m4THymk+0+cLB0qlJaAAA">
+<XPD:ATTR name="Left" type="integer">933</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">576</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[22]" type="UMLSeqMessageView" guid="Iu+KnDMryEmTOd/pd8PghAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">933,584;593,584</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="wsvY4/CVI0SM0gB3sSDQlgAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">tellRoundScore(score: Score): void</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="bbGIfXiIMky9VZ96C2NW3QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="wd9S4WFbrUqvLEHLvOT/XwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="HostEdge">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="JCqSr6WCtUm2yxxheFqhywAA">
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">584</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#Messages" type="integer">18</XPD:ATTR>
<XPD:OBJ name="Messages[0]" type="UMLMessage" guid="ICHy1MhfOkCGdtWzBjdvdwAA">
<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -6761,6 +7040,104 @@
<XPD:REF name="Views[2]">bzjIYabdH0WjNQ/k9L5avQAA</XPD:REF>
<XPD:REF name="Views[3]">GD1//F4X3kWQLM6EOwD3fAAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="Messages[11]" type="UMLMessage" guid="EN9caoAQiUSXqhrkzOaTSQAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLReturnAction" guid="xBVDvfAYlECQnTkDLryFegAA">
+<XPD:REF name="Message">EN9caoAQiUSXqhrkzOaTSQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">F2/J+Aa570uzuhfSzat3igAA</XPD:REF>
+<XPD:REF name="Views[1]">rhTyItTcyUmeKQYYiYn1QgAA</XPD:REF>
+<XPD:REF name="Views[2]">RLDIRJ0/xkKgYMpWcmzdvgAA</XPD:REF>
+<XPD:REF name="Views[3]">VtboPB3J5EiPF3v0Lq5SdwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[12]" type="UMLMessage" guid="IMmztf5w1UC3gUk64ROGVQAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLReturnAction" guid="vQxo21ESM0WD85qI3Y/NpAAA">
+<XPD:REF name="Message">IMmztf5w1UC3gUk64ROGVQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">r4IA3iQiSkyHufWJ8H1KcAAA</XPD:REF>
+<XPD:REF name="Views[1]">ArIniatlNESrShwtMNkHtwAA</XPD:REF>
+<XPD:REF name="Views[2]">INin2url70CNzhA8hfl1hgAA</XPD:REF>
+<XPD:REF name="Views[3]">7Hw9dECnH0myA21C+YnqQwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[13]" type="UMLMessage" guid="L3qZofucAEiLp8djfbrfZgAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="ySxraV6T2E6BbOw4Ck1IjgAA">
+<XPD:REF name="Message">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:REF name="Operation">ACWgGB9TmkusWeDDLMNlCwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">jL89VbxltUWdYOkZpjEoIAAA</XPD:REF>
+<XPD:REF name="Views[1]">WV3MFGXLx0CSxulcSFKWswAA</XPD:REF>
+<XPD:REF name="Views[2]">MHkQKt+AfE2z8m2jmWDp2QAA</XPD:REF>
+<XPD:REF name="Views[3]">gh0x4aqwm0amjdNG5inKTgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[14]" type="UMLMessage" guid="eP8LFPsXkkKZWt/i8zjANgAA">
+<XPD:ATTR name="Branch" type="string">first card</XPD:ATTR>
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="7X9cqXkg40qY5Y1as8pRgQAA">
+<XPD:REF name="Message">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="Operation">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">oUzIzMGikkuGbQh6Gq1ekAAA</XPD:REF>
+<XPD:REF name="Views[1]">wCbcJ93gdkiHofcpQrYsYwAA</XPD:REF>
+<XPD:REF name="Views[2]">ufuBbgFYAkKDFHBi+MLpdAAA</XPD:REF>
+<XPD:REF name="Views[3]">HlbE328/2EyODNWE8GVZcwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[15]" type="UMLMessage" guid="ox4hvcLogk6zq1bAoGq7hAAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="qd5x/9HADEaUDIQI/X2AIwAA">
+<XPD:REF name="Message">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:REF name="Operation">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">DgUT1d/acU6COGsjQzDcNAAA</XPD:REF>
+<XPD:REF name="Views[1]">b/zxcCuyzUyRdDiYbz7+rQAA</XPD:REF>
+<XPD:REF name="Views[2]">CD0vJz/Vqka9V1k83aUrkgAA</XPD:REF>
+<XPD:REF name="Views[3]">fEqXYKNoxUGLhGvlZtG6bQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[16]" type="UMLMessage" guid="XhixMkJa50+8VK0epsA1tgAA">
+<XPD:ATTR name="Branch" type="string">end of Round</XPD:ATTR>
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="3tUo0eXflkyY4fWD2X8NUgAA">
+<XPD:REF name="Message">XhixMkJa50+8VK0epsA1tgAA</XPD:REF>
+<XPD:REF name="Operation">hEhQIHiNaE6z0unKjXeSLQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">y4IVSbMr+EmZjpWG3R6urQAA</XPD:REF>
+<XPD:REF name="Views[1]">+jmplZU1pUmEsnDraqVZgAAA</XPD:REF>
+<XPD:REF name="Views[2]">aVkS4cNe20SoC4QBr8yIlgAA</XPD:REF>
+<XPD:REF name="Views[3]">jSVrlehQGEmos3p/xCJxoAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[17]" type="UMLMessage" guid="kA5D9DSAzE6x66kvGYP8fwAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="tfePz1VVd0qD1ggN+1YUfQAA">
+<XPD:REF name="Message">kA5D9DSAzE6x66kvGYP8fwAA</XPD:REF>
+<XPD:REF name="Operation">yuyNoYWXXE+7H5HtDh4/QgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">Iu+KnDMryEmTOd/pd8PghAAA</XPD:REF>
+<XPD:REF name="Views[1]">wsvY4/CVI0SM0gB3sSDQlgAA</XPD:REF>
+<XPD:REF name="Views[2]">bbGIfXiIMky9VZ96C2NW3QAA</XPD:REF>
+<XPD:REF name="Views[3]">wd9S4WFbrUqvLEHLvOT/XwAA</XPD:REF>
+</XPD:OBJ>
<XPD:ATTR name="#Fragments" type="integer">5</XPD:ATTR>
<XPD:OBJ name="Fragments[0]" type="UMLCombinedFragment" guid="qa5k1RpUik6VKsl5NVLc3AAA">
<XPD:ATTR name="Name" type="string">CombinedFragment1</XPD:ATTR>
@@ -6812,12 +7189,73 @@
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="Interactions[3]" type="UMLInteraction" guid="F5eWcEHRQUGQyuMVYu6b6QAA">
+<XPD:ATTR name="Name" type="string">Interaction4</XPD:ATTR>
+<XPD:REF name="Context">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLSequenceRoleDiagram" guid="4oLowj1/kUezkLvCQQO/ygAA">
+<XPD:ATTR name="Name" type="string">PlayHandSequenceDiagram</XPD:ATTR>
+<XPD:REF name="DiagramOwner">F5eWcEHRQUGQyuMVYu6b6QAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="45u0wdGfJEySmF3DuGWeNgAA">
+<XPD:REF name="Diagram">4oLowj1/kUezkLvCQQO/ygAA</XPD:REF>
+<XPD:ATTR name="#OwnedViews" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="OwnedViews[0]" type="UMLSeqClassifierRoleView" guid="6dMCbZwlsEGAMnoY/RxfrgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">660</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">100</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">192</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">350</XPD:ATTR>
+<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="6YrgYXv+MkqiFgYrL0vEQAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="eAnQohP9B0qWnwvxuEM7xQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">/server : ServerImplementation</XPD:ATTR>
</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="Tu+yQN2VbU6uGwv+fc4BggAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="7U8WcXrQLEC+7myQ0R1TcQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="LifeLine" type="UMLLifeLineView" guid="qEfdl06yF02yVe1qAqatfQAA">
+<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[1]" type="UMLSeqClassifierRoleView" guid="nxB1GO+mQU62c6JtyB+1KgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">952</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">96</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">148</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">350</XPD:ATTR>
+<XPD:REF name="Model">ycsxS83MR0qi7+TXcwklZwAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="TQL+ZhujWEG4s7AHX0UCpQAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="r60QQNvXcUm0HSK2wltXGAAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">/gameLogic : GameLogic</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="okq/3DucYkyuOxIvHTwkFAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="XcssUWUcJk++eIRxkg2DpwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="LifeLine" type="UMLLifeLineView" guid="HBBk53TYuU2UQRsgMrS2dwAA">
+<XPD:REF name="Model">ycsxS83MR0qi7+TXcwklZwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLModel" guid="2Oy5BqH90kOGatzD/g8kjgAA">
<XPD:ATTR name="Name" type="string">Implementation Model</XPD:ATTR>
<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
Modified: Java/trunk/Documentation/CruceUML.~ml
===================================================================
--- Java/trunk/Documentation/CruceUML.~ml 2010-04-20 15:16:19 UTC (rev 120)
+++ Java/trunk/Documentation/CruceUML.~ml 2010-04-20 15:30:00 UTC (rev 121)
@@ -533,6 +533,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">h561qpBf2Uuicw5jTSMz7QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="FKZeGsdLr06A9ydPalQ9gQAA">
<XPD:ATTR name="Name" type="string">getOverallScore</XPD:ATTR>
@@ -722,11 +724,12 @@
<XPD:REF name="BehavioralFeature">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">4</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">5</XPD:ATTR>
<XPD:REF name="CallActions[0]">QNvgy2nrc0aZU90XIXMCdQAA</XPD:REF>
<XPD:REF name="CallActions[1]">W+z6gtLO106mATpb23kW2wAA</XPD:REF>
<XPD:REF name="CallActions[2]">nStk5LMfNEmGZSheFYqedQAA</XPD:REF>
<XPD:REF name="CallActions[3]">hdd7aw5D20mKD22LbboQZQAA</XPD:REF>
+<XPD:REF name="CallActions[4]">qd5x/9HADEaUDIQI/X2AIwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="iti+5JOGTEy/+seea2d9IAAA">
<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
@@ -787,6 +790,8 @@
<XPD:REF name="BehavioralFeature">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
<XPD:REF name="Type_" pathname="::Design Model::java::awt::Color">IQrOkol1PUeVWv/o2VZ5nwAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">7X9cqXkg40qY5Y1as8pRgQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[6]" type="UMLOperation" guid="yuyNoYWXXE+7H5HtDh4/QgAA">
<XPD:ATTR name="Name" type="string">tellRoundScore</XPD:ATTR>
@@ -1805,9 +1810,10 @@
<XPD:REF name="BehavioralFeature">ACWgGB9TmkusWeDDLMNlCwAA</XPD:REF>
<XPD:REF name="Type_">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#CallActions" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#CallActions" type="integer">3</XPD:ATTR>
<XPD:REF name="CallActions[0]">oYWmht7dp0CW26W42hYRqgAA</XPD:REF>
<XPD:REF name="CallActions[1]">1rs6ECvoMEC2y8tTrBjgdAAA</XPD:REF>
+<XPD:REF name="CallActions[2]">ySxraV6T2E6BbOw4Ck1IjgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">6</XPD:ATTR>
<XPD:REF name="Associations[0]">DyGS135CUESzBYlghypCGgAA</XPD:REF>
@@ -2331,6 +2337,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">WqcGFaOb10iPtw2HujOrQwAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">VMCMuqg3kU+mPPfsXtjKBQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[5]" type="UMLOperation" guid="gxEflo3R7ESY34GCQfparAAA">
<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
@@ -4366,14 +4374,16 @@
<XPD:ATTR name="Name" type="string">server</XPD:ATTR>
<XPD:REF name="Namespace">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
<XPD:REF name="Base">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">6</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">8</XPD:ATTR>
<XPD:REF name="Views[0]">C7aNmyr5mEyQu/KGik0gLQAA</XPD:REF>
<XPD:REF name="Views[1]">a9uEhO086U+vJz9saEl9GAAA</XPD:REF>
<XPD:REF name="Views[2]">pJqJPZFo70yXZ6pMcfBH+AAA</XPD:REF>
<XPD:REF name="Views[3]">1G7sDaodtU2WSskSI7wCrQAA</XPD:REF>
<XPD:REF name="Views[4]">92pA09CP2EyGIiu2QXRc9QAA</XPD:REF>
<XPD:REF name="Views[5]">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">8</XPD:ATTR>
+<XPD:REF name="Views[6]">6dMCbZwlsEGAMnoY/RxfrgAA</XPD:REF>
+<XPD:REF name="Views[7]">qEfdl06yF02yVe1qAqatfQAA</XPD:REF>
+<XPD:ATTR name="#SenderClientMessages" type="integer">12</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">8Gs1sAyURUqmghJAC8ZjuwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">2XgFNc3rqU25pV8Hx420ugAA</XPD:REF>
@@ -4382,7 +4392,11 @@
<XPD:REF name="SenderClientMessages[5]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[6]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[7]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">14</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[8]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[9]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[10]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[11]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">17</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
@@ -4397,14 +4411,19 @@
<XPD:REF name="ReceiverClientMessages[11]">KKE7eqsDeEKw8y5FwGGMpAAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[12]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[13]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[14]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[15]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[16]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
<XPD:REF name="Namespace">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
<XPD:REF name="Base">yvLuoj6pmEqDCv5J0yhvXgAA</XPD:REF>
-<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">ofKZlOoOjUeW/NEn3SQKVAAA</XPD:REF>
<XPD:REF name="Views[1]">ot56h2/bgUSEwFguO61aUgAA</XPD:REF>
+<XPD:REF name="Views[2]">nxB1GO+mQU62c6JtyB+1KgAA</XPD:REF>
+<XPD:REF name="Views[3]">HBBk53TYuU2UQRsgMrS2dwAA</XPD:REF>
<XPD:ATTR name="#SenderClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">JU/CF46JSESOgc7UXCc/6gAA</XPD:REF>
@@ -4429,7 +4448,7 @@
<XPD:REF name="Views[3]">pcmo+m+yNUayOtj+aaGryQAA</XPD:REF>
<XPD:REF name="Views[4]">8v+Mloa8Z0uLjnSTCSlsjAAA</XPD:REF>
<XPD:REF name="Views[5]">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">18</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">20</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4448,7 +4467,9 @@
<XPD:REF name="SenderClientMessages[15]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[16]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">11</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[18]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[19]">L3qZofucAEiLp8djfbrfZgAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">12</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4460,6 +4481,7 @@
<XPD:REF name="ReceiverClientMessages[8]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[9]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[10]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[11]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="MXbsvPpFhU+TYJwa0ZxZwQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -4468,11 +4490,15 @@
<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
<XPD:REF name="Views[0]">f9OcljLPqkK60NP//MXDkQAA</XPD:REF>
<XPD:REF name="Views[1]">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">2</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">2</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[1]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">5</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[2]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[3]">eP8LFPsXkkKZWt/i8zjANgAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[4]">ox4hvcLogk6zq1bAoGq7hAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLClassifierRole" guid="Q/lFrbJcNkCa536+8uqQnQAA">
<XPD:ATTR name="Name" type="string">Client</XPD:ATTR>
@@ -4491,7 +4517,7 @@
<XPD:REF name="ReceiverClientMessages[0]">YNloFf1DfUyjYghcwG6U4QAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">FoaSkFBA/02Mggp0qKzwPwAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#Interactions" type="integer">3</XPD:ATTR>
+<XPD:ATTR name="#Interactions" type="integer">4</XPD:ATTR>
<XPD:OBJ name="Interactions[0]" type="UMLInteraction" guid="fifIJoAK40KZS+4Si7RxwwAA">
<XPD:ATTR name="Name" type="string">Interaction1</XPD:ATTR>
<XPD:REF name="Context">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
@@ -6048,17 +6074,17 @@
<XPD:REF name="DiagramOwner">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="W4qnP8rAW0m9LC6Fi94o1AAA">
<XPD:REF name="Diagram">vOjNCfNAAEC264Kln4j7mwAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">12</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">19</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLCombinedFragmentView" guid="cKG6XT+F+kigwwVB+t4WIwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">204</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">140</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">140</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">453</XPD:ATTR>
<XPD:REF name="Model">Z1P+4HPnCE+sOr6ZkLHsYQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="LabelView" guid="sKkJnM3C30CcpWxMS+K6KQAA">
-<XPD:ATTR name="Text" type="string">while card is rejected</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="oig/ht0V6ky75f0urMelpwAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
@@ -6068,10 +6094,10 @@
<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="qrWM7R6ZIUmxshjVjHgLmwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">224</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">120</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">433</XPD:ATTR>
<XPD:REF name="Model">b+hW+yLyS0+PidGpU9AKFQAA</XPD:REF>
<XPD:REF name="ContainerView">cKG6XT+F+kigwwVB+t4WIwAA</XPD:REF>
<XPD:OBJ name="GuardLabel" type="LabelView" guid="L9K1iAzKNEm0pKnU2HSCzAAA">
@@ -6079,43 +6105,56 @@
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[1]" type="UMLCombinedFragmentView" guid="fdBz8Zj7hU61TBT/zlj/YgAA">
+<XPD:OBJ name="OwnedViews[1]" type="UMLCombinedFragmentView" guid="Lisw1w+7QEekiyhBDd+aDwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">420</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">144</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">984</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">224</XPD:ATTR>
-<XPD:REF name="Model">19ZQHbDiy0G6JlGf0Vs8PgAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="LabelView" guid="iC1VETwoX0mqdSt/gahMFgAA">
-<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
+<XPD:ATTR name="Left" type="i...
[truncated message content] |
|
From: <ali...@us...> - 2010-04-20 15:16:27
|
Revision: 120
http://cruce.svn.sourceforge.net/cruce/?rev=120&view=rev
Author: alinposho
Date: 2010-04-20 15:16:19 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
Am adugat diagrama de secventa pentru prima mana de joc.
Modified Paths:
--------------
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Java/trunk/Documentation/FirstHandSequenceDiagram.jpg
Modified: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml 2010-04-20 15:07:45 UTC (rev 119)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-20 15:16:19 UTC (rev 120)
@@ -533,6 +533,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">h561qpBf2Uuicw5jTSMz7QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="FKZeGsdLr06A9ydPalQ9gQAA">
<XPD:ATTR name="Name" type="string">getOverallScore</XPD:ATTR>
@@ -2331,6 +2333,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">WqcGFaOb10iPtw2HujOrQwAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">VMCMuqg3kU+mPPfsXtjKBQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[5]" type="UMLOperation" guid="gxEflo3R7ESY34GCQfparAAA">
<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
@@ -4373,7 +4377,7 @@
<XPD:REF name="Views[3]">1G7sDaodtU2WSskSI7wCrQAA</XPD:REF>
<XPD:REF name="Views[4]">92pA09CP2EyGIiu2QXRc9QAA</XPD:REF>
<XPD:REF name="Views[5]">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">8</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">10</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">8Gs1sAyURUqmghJAC8ZjuwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">2XgFNc3rqU25pV8Hx420ugAA</XPD:REF>
@@ -4382,7 +4386,9 @@
<XPD:REF name="SenderClientMessages[5]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[6]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[7]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">14</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[8]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[9]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">16</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
@@ -4397,6 +4403,8 @@
<XPD:REF name="ReceiverClientMessages[11]">KKE7eqsDeEKw8y5FwGGMpAAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[12]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[13]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[14]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[15]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
@@ -4429,7 +4437,7 @@
<XPD:REF name="Views[3]">pcmo+m+yNUayOtj+aaGryQAA</XPD:REF>
<XPD:REF name="Views[4]">8v+Mloa8Z0uLjnSTCSlsjAAA</XPD:REF>
<XPD:REF name="Views[5]">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">18</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">19</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4448,7 +4456,8 @@
<XPD:REF name="SenderClientMessages[15]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[16]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">11</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[18]">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">12</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4460,6 +4469,7 @@
<XPD:REF name="ReceiverClientMessages[8]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[9]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[10]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[11]">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="MXbsvPpFhU+TYJwa0ZxZwQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
@@ -4468,11 +4478,13 @@
<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
<XPD:REF name="Views[0]">f9OcljLPqkK60NP//MXDkQAA</XPD:REF>
<XPD:REF name="Views[1]">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">2</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">2</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[1]">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[2]">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLClassifierRole" guid="Q/lFrbJcNkCa536+8uqQnQAA">
<XPD:ATTR name="Name" type="string">Client</XPD:ATTR>
@@ -6048,17 +6060,17 @@
<XPD:REF name="DiagramOwner">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="W4qnP8rAW0m9LC6Fi94o1AAA">
<XPD:REF name="Diagram">vOjNCfNAAEC264Kln4j7mwAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">12</XPD:ATTR>
+<XPD:ATTR name="#OwnedViews" type="integer">16</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLCombinedFragmentView" guid="cKG6XT+F+kigwwVB+t4WIwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">204</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">140</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">140</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">377</XPD:ATTR>
<XPD:REF name="Model">Z1P+4HPnCE+sOr6ZkLHsYQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="LabelView" guid="sKkJnM3C30CcpWxMS+K6KQAA">
-<XPD:ATTR name="Text" type="string">while card is rejected</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="oig/ht0V6ky75f0urMelpwAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
@@ -6068,10 +6080,10 @@
<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="qrWM7R6ZIUmxshjVjHgLmwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">224</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">120</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">320</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">1073</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">357</XPD:ATTR>
<XPD:REF name="Model">b+hW+yLyS0+PidGpU9AKFQAA</XPD:REF>
<XPD:REF name="ContainerView">cKG6XT+F+kigwwVB+t4WIwAA</XPD:REF>
<XPD:OBJ name="GuardLabel" type="LabelView" guid="L9K1iAzKNEm0pKnU2HSCzAAA">
@@ -6079,41 +6091,54 @@
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[1]" type="UMLCombinedFragmentView" guid="fdBz8Zj7hU61TBT/zlj/YgAA">
+<XPD:OBJ name="OwnedViews[1]" type="UMLCombinedFragmentView" guid="Lisw1w+7QEekiyhBDd+aDwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">420</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">144</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">984</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">224</XPD:ATTR>
-<XPD:REF name="Model">19ZQHbDiy0G6JlGf0Vs8PgAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="LabelView" guid="iC1VETwoX0mqdSt/gahMFgAA">
-<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">468</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">196</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">872</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">285</XPD:ATTR>
+<XPD:REF name="Model">qMqgddaDTEK17ZGGm+6dgQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="LabelView" guid="xVOTONlNUEyRvWYxjR3knwAA">
+<XPD:ATTR name="Text" type="string">hasAnunt</XPD:ATTR>
</XPD:OBJ>
-<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="a8W4pWpfi0O/fjETvR1DtAAA">
+<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="Wr6P4vcl2EqrDnIxeuJx4AAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">loop</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">opt</XPD:ATTR>
</XPD:OBJ>
-<XPD:ATTR name="#ContainedViews" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="PevgpyUIok6PubXe1pTqngAA">
+<XPD:ATTR name="#ContainedViews" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="mpf6XXAEMEiT/7uBRdc0jwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">420</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">164</XPD:ATTR>
-<XPD:ATTR name="Width" type="integer">984</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">204</XPD:ATTR>
-<XPD:REF name="Model">yrBQZyoNvkikblxbURbmmgAA</XPD:REF>
-<XPD:REF name="ContainerView">fdBz8Zj7hU61TBT/zlj/YgAA</XPD:REF>
-<XPD:OBJ name="GuardLabel" type="LabelView" guid="ex52W4h2dEi25GZ2VfNFwwAA">
+<XPD:ATTR name="Left" type="integer">468</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">216</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">872</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">121</XPD:ATTR>
+<XPD:REF name="Model">pFUC7CQGeEubMUQWrVGmYwAA</XPD:REF>
+<XPD:REF name="ContainerView">Lisw1w+7QEekiyhBDd+aDwAA</XPD:REF>
+<XPD:OBJ name="GuardLabel" type="LabelView" guid="xrI+RUEmhUau2kkDi6hd/wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="ContainedViews[1]" type="UMLInteractionOperandView" guid="Ojk6KXWINU6KnBoGqJ2JyAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">468</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">336</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">872</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">145</XPD:ATTR>
+<XPD:REF name="Model">m+zJd0aOe0OwQhnU/RYslgAA</XPD:REF>
+<XPD:REF name="ContainerView">Lisw1w+7QEekiyhBDd+aDwAA</XPD:REF>
+<XPD:OBJ name="GuardLabel" type="LabelView" guid="KQHIk9RigEmWGq+nV2t2FwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
<XPD:OBJ name="OwnedViews[2]" type="UMLSeqClassifierRoleView" guid="92pA09CP2EyGIiu2QXRc9QAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">852</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">52</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">192</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">533</XPD:ATTR>
<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
@@ -6160,8 +6185,8 @@
<XPD:OBJ name="OwnedViews[4]" type="UMLSeqClassifierRoleView" guid="f9OcljLPqkK60NP//MXDkQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">556</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">56</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">508</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">159</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">541</XPD:ATTR>
<XPD:REF name="Model">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
@@ -6257,7 +6282,7 @@
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">941,172;641,172</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">941,172;593,172</XPD:ATTR>
<XPD:REF name="Model">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6283,24 +6308,170 @@
<XPD:REF name="HostEdge">2RUeZlIFHE+t8SGyjSJFhQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="qNDA4Ih8uka8kmvenjkrZAAA">
-<XPD:ATTR name="Left" type="integer">628</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">172</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">253</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">329</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[8]" type="UMLSeqMessageView" guid="Dx09ZykeCkuZq3aAIk4mogAA">
+<XPD:OBJ name="OwnedViews[8]" type="UMLSeqMessageView" guid="wXvbk2Q/4UWV2zdX2LVjIAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">641,235;948,235</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,224;948,224</XPD:ATTR>
+<XPD:REF name="Model">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="5ZirCPr7rky5GiTUJz7pmAAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string"> *[while return == false] : acceptCard(sender, card, anunt: int): boolean</XPD:ATTR>
+<XPD:REF name="Model">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="HostEdge">wXvbk2Q/4UWV2zdX2LVjIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="Tg5KyErjNU6HBj/65GKTQQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="HostEdge">wXvbk2Q/4UWV2zdX2LVjIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="ms2/nu4YnU6rHsLJDzO2VgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="HostEdge">wXvbk2Q/4UWV2zdX2LVjIAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="nYsmQ+0SW0WesHq5yfMW0wAA">
+<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">224</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">60</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[9]" type="UMLSeqMessageView" guid="Io00eJ0pdU+6t3VWpOuTFQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">961,232;1269,232</XPD:ATTR>
+<XPD:REF name="Model">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="pIM8ZVo8YEu0w6bHADRVkAAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">acceptCard(card: Card, anunt: int): boolean</XPD:ATTR>
+<XPD:REF name="Model">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="HostEdge">Io00eJ0pdU+6t3VWpOuTFQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="wydsbF/nv0mqZNMetKXpqgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="HostEdge">Io00eJ0pdU+6t3VWpOuTFQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="He7EQ6p4Ek6LnukMoctyLAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="HostEdge">Io00eJ0pdU+6t3VWpOuTFQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="lsRsj0uK4Em1CUrQn8WH1wAA">
+<XPD:ATTR name="Left" type="integer">1269</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">232</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[10]" type="UMLSeqMessageView" guid="Cend7JYBDkqC2BZlPNLlggAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1269,252;961,252</XPD:ATTR>
+<XPD:REF name="Model">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="FXBbGAnA10+EppqpiEp8bgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="HostEdge">Cend7JYBDkqC2BZlPNLlggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="F9a2r72YTE6woosnB4e31AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="HostEdge">Cend7JYBDkqC2BZlPNLlggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="oXx2J2IIh0OpHfhHRPM4HwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+<XPD:REF name="HostEdge">Cend7JYBDkqC2BZlPNLlggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="80lJBx4xL0ifa4oWjRvmUgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">252</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[11]" type="UMLSeqMessageView" guid="HA6Wp1yutUaVpkqLJ2qZ9AAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">948,268;593,268</XPD:ATTR>
+<XPD:REF name="Model">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ncl5twhUlkava7ch9j/9RAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="HostEdge">HA6Wp1yutUaVpkqLJ2qZ9AAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="wCsh2vHhVU2qV9yApADJEAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:REF name="Model">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="HostEdge">HA6Wp1yutUaVpkqLJ2qZ9AAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="gMf+1O1n6U+i+UGTgSSjxwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:REF name="Model">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+<XPD:REF name="HostEdge">HA6Wp1yutUaVpkqLJ2qZ9AAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="xiu6xMtg2UKgsxaHSV+/0QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">268</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[12]" type="UMLSeqMessageView" guid="Dx09ZykeCkuZq3aAIk4mogAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">593,371;948,371</XPD:ATTR>
<XPD:REF name="Model">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="GWvJFf2swUWTlOj995ZB9QAA">
<XPD:ATTR name="Alpha" type="real">-4.63561720023105</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">13.0384048104053</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">acceptCard(sender, card): boolean</XPD:ATTR>
+<XPD:ATTR name="Text" type="string"> *[while return==false] : acceptCard(sender, card): boolean</XPD:ATTR>
<XPD:REF name="Model">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="HostEdge">Dx09ZykeCkuZq3aAIk4mogAA</XPD:REF>
</XPD:OBJ>
@@ -6320,16 +6491,16 @@
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="eKYQDVBd+Eit3VQOIhnFAwAA">
<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">235</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">371</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">70</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[9]" type="UMLSeqMessageView" guid="13U+rwucbUq+wqHs72ygJAAA">
+<XPD:OBJ name="OwnedViews[13]" type="UMLSeqMessageView" guid="13U+rwucbUq+wqHs72ygJAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">961,244;1269,244</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">961,396;1269,396</XPD:ATTR>
<XPD:REF name="Model">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
@@ -6356,88 +6527,88 @@
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="h2mYW1jdxUK6x5JUQ821TQAA">
<XPD:ATTR name="Left" type="integer">1269</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">244</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">396</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">41</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[10]" type="UMLSeqMessageView" guid="WTaxANiq3UyLWkhiBYzZuwAA">
+<XPD:OBJ name="OwnedViews[14]" type="UMLSeqMessageView" guid="EIUlMF6xHUK3hs/GKofqswAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">1269,279;961,279</XPD:ATTR>
-<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="XiAyyiDKeEaRXT9PVLhiDwAA">
+<XPD:ATTR name="Points" type="Points">948,423;593,423</XPD:ATTR>
+<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="yOBH/3Ld8UmTq4/NJ31NgwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
+<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="bzjIYabdH0WjNQ/k9L5avQAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="hutUgJj5iE2KXQ8mom+negAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
+<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="GD1//F4X3kWQLM6EOwD3fAAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="fbIOESDaA0uWfCTL+nwqKQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
-<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
+<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="RJfp6csq+kGs3nxeWExVJgAA">
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="RbL4EdKMTEe3+9vVchNczAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">279</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">580</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">423</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[11]" type="UMLSeqMessageView" guid="EIUlMF6xHUK3hs/GKofqswAA">
+<XPD:OBJ name="OwnedViews[15]" type="UMLSeqMessageView" guid="WTaxANiq3UyLWkhiBYzZuwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">948,288;641,288</XPD:ATTR>
-<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
-<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="yOBH/3Ld8UmTq4/NJ31NgwAA">
+<XPD:ATTR name="Points" type="Points">1269,427;961,427</XPD:ATTR>
+<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="XiAyyiDKeEaRXT9PVLhiDwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
+<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="hutUgJj5iE2KXQ8mom+negAA">
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="bzjIYabdH0WjNQ/k9L5avQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
-<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
+<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="fbIOESDaA0uWfCTL+nwqKQAA">
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="GD1//F4X3kWQLM6EOwD3fAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
-<XPD:REF name="Model">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-<XPD:REF name="HostEdge">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
+<XPD:REF name="Model">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:REF name="HostEdge">WTaxANiq3UyLWkhiBYzZuwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Activation" type="UMLActivationView" guid="RbL4EdKMTEe3+9vVchNczAAA">
+<XPD:OBJ name="Activation" type="UMLActivationView" guid="RJfp6csq+kGs3nxeWExVJgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">628</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">288</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">948</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">427</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">29</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:ATTR name="#Messages" type="integer">7</XPD:ATTR>
+<XPD:ATTR name="#Messages" type="integer">11</XPD:ATTR>
<XPD:OBJ name="Messages[0]" type="UMLMessage" guid="ICHy1MhfOkCGdtWzBjdvdwAA">
<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -6480,10 +6651,66 @@
<XPD:REF name="Views[2]">f3pN1jf/AUqmzjWsMoPGUQAA</XPD:REF>
<XPD:REF name="Views[3]">DzBqofNqbEKIKCum+k9Q7AAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[3]" type="UMLMessage" guid="acTSSGlZFUOIaDRAjGucMQAA">
+<XPD:OBJ name="Messages[3]" type="UMLMessage" guid="25fCbkijL0qQoZBc1e25mQAA">
+<XPD:ATTR name="Iteration" type="string">while return == false</XPD:ATTR>
<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:REF name="Sender">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="h561qpBf2Uuicw5jTSMz7QAA">
+<XPD:REF name="Message">25fCbkijL0qQoZBc1e25mQAA</XPD:REF>
+<XPD:REF name="Operation">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">wXvbk2Q/4UWV2zdX2LVjIAAA</XPD:REF>
+<XPD:REF name="Views[1]">5ZirCPr7rky5GiTUJz7pmAAA</XPD:REF>
+<XPD:REF name="Views[2]">Tg5KyErjNU6HBj/65GKTQQAA</XPD:REF>
+<XPD:REF name="Views[3]">ms2/nu4YnU6rHsLJDzO2VgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[4]" type="UMLMessage" guid="+UNo6rk8g0ikF3suk5DquAAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLCallAction" guid="VMCMuqg3kU+mPPfsXtjKBQAA">
+<XPD:REF name="Message">+UNo6rk8g0ikF3suk5DquAAA</XPD:REF>
+<XPD:REF name="Operation">WqcGFaOb10iPtw2HujOrQwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">Io00eJ0pdU+6t3VWpOuTFQAA</XPD:REF>
+<XPD:REF name="Views[1]">pIM8ZVo8YEu0w6bHADRVkAAA</XPD:REF>
+<XPD:REF name="Views[2]">wydsbF/nv0mqZNMetKXpqgAA</XPD:REF>
+<XPD:REF name="Views[3]">He7EQ6p4Ek6LnukMoctyLAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[5]" type="UMLMessage" guid="E0DUsqlXNEy8iItTJGITTwAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLReturnAction" guid="nPywhau1sECx9W1B23IDBQAA">
+<XPD:REF name="Message">E0DUsqlXNEy8iItTJGITTwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">Cend7JYBDkqC2BZlPNLlggAA</XPD:REF>
+<XPD:REF name="Views[1]">FXBbGAnA10+EppqpiEp8bgAA</XPD:REF>
+<XPD:REF name="Views[2]">F9a2r72YTE6woosnB4e31AAA</XPD:REF>
+<XPD:REF name="Views[3]">oXx2J2IIh0OpHfhHRPM4HwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[6]" type="UMLMessage" guid="WZMP8xW6G0uDBqEAulwZOwAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLReturnAction" guid="hm3+7DNjn0uzdQYrK5+3OQAA">
+<XPD:REF name="Message">WZMP8xW6G0uDBqEAulwZOwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">HA6Wp1yutUaVpkqLJ2qZ9AAA</XPD:REF>
+<XPD:REF name="Views[1]">ncl5twhUlkava7ch9j/9RAAA</XPD:REF>
+<XPD:REF name="Views[2]">wCsh2vHhVU2qV9yApADJEAAA</XPD:REF>
+<XPD:REF name="Views[3]">gMf+1O1n6U+i+UGTgSSjxwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[7]" type="UMLMessage" guid="acTSSGlZFUOIaDRAjGucMQAA">
+<XPD:ATTR name="Iteration" type="string">while return==false</XPD:ATTR>
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="NrrbOpFiMkK3t1QjcvRHtQAA">
<XPD:REF name="Message">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
<XPD:REF name="Operation">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
@@ -6494,7 +6721,7 @@
<XPD:REF name="Views[2]">gDmph3JROEGD5DzXkDbl9gAA</XPD:REF>
<XPD:REF name="Views[3]">k/a9MR0Q5ESTDEzubR3vHwAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[4]" type="UMLMessage" guid="VrbvlzAjFkK5SlFwczRENwAA">
+<XPD:OBJ name="Messages[8]" type="UMLMessage" guid="VrbvlzAjFkK5SlFwczRENwAA">
<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
<XPD:REF name="Receiver">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -6508,8 +6735,21 @@
<XPD:REF name="Views[2]">k+AB2RJFIkmBvXhiE2JeOQAA</XPD:REF>
<XPD:REF name="Views[3]">tGtM6dVuDEioX06HAo7/0QAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[5]" type="UMLMessage" guid="XEPX1Wy7jUy5pfMibOtxDQAA">
+<XPD:OBJ name="Messages[9]" type="UMLMessage" guid="cB4YyYSFb0WTnnerL30V8gAA">
<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
+<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+<XPD:OBJ name="Action" type="UMLReturnAction" guid="M+12CmSrZUCO7K+oHgUdLwAA">
+<XPD:REF name="Message">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
+<XPD:REF name="Views[1]">yOBH/3Ld8UmTq4/NJ31NgwAA</XPD:REF>
+<XPD:REF name="Views[2]">hutUgJj5iE2KXQ8mom+negAA</XPD:REF>
+<XPD:REF name="Views[3]">fbIOESDaA0uWfCTL+nwqKQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Messages[10]" type="UMLMessage" guid="XEPX1Wy7jUy5pfMibOtxDQAA">
+<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:REF name="Sender">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
<XPD:REF name="Receiver">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLReturnAction" guid="55i3Ct6Lg0mR6Ya8MymrDgAA">
@@ -6521,27 +6761,14 @@
<XPD:REF name="Views[2]">bzjIYabdH0WjNQ/k9L5avQAA</XPD:REF>
<XPD:REF name="Views[3]">GD1//F4X3kWQLM6EOwD3fAAA</XPD:REF>
</XPD:OBJ>
-<XPD:OBJ name="Messages[6]" type="UMLMessage" guid="cB4YyYSFb0WTnnerL30V8gAA">
-<XPD:REF name="Interaction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
-<XPD:REF name="Sender">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
-<XPD:REF name="Receiver">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
-<XPD:OBJ name="Action" type="UMLReturnAction" guid="M+12CmSrZUCO7K+oHgUdLwAA">
-<XPD:REF name="Message">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
-<XPD:REF name="Views[0]">EIUlMF6xHUK3hs/GKofqswAA</XPD:REF>
-<XPD:REF name="Views[1]">yOBH/3Ld8UmTq4/NJ31NgwAA</XPD:REF>
-<XPD:REF name="Views[2]">hutUgJj5iE2KXQ8mom+negAA</XPD:REF>
-<XPD:REF name="Views[3]">fbIOESDaA0uWfCTL+nwqKQAA</XPD:REF>
-</XPD:OBJ>
-<XPD:ATTR name="#Fragments" type="integer">4</XPD:ATTR>
+<XPD:ATTR name="#Fragments" type="integer">5</XPD:ATTR>
<XPD:OBJ name="Fragments[0]" type="UMLCombinedFragment" guid="qa5k1RpUik6VKsl5NVLc3AAA">
<XPD:ATTR name="Name" type="string">CombinedFragment1</XPD:ATTR>
<XPD:ATTR name="InteractionOperator" type="UMLInteractionOperatorKind">iokSeq</XPD:ATTR>
<XPD:REF name="EnclosingInteraction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Fragments[1]" type="UMLCombinedFragment" guid="Z1P+4HPnCE+sOr6ZkLHsYQAA">
-<XPD:ATTR name="Name" type="string">while card is rejected</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">foreach player</XPD:ATTR>
<XPD:ATTR name="InteractionOperator" type="UMLInteractionOperatorKind">iokLoop</XPD:ATTR>
<XPD:REF name="EnclosingInteraction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">1</XPD:ATTR>
@@ -6563,15 +6790,25 @@
<XPD:ATTR name="Name" type="string">foreach player</XPD:ATTR>
<XPD:ATTR name="InteractionOperator" type="UMLInteractionOperatorKind">iokLoop</XPD:ATTR>
<XPD:REF name="EnclosingInteraction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Fragments[4]" type="UMLCombinedFragment" guid="qMqgddaDTEK17ZGGm+6dgQAA">
+<XPD:ATTR name="Name" type="string">hasAnunt</XPD:ATTR>
+<XPD:ATTR name="InteractionOperator" type="UMLInteractionOperatorKind">iokOpt</XPD:ATTR>
+<XPD:REF name="EnclosingInteraction">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">1</XPD:ATTR>
-<XPD:REF name="Views[0]">fdBz8Zj7hU61TBT/zlj/YgAA</XPD:REF>
-<XPD:ATTR name="#Operands" type="integer">1</XPD:ATTR>
-<XPD:OBJ name="Operands[0]" type="UMLInteractionOperand" guid="yrBQZyoNvkikblxbURbmmgAA">
+<XPD:REF name="Views[0]">Lisw1w+7QEekiyhBDd+aDwAA</XPD:REF>
+<XPD:ATTR name="#Operands" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Operands[0]" type="UMLInteractionOperand" guid="pFUC7CQGeEubMUQWrVGmYwAA">
<XPD:ATTR name="Name" type="string">InteractionOperand1</XPD:ATTR>
-<XPD:REF name="CombinedFragment">19ZQHbDiy0G6JlGf0Vs8PgAA</XPD:REF>
+<XPD:REF name="CombinedFragment">qMqgddaDTEK17ZGGm+6dgQAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">1</XPD:ATTR>
-<XPD:REF name="Views[0]">PevgpyUIok6PubXe1pTqngAA</XPD:REF>
+<XPD:REF name="Views[0]">mpf6XXAEMEiT/7uBRdc0jwAA</XPD:REF>
</XPD:OBJ>
+<XPD:OBJ name="Operands[1]" type="UMLInteractionOperand" guid="m+zJd0aOe0OwQhnU/RYslgAA">
+<XPD:ATTR name="Name" type="string">InteractionOperand2</XPD:ATTR>
+<XPD:REF name="CombinedFragment">qMqgddaDTEK17ZGGm+6dgQAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">1</XPD:ATTR>
+<XPD:REF name="Views[0]">Ojk6KXWINU6KnBoGqJ2JyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
@@ -6580,6 +6817,7 @@
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
+</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLModel" guid="2Oy5BqH90kOGatzD/g8kjgAA">
<XPD:ATTR name="Name" type="string">Implementation Model</XPD:ATTR>
<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
Modified: Java/trunk/Documentation/CruceUML.~ml
===================================================================
--- Java/trunk/Documentation/CruceUML.~ml 2010-04-20 15:07:45 UTC (rev 119)
+++ Java/trunk/Documentation/CruceUML.~ml 2010-04-20 15:16:19 UTC (rev 120)
@@ -498,6 +498,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">NrrbOpFiMkK3t1QjcvRHtQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="c4sLVGFz+USz5QnW4pPxKQAA">
<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
@@ -740,6 +742,8 @@
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="RWYDbjzQCUCzbhhEY+oM4wAA">
<XPD:ATTR name="Name" type="string">hit</XPD:ATTR>
<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">j4TnJuqDbEKh+T8CnMhtywAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="Q8m3CNT4M0yqRMWFuehlvAAA">
<XPD:ATTR name="Name" type="string">receiveCards</XPD:ATTR>
@@ -808,7 +812,7 @@
</XPD:OBJ>
<XPD:ATTR name="#TypedParameters" type="integer">1</XPD:ATTR>
<XPD:REF name="TypedParameters[0]">ff1gB0qey0KULqg21s8rFQAA</XPD:REF>
-<XPD:ATTR name="#ClassifierRoles" type="integer">9</XPD:ATTR>
+<XPD:ATTR name="#ClassifierRoles" type="integer">10</XPD:ATTR>
<XPD:REF name="ClassifierRoles[0]">HjsJ+5sDT0iKB0KIAPcrEwAA</XPD:REF>
<XPD:REF name="ClassifierRoles[1]">ef3QdpXPrEO59nf5jGKOZQAA</XPD:REF>
<XPD:REF name="ClassifierRoles[2]">J6zbKtsqIEOC/qw/vW/+PgAA</XPD:REF>
@@ -818,6 +822,7 @@
<XPD:REF name="ClassifierRoles[6]">XeRrhW0610qXtOdOzzQeKgAA</XPD:REF>
<XPD:REF name="ClassifierRoles[7]">YtF4pJFHWUSmPFcLj5apuQAA</XPD:REF>
<XPD:REF name="ClassifierRoles[8]">aBOdevMZQEyrQpn6oWB+UQAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[9]">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="IWEbkzrl+UGk52i1p3l1ZAAA">
<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
@@ -1665,7 +1670,7 @@
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:ATTR name="#OwnedElements" type="integer">18</XPD:ATTR>
+<XPD:ATTR name="#OwnedElements" type="integer">19</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="a83abkIYaU+vlHnAyrcY/gAA">
<XPD:ATTR name="Name" type="string">ServerImplementation</XPD:ATTR>
<XPD:REF name="Namespace">/0saAPWBq0W9yCgX1HQkyQAA</XPD:REF>
@@ -2098,8 +2103,6 @@
<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
<XPD:REF name="Owner">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
</XPD:OBJ>
-<XPD:ATTR name="#ClassifierRoles" type="integer">1</XPD:ATTR>
-<XPD:REF name="ClassifierRoles[0]">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="t/7wYUYuPUKOVRDwJtQ+0QAA">
<XPD:REF name="Namespace">/0saAPWBq0W9yCgX1HQkyQAA</XPD:REF>
@@ -2345,6 +2348,8 @@
<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
<XPD:REF name="BehavioralFeature">gxEflo3R7ESY34GCQfparAAA</XPD:REF>
</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">72Ggg9O3u0WdXWiQe95qfgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[6]" type="UMLOperation" guid="J/k6VMOl9EqhoIIhfOqivAAA">
<XPD:ATTR name="Name" type="string">startBid</XPD:ATTR>
@@ -2529,6 +2534,10 @@
<XPD:REF name="Participant">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[18]" type="UMLClass" guid="i/0a9GzFdUCa1UnxdYs5FAAA">
+<XPD:ATTR name="Name" type="string">ClientInterface</XPD:ATTR>
+<XPD:REF name="Namespace">/0saAPWBq0W9yCgX1HQkyQAA</XPD:REF>
+</XPD:OBJ>
<XPD:ATTR name="#OwnedCollaborations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="OwnedCollaborations[0]" type="UMLCollaboration" guid="SxLzU+AVx0KyP9J5FGbzpAAA">
<XPD:ATTR name="Name" type="string">JoinGameCollaboration</XPD:ATTR>
@@ -4364,13 +4373,16 @@
<XPD:REF name="Views[3]">1G7sDaodtU2WSskSI7wCrQAA</XPD:REF>
<XPD:REF name="Views[4]">92pA09CP2EyGIiu2QXRc9QAA</XPD:REF>
<XPD:REF name="Views[5]">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">5</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">8</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">8Gs1sAyURUqmghJAC8ZjuwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">2XgFNc3rqU25pV8Hx420ugAA</XPD:REF>
<XPD:REF name="SenderClientMessages[3]">YNloFf1DfUyjYghcwG6U4QAA</XPD:REF>
<XPD:REF name="SenderClientMessages[4]">FoaSkFBA/02Mggp0qKzwPwAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">12</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[5]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[6]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
+<XPD:REF name="SenderClientMessages[7]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">14</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7ZCcW5dBwk+V0X3n1n6KqQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">zS1as51FjUS4ge4+snDdGAAA</XPD:REF>
@@ -4383,6 +4395,8 @@
<XPD:REF name="ReceiverClientMessages[9]">JU/CF46JSESOgc7UXCc/6gAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[10]">itu0v//9w0Gk1ffOZXlG/QAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[11]">KKE7eqsDeEKw8y5FwGGMpAAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[12]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[13]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="ycsxS83MR0qi7+TXcwklZwAA">
<XPD:ATTR name="Name" type="string">gameLogic</XPD:ATTR>
@@ -4415,7 +4429,7 @@
<XPD:REF name="Views[3]">pcmo+m+yNUayOtj+aaGryQAA</XPD:REF>
<XPD:REF name="Views[4]">8v+Mloa8Z0uLjnSTCSlsjAAA</XPD:REF>
<XPD:REF name="Views[5]">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
-<XPD:ATTR name="#SenderClientMessages" type="integer">17</XPD:ATTR>
+<XPD:ATTR name="#SenderClientMessages" type="integer">18</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">IrVpuYVWUEOJlzmhapgn7gAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4433,7 +4447,8 @@
<XPD:REF name="SenderClientMessages[14]">gGf78C3wLEyMIAULNrr/TwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[15]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[16]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
-<XPD:ATTR name="#ReceiverClientMessages" type="integer">10</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[17]">XEPX1Wy7jUy5pfMibOtxDQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">11</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">7Z1AvWyr6k2Jc5dFZftmRwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">aqkCCAnibUqM7ZVfPFGjUwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">YZSWZSoOB0CxLA9xyU3JEQAA</XPD:REF>
@@ -4444,14 +4459,20 @@
<XPD:REF name="ReceiverClientMessages[7]">9QouW+W9zE+rvRkDPfoc5QAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[8]">hEUTOTDlnkmCeu2S9vmQcgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[9]">qA0qZkeGpUCgR06kFHqN4wAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[10]">VrbvlzAjFkK5SlFwczRENwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="MXbsvPpFhU+TYJwa0ZxZwQAA">
<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
<XPD:REF name="Namespace">0mpStT+S70uwc+t7hUchEAAA</XPD:REF>
-<XPD:REF name="Base">S+jtztbEe0Ol5wbT0/mKlAAA</XPD:REF>
+<XPD:REF name="Base">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">2</XPD:ATTR>
<XPD:REF name="Views[0]">f9OcljLPqkK60NP//MXDkQAA</XPD:REF>
<XPD:REF name="Views[1]">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:ATTR name="#SenderClientMessages" type="integer">1</XPD:ATTR>
+<XPD:REF name="SenderClientMessages[0]">acTSSGlZFUOIaDRAjGucMQAA</XPD:REF>
+<XPD:ATTR name="#ReceiverClientMessages" type="integer">2</XPD:ATTR>
+<XPD:REF name="ReceiverClientMessages[0]">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
+<XPD:REF name="ReceiverClientMessages[1]">cB4YyYSFb0WTnnerL30V8gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLClassifierRole" guid="Q/lFrbJcNkCa536+8uqQnQAA">
<XPD:ATTR name="Name" type="string">Client</XPD:ATTR>
@@ -6027,12 +6048,72 @@
<XPD:REF name="DiagramOwner">m+S7A5TCQ0SgJrpGmZmtJAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLSequenceRoleDiagramView" guid="W4qnP8rAW0m9LC6Fi94o1AAA">
<XPD:REF name="Diagram">vOjNCfNAAEC264Kln4j7mwAA</XPD:REF>
-<XPD:ATTR name="#OwnedViews" type="integer">5</XPD:ATTR>
-<XPD:OBJ name="OwnedViews[0]" type="UMLSeqClassifierRoleView" guid="92pA09CP2EyGIiu2QXRc9QAA">
+<XPD:ATTR name="#OwnedViews" type="integer">12</XPD:ATTR>
+<XPD:OBJ name="OwnedViews[0]" type="UMLCombinedFragmentView" guid="cKG6XT+F+kigwwVB+t4WIwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">184</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">124</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">204</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">140</XPD:ATTR>
+<XPD:REF name="Model">Z1P+4HPnCE+sOr6ZkLHsYQAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="LabelView" guid="sKkJnM3C30CcpWxMS+K6KQAA">
+<XPD:ATTR name="Text" type="string">while card is rejected</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="oig/ht0V6ky75f0urMelpwAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">loop</XPD:ATTR>
+</XPD:OBJ>
+<XPD:ATTR name="#ContainedViews" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="qrWM7R6ZIUmxshjVjHgLmwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">492</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">224</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">888</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">120</XPD:ATTR>
+<XPD:REF name="Model">b+hW+yLyS0+PidGpU9AKFQAA</XPD:REF>
+<XPD:REF name="ContainerView">cKG6XT+F+kigwwVB+t4WIwAA</XPD:REF>
+<XPD:OBJ name="GuardLabel" type="LabelView" guid="L9K1iAzKNEm0pKnU2HSCzAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[1]" type="UMLCombinedFragmentView" guid="fdBz8Zj7hU61TBT/zlj/YgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">420</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">144</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">984</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">224</XPD:ATTR>
+<XPD:REF name="Model">19ZQHbDiy0G6JlGf0Vs8PgAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="LabelView" guid="iC1VETwoX0mqdSt/gahMFgAA">
+<XPD:ATTR name="Text" type="string">foreach player</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="FrameTypeLabel" type="LabelView" guid="a8W4pWpfi0O/fjETvR1DtAAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">loop</XPD:ATTR>
+</XPD:OBJ>
+<XPD:ATTR name="#ContainedViews" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="ContainedViews[0]" type="UMLInteractionOperandView" guid="PevgpyUIok6PubXe1pTqngAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">420</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">164</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">984</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">204</XPD:ATTR>
+<XPD:REF name="Model">yrBQZyoNvkikblxbURbmmgAA</XPD:REF>
+<XPD:REF name="ContainerView">fdBz8Zj7hU61TBT/zlj/YgAA</XPD:REF>
+<XPD:OBJ name="GuardLabel" type="LabelView" guid="ex52W4h2dEi25GZ2VfNFwwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[2]" type="UMLSeqClassifierRoleView" guid="92pA09CP2EyGIiu2QXRc9QAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">852</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">52</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">192</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">533</XPD:ATTR>
<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
@@ -6052,11 +6133,11 @@
<XPD:REF name="Model">OcIpkmVFrU2lcBZ/i61U9gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[1]" type="UMLSeqClassifierRoleView" guid="8v+Mloa8Z0uLjnSTCSlsjAAA">
+<XPD:OBJ name="OwnedViews[3]" type="UMLSeqClassifierRoleView" guid="8v+Mloa8Z0uLjnSTCSlsjAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">684</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">124</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1192</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">52</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">155</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">609</XPD:ATTR>
<XPD:REF name="Model">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
@@ -6076,18 +6157,18 @@
<XPD:REF name="Model">1b7H7m+kXk+pgSWFVzBl5gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[2]" type="UMLSeqClassifierRoleView" guid="f9OcljLPqkK60NP//MXDkQAA">
+<XPD:OBJ name="OwnedViews[4]" type="UMLSeqClassifierRoleView" guid="f9OcljLPqkK60NP//MXDkQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
-<XPD:ATTR name="Left" type="integer">1092</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">184</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">556</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">56</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">159</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">350</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">541</XPD:ATTR>
<XPD:REF name="Model">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="YQix82qMRk6Dcsk8c67N1QAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="ZY59bGEzkUmyYU7vlla0fAAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
-<XPD:ATTR name="Text" type="string">/player : ServerSidePlayer</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">/player : ClientInterface</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="izJb/OFXWkmLc0AbSEJgsgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
@@ -6100,11 +6181,11 @@
<XPD:REF name="Model">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[3]" type="UMLSeqMessageView" guid="u5RGyB76EU2MPiPoqL+9rgAA">
+<XPD:OBJ name="OwnedViews[5]" type="UMLSeqMessageView" guid="u5RGyB76EU2MPiPoqL+9rgAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">761,200;791,200;791,220;767,220</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1269,111;1299,111;1299,131;1275,131</XPD:ATTR>
<XPD:REF name="Model">ICHy1MhfOkCGdtWzBjdvdwAA</XPD:REF>
<XPD:REF name="Head">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6130,17 +6211,17 @@
<XPD:REF name="HostEdge">u5RGyB76EU2MPiPoqL+9rgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="uSgJ/JLuvUSG0v/Dnp2rPgAA">
-<XPD:ATTR name="Left" type="integer">754</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">220</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1262</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">131</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
-<XPD:ATTR name="Height" type="integer">97</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">397</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
-<XPD:OBJ name="OwnedViews[4]" type="UMLSeqMessageView" guid="b3R45eXuwU2/kM7KNP4iCAAA">
+<XPD:OBJ name="OwnedViews[6]" type="UMLSeqMessageView" guid="b3R45eXuwU2/kM7KNP4iCAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
-<XPD:ATTR name="Points" type="Points">754,228;286,228</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">1262,160;954,160</XPD:ATTR>
<XPD:REF name="Model">S7SXU+cAhEmV5zMKIUVmygAA</XPD:REF>
<XPD:REF name="Head">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
<XPD:REF name="Tail">vde9BDl1mkWgGAOJWJf+2wAA</XPD:REF>
@@ -6166,15 +6247,197 @@
<XPD:REF name="HostEdge">b3R45eXuwU2/kM7KNP4iCAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Activation" type="UMLActivationView" guid="Mg6mtkB11EuhnA5axF3vOgAA">
-<XPD:ATTR name="Left" type="integer">273</XPD:ATTR>
-<XPD:ATTR name="Top" type="integer">228</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">941</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">14</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">357</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[7]" type="UMLSeqMessageView" guid="2RUeZlIFHE+t8SGyjSJFhQAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">941,172;641,172</XPD:ATTR>
+<XPD:REF name="Model">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
+<XPD:REF name="Head">J1WjLU8LSk2zQ7RQBz54bQAA</XPD:REF>
+<XPD:REF name="Tail">ai0WNAgCNUaZzSSqDb2jswAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="RROrS6ajgkaB+ql4a/LpeQAA">
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">10</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">hit(): void</XPD:ATTR>
+<XPD:REF name="Model">HepcYGg5hkOcg17Cq43QYwAA</XPD:REF>
+<XPD:REF name="HostEdge">2RUeZlIFHE+t8SGyjSJFhQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="f3pN1jf/AUqmzjWsMoPGUQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:AT...
[truncated message content] |
|
From: <ali...@us...> - 2010-04-20 15:07:52
|
Revision: 119
http://cruce.svn.sourceforge.net/cruce/?rev=119&view=rev
Author: alinposho
Date: 2010-04-20 15:07:45 +0000 (Tue, 20 Apr 2010)
Log Message:
-----------
Am adaugat si proiectul din StarUML pentru a putea si voi modifica diagramele facute de mine.
Added Paths:
-----------
Java/trunk/Documentation/CruceUML.uml
Java/trunk/Documentation/CruceUML.~ml
Added: Java/trunk/Documentation/CruceUML.uml
===================================================================
--- Java/trunk/Documentation/CruceUML.uml (rev 0)
+++ Java/trunk/Documentation/CruceUML.uml 2010-04-20 15:07:45 UTC (rev 119)
@@ -0,0 +1,6613 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XPD:PROJECT xmlns:XPD="http://www.staruml.com" version="1">
+<XPD:HEADER>
+<XPD:SUBUNITS>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="1">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (java).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="2">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (javax).unt</XPD:UNIT>
+<XPD:UNIT owner="tAIggzSJEkO/wUvTETnc/AAA" index="3">C:\Program Files (x86)\StarUML\modules\staruml-java\frameworks\j2se1.3\J2SE13 (org).unt</XPD:UNIT>
+</XPD:SUBUNITS>
+<XPD:PROFILES>
+<XPD:PROFILE>UMLStandard</XPD:PROFILE>
+</XPD:PROFILES>
+</XPD:HEADER>
+<XPD:BODY>
+<XPD:OBJ name="DocumentElement" type="UMLProject" guid="M1Igwjsua0upfcs6CtfdEwAA">
+<XPD:ATTR name="Title" type="string">Untitled</XPD:ATTR>
+<XPD:ATTR name="#OwnedElements" type="integer">5</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLModel" guid="exOveq44LkKT+L11XUi5WQAA">
+<XPD:ATTR name="Name" type="string">Use Case Model</XPD:ATTR>
+<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
+<XPD:ATTR name="StereotypeName" type="string">useCaseModel</XPD:ATTR>
+<XPD:REF name="Namespace">M1Igwjsua0upfcs6CtfdEwAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLUseCaseDiagram" guid="+vMssolR3EumZRqJoaokkAAA">
+<XPD:ATTR name="Name" type="string">Main</XPD:ATTR>
+<XPD:REF name="DiagramOwner">exOveq44LkKT+L11XUi5WQAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLUseCaseDiagramView" guid="inqrlnrEREGEBbJeV+zEBwAA">
+<XPD:REF name="Diagram">+vMssolR3EumZRqJoaokkAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[1]" type="UMLModel" guid="rnzP46FPlEWL0LEd0bXIfgAA">
+<XPD:ATTR name="Name" type="string">Analysis Model</XPD:ATTR>
+<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
+<XPD:ATTR name="StereotypeName" type="string">analysisModel</XPD:ATTR>
+<XPD:REF name="Namespace">M1Igwjsua0upfcs6CtfdEwAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="sb/ojIBAxEKua8//MjC/WgAA">
+<XPD:ATTR name="Name" type="string">Main</XPD:ATTR>
+<XPD:ATTR name="DefaultDiagram" type="boolean">True</XPD:ATTR>
+<XPD:ATTR name="DiagramType" type="string">RobustnessDiagram</XPD:ATTR>
+<XPD:REF name="DiagramOwner">rnzP46FPlEWL0LEd0bXIfgAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="qEq+Fwswd0a/xj/BYQFrNgAA">
+<XPD:REF name="Diagram">sb/ojIBAxEKua8//MjC/WgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[2]" type="UMLModel" guid="tAIggzSJEkO/wUvTETnc/AAA">
+<XPD:ATTR name="Name" type="string">Design Model</XPD:ATTR>
+<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
+<XPD:ATTR name="StereotypeName" type="string">designModel</XPD:ATTR>
+<XPD:REF name="Namespace">M1Igwjsua0upfcs6CtfdEwAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="Exa6XOxOCkigEvOEzr7ojQAA">
+<XPD:ATTR name="Name" type="string">Main</XPD:ATTR>
+<XPD:ATTR name="DefaultDiagram" type="boolean">True</XPD:ATTR>
+<XPD:REF name="DiagramOwner">tAIggzSJEkO/wUvTETnc/AAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="47Hv4aMG5EuerGGqgT9w4AAA">
+<XPD:REF name="Diagram">Exa6XOxOCkigEvOEzr7ojQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="9o3JzjTxc0CS5yqEW/pbBAAA">
+<XPD:ATTR name="Name" type="string">prc</XPD:ATTR>
+<XPD:REF name="Namespace">tAIggzSJEkO/wUvTETnc/AAA</XPD:REF>
+<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="gTU0AyNDc0afAWeJLyutbQAA">
+<XPD:ATTR name="Name" type="string">bubulina</XPD:ATTR>
+<XPD:REF name="Namespace">9o3JzjTxc0CS5yqEW/pbBAAA</XPD:REF>
+<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="hpgNhNM4/kaEpb+0gDjLyAAA">
+<XPD:ATTR name="Name" type="string">cruce</XPD:ATTR>
+<XPD:REF name="Namespace">gTU0AyNDc0afAWeJLyutbQAA</XPD:REF>
+<XPD:ATTR name="#OwnedElements" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="WZJo7Rk1nES8KPIyEw203QAA">
+<XPD:ATTR name="Name" type="string">remote</XPD:ATTR>
+<XPD:REF name="Namespace">hpgNhNM4/kaEpb+0gDjLyAAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="kB6uEY7a+kKkWIgVidGuDQAA">
+<XPD:ATTR name="Name" type="string">Overview of remote</XPD:ATTR>
+<XPD:REF name="DiagramOwner">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="bzDL4R8ZIEePFXYJvW8VOQAA">
+<XPD:REF name="Diagram">kB6uEY7a+kKkWIgVidGuDQAA</XPD:REF>
+<XPD:ATTR name="#OwnedViews" type="integer">6</XPD:ATTR>
+<XPD:OBJ name="OwnedViews[0]" type="UMLClassView" guid="/GVlO808V0+qCKBYu2DdiAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">148</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">64</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">217</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">108</XPD:ATTR>
+<XPD:REF name="Model">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="akVoIIzy9EyS1gB/RnKHJgAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="QcB1tk/6bkyxv/kkudsFXAAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Player</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="9u3L7nywkEaFURBpg2BPHwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="B9+/Hj4/tUasOIEgRI8kxwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="3avVmIIU9EqW8MUwpvGPIAAA">
+<XPD:REF name="Model">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="2VJWr4/ToE+dQkiz1REgBgAA">
+<XPD:REF name="Model">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="94wjGyMg0UiJ2TrE/DOcOwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[1]" type="UMLInterfaceView" guid="kbVb0Zi16kyetqFSKMSoDgAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">584</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">92</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">101</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="xtmCbD8bvE+94CMDUKugxAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="MUqBQeXfIkKzCKtsVuUzwQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">ServerInterface</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="GfX8cYuADkaDyzwITZF5YwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="HX9g9zi2/0KOilaFf21nGAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="8CWBt8z+0UeDSDdSo62SUQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="yGSNECA1BUC8sr3bkKOq5AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[2]" type="UMLClassView" guid="I0dxuvynbEec9LirwzQ9dAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">116</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">264</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">219</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">147</XPD:ATTR>
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="7jPHq8OKv0KNJE9p5MOlEwAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="13kj8mYNSkCblbKVljwFrgAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Card</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="YTfkSHlL5ka7lg4KvAB5VQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="CvW2oBjacUqwnOvMDs60GAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="t2k7GbpinUm/H2V+gCK03wAA">
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="LFner7HRrkKg9/ButWJ9rwAA">
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="9orx8B4G9ki5VA7BisfuxQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="fMeY1JnhZk+5q5hZEfpcQwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">504</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">380</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">237</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">69</XPD:ATTR>
+<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="7IgX1L6AbUuiK/NsOluwKgAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="r5gBd/yjXU6x7WksIIb6dwAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Score</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="ZHOIPeVA2kWEQ0zjMwqwZQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="tL+wwGR74ESxm5DCbZpn0AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="2s/LeHXtnEGou0ZNCN0QbAAA">
+<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="ojAqaetKkk67nppTacTCtwAA">
+<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="lvRFB8ShYUSy4H177TJvAQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[4]" type="UMLInterfaceView" guid="LqbI/wsy8Ue5vCAjRaYhAwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1009</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">129</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">101</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="v2BX7xDfx0WeRFraz6Vo9AAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="LsFzkufrw0iH5lL42VozKwAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">ServerInterface</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="P8bCHRmtCESNcQNyLPgU2AAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="gU2MaQ7RFU6dSyIe3rMq+gAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="+zK9lv6T2UGcYI8FrQqFPgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="m3wiUmkQsEGUIaj7FH3gKQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[5]" type="UMLAssociationView" guid="aZ4hKrwseUyhDyYVOlblLwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">684,118;1009,147</XPD:ATTR>
+<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+<XPD:REF name="Head">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
+<XPD:REF name="Tail">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="UDYlmoqolUG3MuqlHREhRAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="1JoadzL340KAL1vSwjjkUAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="oi1TZIv4gEmJs8+lARyilgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="gWPWPP7WZ0Ona6I/e1uzagAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="nF6TprBWmEiYOm6yvWYtqQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="6xy2TFnbM06+zobCAjFbRgAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="vTRR35YGLUiryPkXb7UsgAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="xIQiHmwto0GfvXJoS5GU/QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
+<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="B9jAdxR/j0+mrVaNYOmeMQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
+<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
+<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="Di1Lz7PI50uFcNHsmIg/VQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="+Jr15hOlQEmnA57bnQ0UFAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">-1000</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
+<XPD:REF name="Model">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#OwnedElements" type="integer">11</XPD:ATTR>
+<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="Qytbzt0YlESz74qB/EayuAAA">
+<XPD:ATTR name="Name" type="string">Player</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">/GVlO808V0+qCKBYu2DdiAAA</XPD:REF>
+<XPD:REF name="Views[1]">3avVmIIU9EqW8MUwpvGPIAAA</XPD:REF>
+<XPD:REF name="Views[2]">2VJWr4/ToE+dQkiz1REgBgAA</XPD:REF>
+<XPD:REF name="Views[3]">94wjGyMg0UiJ2TrE/DOcOwAA</XPD:REF>
+<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="k+PBvMMoKU+VYBtKWzHdWgAA">
+<XPD:ATTR name="Name" type="string">Player</XPD:ATTR>
+<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
+<XPD:ATTR name="StereotypeName" type="string">create</XPD:ATTR>
+<XPD:REF name="Owner">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="V4JuwnzUIUuob8bR1QI+1wAA">
+<XPD:ATTR name="Name" type="string">name</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">k+PBvMMoKU+VYBtKWzHdWgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="+HUL0T7x1kSlRMGfdfctQgAA">
+<XPD:ATTR name="Name" type="string">ID</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">k+PBvMMoKU+VYBtKWzHdWgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="9L0wJsXzx0mAHD9+9X21EwAA">
+<XPD:ATTR name="Name" type="string">getName</XPD:ATTR>
+<XPD:REF name="Owner">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="XgkXVyvfdUCPt09JSB4elAAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">9L0wJsXzx0mAHD9+9X21EwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="IEk1bN57lk6eamDJyvjKJgAA">
+<XPD:ATTR name="Name" type="string">getID</XPD:ATTR>
+<XPD:REF name="Owner">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="jy42yZkJ1kCanUBxewUJnwAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">IEk1bN57lk6eamDJyvjKJgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#TypedFeatures" type="integer">1</XPD:ATTR>
+<XPD:REF name="TypedFeatures[0]">xGEjlilz1EyK58p/G/Fi/gAA</XPD:REF>
+<XPD:ATTR name="#TypedParameters" type="integer">7</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">pRn7x5D150i42t2IJkh40AAA</XPD:REF>
+<XPD:REF name="TypedParameters[1]">yfUlxktkgkuUs/EaXytI+wAA</XPD:REF>
+<XPD:REF name="TypedParameters[2]">VZikTSVkfUiiKYaa9cmr7wAA</XPD:REF>
+<XPD:REF name="TypedParameters[3]">Y2ru8g4Q1kmiICIO2FDrZwAA</XPD:REF>
+<XPD:REF name="TypedParameters[4]">4ZLJaFMYh0+FkaId87JlGAAA</XPD:REF>
+<XPD:REF name="TypedParameters[5]">H1PIHkem2EamsZ8LK57gTQAA</XPD:REF>
+<XPD:REF name="TypedParameters[6]">16x9sCzNJk6fnpKjylYDpgAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
+<XPD:REF name="Associations[0]">Uoul/5jHIki7nTk5xlOo0QAA</XPD:REF>
+<XPD:ATTR name="#Attributes" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="WqhSzzhjNUKaBuny6p3PkwAA">
+<XPD:ATTR name="Name" type="string">name</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
+<XPD:REF name="Owner">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Attributes[1]" type="UMLAttribute" guid="zJsL7d4KAESfaIKgcMSAAwAA">
+<XPD:ATTR name="Name" type="string">id</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="Owner">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[1]" type="UMLInterface" guid="8wyE1IjMREuSgeLp8voQxAAA">
+<XPD:ATTR name="Name" type="string">ServerInterface</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">9</XPD:ATTR>
+<XPD:REF name="Views[0]">kbVb0Zi16kyetqFSKMSoDgAA</XPD:REF>
+<XPD:REF name="Views[1]">8CWBt8z+0UeDSDdSo62SUQAA</XPD:REF>
+<XPD:REF name="Views[2]">yGSNECA1BUC8sr3bkKOq5AAA</XPD:REF>
+<XPD:REF name="Views[3]">LqbI/wsy8Ue5vCAjRaYhAwAA</XPD:REF>
+<XPD:REF name="Views[4]">+zK9lv6T2UGcYI8FrQqFPgAA</XPD:REF>
+<XPD:REF name="Views[5]">m3wiUmkQsEGUIaj7FH3gKQAA</XPD:REF>
+<XPD:REF name="Views[6]">GB7Zdswya0KmOy43JXFltAAA</XPD:REF>
+<XPD:REF name="Views[7]">U+v4PujoPEGiuU70U5Q9OwAA</XPD:REF>
+<XPD:REF name="Views[8]">XxeWY1M5k02m2VtLE6lMIAAA</XPD:REF>
+<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
+<XPD:REF name="ClientDependencies[0]">ulXJUlkyBE2+VlJXP3nh4gAA</XPD:REF>
+<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
+<XPD:REF name="SupplierDependencies[0]">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
+<XPD:ATTR name="#Operations" type="integer">5</XPD:ATTR>
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="AMJNe9s6l0ihbJq8mdzCTQAA">
+<XPD:ATTR name="Name" type="string">joinGame</XPD:ATTR>
+<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="yrsKSESVR0yg9jDUUIi0+QAA">
+<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
+<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
+<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
+<XPD:REF name="TaggedModel">AMJNe9s6l0ihbJq8mdzCTQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Parameters" type="integer">3</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="o9yJ9wMoM0OCYOnvzTgkUgAA">
+<XPD:ATTR name="Name" type="string">name</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">AMJNe9s6l0ihbJq8mdzCTQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="pRn7x5D150i42t2IJkh40AAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">AMJNe9s6l0ihbJq8mdzCTQAA</XPD:REF>
+<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[2]" type="UMLParameter" guid="ff1gB0qey0KULqg21s8rFQAA">
+<XPD:ATTR name="Name" type="string">client</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">ClientInterface</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">AMJNe9s6l0ihbJq8mdzCTQAA</XPD:REF>
+<XPD:REF name="Type_">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">4</XPD:ATTR>
+<XPD:REF name="CallActions[0]">4YpSdopIlU2bUj0/GrzRrAAA</XPD:REF>
+<XPD:REF name="CallActions[1]">hNPfCGj58k+GXzKWTmd9VgAA</XPD:REF>
+<XPD:REF name="CallActions[2]">2EnJlJyQJkevDuSSqD3bSQAA</XPD:REF>
+<XPD:REF name="CallActions[3]">w94MmGnScEW/Lj7cj2ALNAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="dZYBMbMyiE6Yb+DcxrKHrgAA">
+<XPD:ATTR name="Name" type="string">startGame</XPD:ATTR>
+<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="59G9rSsO2EORKEkea58J3wAA">
+<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
+<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
+<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
+<XPD:REF name="TaggedModel">dZYBMbMyiE6Yb+DcxrKHrgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="yfUlxktkgkuUs/EaXytI+wAA">
+<XPD:ATTR name="Name" type="string">sender</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">dZYBMbMyiE6Yb+DcxrKHrgAA</XPD:REF>
+<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">4</XPD:ATTR>
+<XPD:REF name="CallActions[0]">JcuIEzAvw06h1Ne815ejnAAA</XPD:REF>
+<XPD:REF name="CallActions[1]">KHkzzK9YpkeoMabiwvkmNwAA</XPD:REF>
+<XPD:REF name="CallActions[2]">4LG6Rcdux0qauyDAr0HKZwAA</XPD:REF>
+<XPD:REF name="CallActions[3]">piWhkOJY5EOsjPQHKAfzkQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="JARdJcJon0CX8fkEKPRrywAA">
+<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
+<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="DC626Mqyh02IzNBfaZ4ztwAA">
+<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
+<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
+<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
+<XPD:REF name="TaggedModel">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Parameters" type="integer">3</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="VZikTSVkfUiiKYaa9cmr7wAA">
+<XPD:ATTR name="Name" type="string">sender</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
+<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="xGWeZcCyY0WkTDdCJbtwFgAA">
+<XPD:ATTR name="Name" type="string">card</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[2]" type="UMLParameter" guid="j6I+bbjAYUqtHj1tvlpz1QAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">JARdJcJon0CX8fkEKPRrywAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">NrrbOpFiMkK3t1QjcvRHtQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="c4sLVGFz+USz5QnW4pPxKQAA">
+<XPD:ATTR name="Name" type="string">acceptCard</XPD:ATTR>
+<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="jr+OkzjslkOY/aeKtGnRzQAA">
+<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
+<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
+<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
+<XPD:REF name="TaggedModel">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Parameters" type="integer">4</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="Y2ru8g4Q1kmiICIO2FDrZwAA">
+<XPD:ATTR name="Name" type="string">sender</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="FuEyasWIckSu7JwtvhwRMAAA">
+<XPD:ATTR name="Name" type="string">card</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[2]" type="UMLParameter" guid="itQyNiuy4EuFO+rFE0wiuQAA">
+<XPD:ATTR name="Name" type="string">anunt</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[3]" type="UMLParameter" guid="RZd0xfLeuUmkyujdBMry0AAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">c4sLVGFz+USz5QnW4pPxKQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="FKZeGsdLr06A9ydPalQ9gQAA">
+<XPD:ATTR name="Name" type="string">getOverallScore</XPD:ATTR>
+<XPD:REF name="Owner">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#TaggedValues" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="TaggedValues[0]" type="TaggedValue" guid="790Uxw5HuEG2HWqt+KAuOQAA">
+<XPD:ATTR name="ProfileName" type="string">Java</XPD:ATTR>
+<XPD:ATTR name="TagDefinitionSetName" type="string">JavaOperation</XPD:ATTR>
+<XPD:ATTR name="Name" type="string">JavaThrows</XPD:ATTR>
+<XPD:ATTR name="DataValue" type="string">RemoteException</XPD:ATTR>
+<XPD:REF name="TaggedModel">FKZeGsdLr06A9ydPalQ9gQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="riCXnXXIOkSevSqH7lTMXQAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Score</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">FKZeGsdLr06A9ydPalQ9gQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#Associations" type="integer">7</XPD:ATTR>
+<XPD:REF name="Associations[0]">AFufgiZAOUOIOwtVFEa0IAAA</XPD:REF>
+<XPD:REF name="Associations[1]">qvc4VvifTEG6ipoMH+yQggAA</XPD:REF>
+<XPD:REF name="Associations[2]">rGuklRxgcEuOAdSyJLQeuQAA</XPD:REF>
+<XPD:REF name="Associations[3]">rkbdeWhPzkWyu19nF7wljwAA</XPD:REF>
+<XPD:REF name="Associations[4]">pcPb4+lCok2djK+5wPx4vwAA</XPD:REF>
+<XPD:REF name="Associations[5]">8UKpTs7EI02Aok7cywu4HAAA</XPD:REF>
+<XPD:REF name="Associations[6]">HVRf7+1kKkyJs6h1Y7857wAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="MbuAaMHJS0i+Xs+p80XUBQAA">
+<XPD:ATTR name="Name" type="string">Card</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">I0dxuvynbEec9LirwzQ9dAAA</XPD:REF>
+<XPD:REF name="Views[1]">t2k7GbpinUm/H2V+gCK03wAA</XPD:REF>
+<XPD:REF name="Views[2]">LFner7HRrkKg9/ButWJ9rwAA</XPD:REF>
+<XPD:REF name="Views[3]">9orx8B4G9ki5VA7BisfuxQAA</XPD:REF>
+<XPD:ATTR name="#Operations" type="integer">5</XPD:ATTR>
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="vQRYnsFqN0eSZmOcKZdozgAA">
+<XPD:ATTR name="Name" type="string">Card</XPD:ATTR>
+<XPD:ATTR name="StereotypeProfile" type="string">UMLStandard</XPD:ATTR>
+<XPD:ATTR name="StereotypeName" type="string">create</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="B3RYUmszAUCIDPLIr8It4wAA">
+<XPD:ATTR name="Name" type="string">value</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">vQRYnsFqN0eSZmOcKZdozgAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="u79y2dlZ5kyb0MX1ZAzb8QAA">
+<XPD:ATTR name="Name" type="string">color</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">vQRYnsFqN0eSZmOcKZdozgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="tySBCq9oWEOtiQFfS/7DLwAA">
+<XPD:ATTR name="Name" type="string">getValue</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="/t8E0N52TUqnpdsiyZIfXQAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">tySBCq9oWEOtiQFfS/7DLwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="/H25TqcBtkKBElK5I6GNyAAA">
+<XPD:ATTR name="Name" type="string">getColor</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="kTzmYTHaK0Ows7IDPJ7LtAAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">/H25TqcBtkKBElK5I6GNyAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="U/d3bQkVskCRiwsKsQV4IQAA">
+<XPD:ATTR name="Name" type="string">setTromf</XPD:ATTR>
+<XPD:ATTR name="OwnerScope" type="UMLScopeKind">skClassifier</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="jVqVVScBQ0qfAiWB8G6PpQAA">
+<XPD:ATTR name="Name" type="string">tromf</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">U/d3bQkVskCRiwsKsQV4IQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="q+/amkU7LEirpoQlNeTESgAA">
+<XPD:ATTR name="Name" type="string">isTromf</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="F/4GZ701sE6yd01KFk5HmAAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">q+/amkU7LEirpoQlNeTESgAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#TypedFeatures" type="integer">1</XPD:ATTR>
+<XPD:REF name="TypedFeatures[0]">jOi1McXPa0O80fhEHgFwUQAA</XPD:REF>
+<XPD:ATTR name="#TypedParameters" type="integer">6</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">y34ODWp2TkuyGTQUgEqWdAAA</XPD:REF>
+<XPD:REF name="TypedParameters[1]">pVLLhf63QUu7rQirE8ucWwAA</XPD:REF>
+<XPD:REF name="TypedParameters[2]">uJ5X97R6XEaNFZdFRQNhSwAA</XPD:REF>
+<XPD:REF name="TypedParameters[3]">hEgLVYFX8EGzv4olNXsi2QAA</XPD:REF>
+<XPD:REF name="TypedParameters[4]">CPzYdTw6JEu3mMI/Jv8tewAA</XPD:REF>
+<XPD:REF name="TypedParameters[5]">LgKpYDz+O0uG9dw0nqBpoQAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
+<XPD:REF name="Associations[0]">JWv0RD0fvEKOcVJJ6LfXvQAA</XPD:REF>
+<XPD:REF name="Associations[1]">ZXnX0VzA00GzMXyJXBBUsAAA</XPD:REF>
+<XPD:ATTR name="#Attributes" type="integer">3</XPD:ATTR>
+<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="jv+cYAZigk6T0NKDouTVZAAA">
+<XPD:ATTR name="Name" type="string">value</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Attributes[1]" type="UMLAttribute" guid="4nu/TUARBkagbLZiAUaW/QAA">
+<XPD:ATTR name="Name" type="string">color</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Attributes[2]" type="UMLAttribute" guid="P0VSADEQoEuVml149aGtgAAA">
+<XPD:ATTR name="Name" type="string">tromf</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="OwnerScope" type="UMLScopeKind">skClassifier</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="Owner">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[3]" type="UMLClass" guid="TppH4voMDEmOkDhEMBL77gAA">
+<XPD:ATTR name="Name" type="string">Score</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">fMeY1JnhZk+5q5hZEfpcQwAA</XPD:REF>
+<XPD:REF name="Views[1]">2s/LeHXtnEGou0ZNCN0QbAAA</XPD:REF>
+<XPD:REF name="Views[2]">ojAqaetKkk67nppTacTCtwAA</XPD:REF>
+<XPD:REF name="Views[3]">lvRFB8ShYUSy4H177TJvAQAA</XPD:REF>
+<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="ZippiTf/UUCa2lmiGVvRcQAA">
+<XPD:ATTR name="Name" type="string">getYourScore</XPD:ATTR>
+<XPD:REF name="Owner">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="4ZLJaFMYh0+FkaId87JlGAAA">
+<XPD:ATTR name="Name" type="string">player</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Player</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">ZippiTf/UUCa2lmiGVvRcQAA</XPD:REF>
+<XPD:REF name="Type_">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="V8Gb49VsUUSPAW3PYnI2kwAA">
+<XPD:ATTR name="Name" type="string">return\</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">ZippiTf/UUCa2lmiGVvRcQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#TypedParameters" type="integer">4</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">RPdygWZKsUimUdfN3GOa2wAA</XPD:REF>
+<XPD:REF name="TypedParameters[1]">oMZMXbP1RUCHvyMTOz03nwAA</XPD:REF>
+<XPD:REF name="TypedParameters[2]">NbPS4IirA0asr+wk9FMzAwAA</XPD:REF>
+<XPD:REF name="TypedParameters[3]">6i5ihYv4H0irCRbC5SRRWgAA</XPD:REF>
+<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
+<XPD:REF name="Associations[0]">htYE5MfaX0imJSqqzgDGogAA</XPD:REF>
+<XPD:REF name="Associations[1]">bmtxYLRrGUOcP8XaToXOtAAA</XPD:REF>
+<XPD:ATTR name="#Attributes" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="hxd4Dl0+6EyYWw5Zt06a1AAA">
+<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
+<XPD:ATTR name="Visibility" type="UMLVisibilityKind">vkPrivate</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Map</XPD:ATTR>
+<XPD:REF name="Type_" pathname="::Design Model::java::util::Map">P21e46ib3Uq8owSoWV+aYAAA</XPD:REF>
+<XPD:REF name="Owner">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[4]" type="UMLInterface" guid="/DSDmvM+WUS8jXPOxuUa6QAA">
+<XPD:ATTR name="Name" type="string">ClientInterface</XPD:ATTR>
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Operations" type="integer">8</XPD:ATTR>
+<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="gX7dL5UcZ0upc2kAbWPT3gAA">
+<XPD:ATTR name="Name" type="string">inform</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="pLVMP77NwUiioDgUZFYcCgAA">
+<XPD:ATTR name="Name" type="string">text</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">String</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">gX7dL5UcZ0upc2kAbWPT3gAA</XPD:REF>
+<XPD:REF name="Type_" pathname="::Design Model::java::lang::String">ve+vKpjFQEq9Yt/1XRqU0AAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">4</XPD:ATTR>
+<XPD:REF name="CallActions[0]">QNvgy2nrc0aZU90XIXMCdQAA</XPD:REF>
+<XPD:REF name="CallActions[1]">W+z6gtLO106mATpb23kW2wAA</XPD:REF>
+<XPD:REF name="CallActions[2]">nStk5LMfNEmGZSheFYqedQAA</XPD:REF>
+<XPD:REF name="CallActions[3]">hdd7aw5D20mKD22LbboQZQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="iti+5JOGTEy/+seea2d9IAAA">
+<XPD:ATTR name="Name" type="string">bid</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="UHx4Orrs6Uux8E0yuriKIgAA">
+<XPD:ATTR name="Name" type="string">amount</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">int</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">iti+5JOGTEy/+seea2d9IAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="RWYDbjzQCUCzbhhEY+oM4wAA">
+<XPD:ATTR name="Name" type="string">hit</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">j4TnJuqDbEKh+T8CnMhtywAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="Q8m3CNT4M0yqRMWFuehlvAAA">
+<XPD:ATTR name="Name" type="string">receiveCards</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="TdYD++mp1UC72lP0IzeYZQAA">
+<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">Q8m3CNT4M0yqRMWFuehlvAAA</XPD:REF>
+<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Parameters[1]" type="UMLParameter" guid="+s8bRk07vk6/6mwS2BhgbwAA">
+<XPD:ATTR name="Name" type="string">return</XPD:ATTR>
+<XPD:ATTR name="DirectionKind" type="UMLParameterDirectionKind">pdkReturn</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">boolean</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">Q8m3CNT4M0yqRMWFuehlvAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">v86YLKDHFkG32CjLNMs3FwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="G4zXRlMdv0eD929e6r+v/gAA">
+<XPD:ATTR name="Name" type="string">forceReceive</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="5JjlQP9rMkKcyehJySCxgAAA">
+<XPD:ATTR name="Name" type="string">cards</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">List</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">G4zXRlMdv0eD929e6r+v/gAA</XPD:REF>
+<XPD:REF name="Type_" pathname="::Design Model::java::util::List">NBF+r+n8FEOoJf4p+CYH7gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:ATTR name="#CallActions" type="integer">1</XPD:ATTR>
+<XPD:REF name="CallActions[0]">MIfEEjHTHEqOg/oyqnVRdwAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[5]" type="UMLOperation" guid="Vc73c8m9Z0+ulFML5IWwcwAA">
+<XPD:ATTR name="Name" type="string">setTromf</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="oOZFUuUNoUecFHnQx7ETWAAA">
+<XPD:ATTR name="Name" type="string">tromf</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Color</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">Vc73c8m9Z0+ulFML5IWwcwAA</XPD:REF>
+<XPD:REF name="Type_" pathname="::Design Model::java::awt::Color">IQrOkol1PUeVWv/o2VZ5nwAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[6]" type="UMLOperation" guid="yuyNoYWXXE+7H5HtDh4/QgAA">
+<XPD:ATTR name="Name" type="string">tellRoundScore</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="NbPS4IirA0asr+wk9FMzAwAA">
+<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Score</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">yuyNoYWXXE+7H5HtDh4/QgAA</XPD:REF>
+<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="Operations[7]" type="UMLOperation" guid="NAfOin0GDEKDYosCYFeVXwAA">
+<XPD:ATTR name="Name" type="string">endGame</XPD:ATTR>
+<XPD:REF name="Owner">/DSDmvM+WUS8jXPOxuUa6QAA</XPD:REF>
+<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="6i5ihYv4H0irCRbC5SRRWgAA">
+<XPD:ATTR name="Name" type="string">score</XPD:ATTR>
+<XPD:ATTR name="TypeExpression" type="string">Score</XPD:ATTR>
+<XPD:REF name="BehavioralFeature">NAfOin0GDEKDYosCYFeVXwAA</XPD:REF>
+<XPD:REF name="Type_">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:ATTR name="#TypedParameters" type="integer">1</XPD:ATTR>
+<XPD:REF name="TypedParameters[0]">ff1gB0qey0KULqg21s8rFQAA</XPD:REF>
+<XPD:ATTR name="#ClassifierRoles" type="integer">10</XPD:ATTR>
+<XPD:REF name="ClassifierRoles[0]">HjsJ+5sDT0iKB0KIAPcrEwAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[1]">ef3QdpXPrEO59nf5jGKOZQAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[2]">J6zbKtsqIEOC/qw/vW/+PgAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[3]">iaNl+tYSJEmRpScmGm/ESwAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[4]">FaXUREU1wE6HwS/BiOwdYQAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[5]">cO4FQZlFkUyF9oDMww8ZTwAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[6]">XeRrhW0610qXtOdOzzQeKgAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[7]">YtF4pJFHWUSmPFcLj5apuQAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[8]">aBOdevMZQEyrQpn6oWB+UQAA</XPD:REF>
+<XPD:REF name="ClassifierRoles[9]">MXbsvPpFhU+TYJwa0ZxZwQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="IWEbkzrl+UGk52i1p3l1ZAAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">aZ4hKrwseUyhDyYVOlblLwAA</XPD:REF>
+<XPD:REF name="Views[1]">UDYlmoqolUG3MuqlHREhRAAA</XPD:REF>
+<XPD:REF name="Views[2]">1JoadzL340KAL1vSwjjkUAAA</XPD:REF>
+<XPD:REF name="Views[3]">oi1TZIv4gEmJs8+lARyilgAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="AFufgiZAOUOIOwtVFEa0IAAA">
+<XPD:REF name="Association">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">nF6TprBWmEiYOm6yvWYtqQAA</XPD:REF>
+<XPD:REF name="Views[1]">vTRR35YGLUiryPkXb7UsgAAA</XPD:REF>
+<XPD:REF name="Views[2]">B9jAdxR/j0+mrVaNYOmeMQAA</XPD:REF>
+<XPD:REF name="Views[3]">+Jr15hOlQEmnA57bnQ0UFAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="qvc4VvifTEG6ipoMH+yQggAA">
+<XPD:REF name="Association">IWEbkzrl+UGk52i1p3l1ZAAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
+<XPD:REF name="Views[0]">gWPWPP7WZ0Ona6I/e1uzagAA</XPD:REF>
+<XPD:REF name="Views[1]">6xy2TFnbM06+zobCAjFbRgAA</XPD:REF>
+<XPD:REF name="Views[2]">xIQiHmwto0GfvXJoS5GU/QAA</XPD:REF>
+<XPD:REF name="Views[3]">Di1Lz7PI50uFcNHsmIg/VQAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[6]" type="UMLAssociation" guid="E4gGfWDNkU64nOGuNW7AngAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="Uoul/5jHIki7nTk5xlOo0QAA">
+<XPD:REF name="Association">E4gGfWDNkU64nOGuNW7AngAA</XPD:REF>
+<XPD:REF name="Participant">Qytbzt0YlESz74qB/EayuAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="rGuklRxgcEuOAdSyJLQeuQAA">
+<XPD:REF name="Association">E4gGfWDNkU64nOGuNW7AngAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[7]" type="UMLAssociation" guid="dc1y69QHY0erA2ikqS06vQAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="JWv0RD0fvEKOcVJJ6LfXvQAA">
+<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="rkbdeWhPzkWyu19nF7wljwAA">
+<XPD:REF name="Association">dc1y69QHY0erA2ikqS06vQAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[8]" type="UMLAssociation" guid="rlTTybkxz0iSHHgULWpu0wAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="htYE5MfaX0imJSqqzgDGogAA">
+<XPD:REF name="Association">rlTTybkxz0iSHHgULWpu0wAA</XPD:REF>
+<XPD:REF name="Participant">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="pcPb4+lCok2djK+5wPx4vwAA">
+<XPD:REF name="Association">rlTTybkxz0iSHHgULWpu0wAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[9]" type="UMLAssociation" guid="Zx7R0FE+2k6VbbOc+gymSQAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="bmtxYLRrGUOcP8XaToXOtAAA">
+<XPD:REF name="Association">Zx7R0FE+2k6VbbOc+gymSQAA</XPD:REF>
+<XPD:REF name="Participant">TppH4voMDEmOkDhEMBL77gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="8UKpTs7EI02Aok7cywu4HAAA">
+<XPD:REF name="Association">Zx7R0FE+2k6VbbOc+gymSQAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[10]" type="UMLAssociation" guid="g3vP9rbFDE6Je2Q9UgDKFwAA">
+<XPD:REF name="Namespace">WZJo7Rk1nES8KPIyEw203QAA</XPD:REF>
+<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
+<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="ZXnX0VzA00GzMXyJXBBUsAAA">
+<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Participant">MbuAaMHJS0i+Xs+p80XUBQAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="HVRf7+1kKkyJs6h1Y7857wAA">
+<XPD:REF name="Association">g3vP9rbFDE6Je2Q9UgDKFwAA</XPD:REF>
+<XPD:REF name="Participant">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedElements[1]" type="UMLPackage" guid="/0saAPWBq0W9yCgX1HQkyQAA">
+<XPD:ATTR name="Name" type="string">server</XPD:ATTR>
+<XPD:REF name="Namespace">hpgNhNM4/kaEpb+0gDjLyAAA</XPD:REF>
+<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
+<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="/76fSLTGyk+Iuu6PFhRcyQAA">
+<XPD:ATTR name="Name" type="string">ServerOverview</XPD:ATTR>
+<XPD:REF name="DiagramOwner">/0saAPWBq0W9yCgX1HQkyQAA</XPD:REF>
+<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="k4d1Nx6Bx0CWxi/WNz12mQAA">
+<XPD:REF name="Diagram">/76fSLTGyk+Iuu6PFhRcyQAA</XPD:REF>
+<XPD:ATTR name="#OwnedViews" type="integer">14</XPD:ATTR>
+<XPD:OBJ name="OwnedViews[0]" type="UMLInterfaceView" guid="GB7Zdswya0KmOy43JXFltAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">620</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">168</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">101</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">45</XPD:ATTR>
+<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkIcon</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="CXR5DkAc80ipoWfNaIwIegAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="VB2qa0h6J0Klkjj5fq+sqwAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">ServerInterface</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="02SkloQqakeGxzyZ+d/cqQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="va4sVE4gcUev/Qfm8PsICQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="U+v4PujoPEGiuU70U5Q9OwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="XxeWY1M5k02m2VtLE6lMIAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">8wyE1IjMREuSgeLp8voQxAAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[1]" type="UMLClassView" guid="7dabcNEH10Wwa0MaBagJ6wAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">600</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">272</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">401</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">173</XPD:ATTR>
+<XPD:REF name="Model">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="y1VH6AlVbEyQZT0CR8rN+AAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="O35a1OU6/kOxdDMCgvYvMQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">ServerImplementation</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="242l6ADYfEq0gnw8Qp3+eQAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="/QerRfOGQECVJTNIGq1dlAAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="Z7D6cXBQYEWEikLNv4qVjQAA">
+<XPD:REF name="Model">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="5QxUVeSeBUOGr4TCBg8n+gAA">
+<XPD:REF name="Model">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="Eiv3eCTJ2kmHyucDAxbA4wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:REF name="Model">a83abkIYaU+vlHnAyrcY/gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[2]" type="UMLRealizationView" guid="3ek+ec0970ye9L2Af98OmwAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Points" type="Points">733,272;675,189</XPD:ATTR>
+<XPD:REF name="Model">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
+<XPD:REF name="Head">GB7Zdswya0KmOy43JXFltAAA</XPD:REF>
+<XPD:REF name="Tail">7dabcNEH10Wwa0MaBagJ6wAA</XPD:REF>
+<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="h+sZL6efxEqt5AU7p4GQ5wAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="vTMrGMYSaEOHVuBiobN66QAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
+<XPD:REF name="Model">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="XqeIo9bpPk+nMLPObtTmigAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
+<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
+<XPD:REF name="Model">jJblUi92+ky0bi+PxOYX3gAA</XPD:REF>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="c2gDS6mPekq7S3nphTHWeAAA">
+<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
+<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
+<XPD:ATTR name="Left" type="integer">1108</XPD:ATTR>
+<XPD:ATTR name="Top" type="integer">216</XPD:ATTR>
+<XPD:ATTR name="Width" type="integer">150</XPD:ATTR>
+<XPD:ATTR name="Height" type="integer">199</XPD:ATTR>
+<XPD:REF name="Model">Wd5lyIEL30mHx9ehVfhhkwAA</XPD:REF>
+<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="d8RvHtTedECD9t8rRNoRQAAA">
+<XPD:OBJ name="NameLabel" type="LabelView" guid="LqVs1yBDxE67/u6Re6BQTQAA">
+<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
+<XPD:ATTR name="Text" type="string">Team</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="PFL1LhUUYk2lv1xWjMaLswAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+<XPD:OBJ name="PropertyLabel" type="LabelView" guid="gdnLVzXZhkueR5Dj7NtilwAA">
+<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
+</XPD:OBJ>
+</XPD:OBJ>
+<XPD:OBJ name="AttributeCompartment" type="UMLAttr...
[truncated message content] |
|
From: <ca...@us...> - 2010-04-12 18:20:42
|
Revision: 118
http://cruce.svn.sourceforge.net/cruce/?rev=118&view=rev
Author: caiusb
Date: 2010-04-12 18:20:36 +0000 (Mon, 12 Apr 2010)
Log Message:
-----------
Fixed the problem with askBinaryQuestion. Acum ar trebui sa mearga.
Modified Paths:
--------------
Java/trunk/.classpath
Java/trunk/.project
Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
Modified: Java/trunk/.classpath
===================================================================
--- Java/trunk/.classpath 2010-04-12 18:13:08 UTC (rev 117)
+++ Java/trunk/.classpath 2010-04-12 18:20:36 UTC (rev 118)
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" output="testBin" path="test"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_18"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="testBin" path="test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Modified: Java/trunk/.project
===================================================================
--- Java/trunk/.project 2010-04-12 18:13:08 UTC (rev 117)
+++ Java/trunk/.project 2010-04-12 18:20:36 UTC (rev 118)
@@ -1,23 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Cruce</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.genady.rmi.RMIBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.genady.rmi.RMINature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Cruce</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.genady.rmi.RMINature</nature>
+ </natures>
+</projectDescription>
Modified: Java/trunk/src/prc/bubulina/cruce/client/TextUI.java
===================================================================
--- Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-12 18:13:08 UTC (rev 117)
+++ Java/trunk/src/prc/bubulina/cruce/client/TextUI.java 2010-04-12 18:20:36 UTC (rev 118)
@@ -34,7 +34,9 @@
char answer = 'n';
System.out.println(question);
try {
+ System.in.skip(System.in.available()); // sar peste ce este in buffer
answer = (char) System.in.read();
+ System.in.skip(System.in.available()); // sar peste newline si restul
} catch (IOException e) {
System.out.println("Error reading input");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ca...@us...> - 2010-04-12 18:13:14
|
Revision: 117
http://cruce.svn.sourceforge.net/cruce/?rev=117&view=rev
Author: caiusb
Date: 2010-04-12 18:13:08 +0000 (Mon, 12 Apr 2010)
Log Message:
-----------
Clean-up part 2
Removed Paths:
-------------
Java/trunk/.settings/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|