[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-games-devel
Subject:    Re: [Kde-games-devel] Review Request 114871: [knavalbattle] To enable two phase place ships,
From:       "Jaime Torres Amate" <jtamate () gmail ! com>
Date:       2014-01-16 12:24:07
Message-ID: 20140116122407.2618.84369 () probe ! kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114871/
-----------------------------------------------------------

(Updated Jan. 16, 2014, 12:24 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDE Games and Roney Gomes.


Repository: knavalbattle


Description
-------

This patch depends on the utilities for multiple ships patch (only because of the \
canAddShipsOfShize(size) method). There are now two phases in the game, also used in the \
seaview status, placing and playing. Placing can be restarted several times without disturbing \
the other player. Before:
  controller called entity start and waited for 2 answers.
Now: 
  controller calls entity startPlacing and waits for 2 ready() signals, then it calls start and \
waits for 2 more answers.  if a player can not finish placing its ships, a \
restartPlacingShips() signal is emited (and not the ready() signal). It reaches playfield where \
a messagebox is displayed to restart or abort the game (missing, I'm not sure about this \
option).   This patch only affects the human player (the AI, so fast, will retry automatically \
until a good placement is reached).  For the network player, it assumes the other player has \
finished placing its ships, but still needs another message (received when the other player \
finishes placing ships) to start shooting.


Another possibility is to make use of an Undo function (but I always played in paper with pen, \
not pencil)


Diffs
-----

  src/aientity.h d8fc057 
  src/aientity.cpp b085786 
  src/controller.h 0165b02 
  src/controller.cpp df44ff4 
  src/entity.h fa45a35 
  src/mainwindow.cpp 42e04b4 
  src/networkentity.h bfcfdf4 
  src/networkentity.cpp 6609022 
  src/playerentity.h aae134e 
  src/playerentity.cpp 230f1ec 
  src/playfield.h 431b740 
  src/playfield.cpp 1ea0955 
  src/seaview.h b3099be 
  src/seaview.cpp 34d44c3 
  src/uientity.h 952003b 
  src/uientity.cpp e629879 

Diff: https://git.reviewboard.kde.org/r/114871/diff/


Testing
-------

Finally, it works in local and remote games.
The normal game workflow can be tested without any modification.
The restart workflow can be tested with a little modification in the canAddShipsOfShize(size) \
to return false sometimes. I'm reworking the multiple ships patch to make it much more flexible \
in the number of ships, their size and the board size for network games.


Thanks,

Jaime Torres Amate


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/114871/">https://git.reviewboard.kde.org/r/114871/</a>
  </td>
    </tr>
   </table>
   <br />



<table bgcolor="#e0e0e0" width="100%" cellpadding="8" style="border: 1px gray solid;">
 <tr>
  <td>
   <h1 style="margin-right: 0.2em; padding: 0; font-size: 10pt;">This change has been marked as \
submitted.</h1>  </td>
 </tr>
</table>
<br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: \
url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black solid;">  <tr>
  <td>

<div>Review request for KDE Games and Roney Gomes.</div>
<div>By Jaime Torres Amate.</div>


<p style="color: grey;"><i>Updated Jan. 16, 2014, 12:24 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
knavalbattle
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px \
solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch depends on \
the utilities for multiple ships patch (only because of the canAddShipsOfShize(size) method). \
There are now two phases in the game, also used in the seaview status, placing and playing. \
Placing can be restarted several times without disturbing the other player. Before:
  controller called entity start and waited for 2 answers.
Now: 
  controller calls entity startPlacing and waits for 2 ready() signals, then it calls start and \
waits for 2 more answers.  if a player can not finish placing its ships, a \
restartPlacingShips() signal is emited (and not the ready() signal). It reaches playfield where \
a messagebox is displayed to restart or abort the game (missing, I&#39;m not sure about this \
option).   This patch only affects the human player (the AI, so fast, will retry automatically \
until a good placement is reached).  For the network player, it assumes the other player has \
finished placing its ships, but still needs another message (received when the other player \
finishes placing ships) to start shooting.


Another possibility is to make use of an Undo function (but I always played in paper with pen, \
not pencil)</pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid \
#b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Finally, it works in \
local and remote games. The normal game workflow can be tested without any modification.
The restart workflow can be tested with a little modification in the canAddShipsOfShize(size) \
to return false sometimes. I&#39;m reworking the multiple ships patch to make it much more \
flexible in the number of ships, their size and the board size for network games. </pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/aientity.h <span style="color: grey">(d8fc057)</span></li>

 <li>src/aientity.cpp <span style="color: grey">(b085786)</span></li>

 <li>src/controller.h <span style="color: grey">(0165b02)</span></li>

 <li>src/controller.cpp <span style="color: grey">(df44ff4)</span></li>

 <li>src/entity.h <span style="color: grey">(fa45a35)</span></li>

 <li>src/mainwindow.cpp <span style="color: grey">(42e04b4)</span></li>

 <li>src/networkentity.h <span style="color: grey">(bfcfdf4)</span></li>

 <li>src/networkentity.cpp <span style="color: grey">(6609022)</span></li>

 <li>src/playerentity.h <span style="color: grey">(aae134e)</span></li>

 <li>src/playerentity.cpp <span style="color: grey">(230f1ec)</span></li>

 <li>src/playfield.h <span style="color: grey">(431b740)</span></li>

 <li>src/playfield.cpp <span style="color: grey">(1ea0955)</span></li>

 <li>src/seaview.h <span style="color: grey">(b3099be)</span></li>

 <li>src/seaview.cpp <span style="color: grey">(34d44c3)</span></li>

 <li>src/uientity.h <span style="color: grey">(952003b)</span></li>

 <li>src/uientity.cpp <span style="color: grey">(e629879)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/114871/diff/" style="margin-left: 3em;">View \
Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>



_______________________________________________
kde-games-devel mailing list
kde-games-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-games-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic