GameLocator.java
Upload User: topstarc
Upload Date: 2016-10-10
Package Size: 291k
Code Size: 2k
Category:

Game Engine

Development Platform:

Java

  1. package game.locator;
  2. import java.util.Vector;
  3. import game.card.Card;
  4. import game.card.Set;
  5. import game.position.CardPosition;
  6. public class GameLocator implements AbstractLocator {
  7. private Set set;
  8. public GameLocator() {
  9. set = new Set();
  10. }
  11. public boolean remove(CardPosition position, Card card) {
  12. return false;
  13. }
  14. public boolean allocate(CardPosition position, Card card) {
  15. Vector vector = position.getVectorCard();
  16. if (vector.isEmpty() && card.getName().equals(Set.card_K)) {
  17. vector.addElement(card);
  18. return true;
  19. }
  20. Card previo = null;
  21. if (!vector.isEmpty()) {
  22. previo = (Card) vector.lastElement();
  23. }
  24. if (previo == null || !previo.isOpen()) {
  25. return false;
  26. }
  27. String palo = previo.getPalo();
  28. String opt = "";
  29. if (palo.equals(Set.SPADE_CARD) || palo.equals(Set.TREBOL_CARD)) {
  30. opt = "BLACK";
  31. } else if (palo.equals(Set.HEART_CARD) || palo.equals(Set.DIAMOND_CARD)) {
  32. opt = "RED";
  33. }
  34. String paloCard = card.getPalo();
  35. String optCard = "";
  36. if (paloCard.equals(Set.SPADE_CARD) || paloCard.equals(Set.TREBOL_CARD)) {
  37. optCard = "RED";
  38. } else if (paloCard.equals(Set.HEART_CARD)
  39. || paloCard.equals(Set.DIAMOND_CARD)) {
  40. optCard = "BLACK";
  41. }
  42. if (!opt.equals(optCard)) {
  43. // are the same color
  44. return false;
  45. }
  46. String prv = getPrevio(previo.getName());
  47. if (prv != null && prv.equals(card.getName())) {
  48. vector.addElement(card);
  49. return true;
  50. } else {
  51. return false;
  52. }
  53. }
  54. public String getPrevio(String name) {
  55. int i = 0;
  56. String array[] = set.getContent();
  57. int res = -1;
  58. boolean key = true;
  59. while (i < array.length && key) {
  60. if (array[i].equals(name)) {
  61. res = i;
  62. key = false;
  63. }
  64. i++;
  65. }
  66. String response = "";
  67. if (res == 0 || key) {
  68. response = null;
  69. } else {
  70. response = array[res - 1];
  71. }
  72. return response;
  73. }
  74. public void restart() {
  75. set.reset();
  76. }
  77. }