Advertisement
jpvain

gopeli

Feb 26th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. public class Test{
  4. public static void main(String[] args){
  5. final Random rnd = new Random();
  6.  
  7. String[] n1 = "Arto Anne Esko Elina Kimmo Kaisa".split(" ");
  8. String[] n2 = "Lasse Leena Mikko Maija Aku Iines".split(" ");
  9. String nimi1 = n1[rnd.nextInt(n1.length)];
  10. String nimi2 = n2[rnd.nextInt(n2.length)];
  11.  
  12. GoPelaaja gp1 = new GoPelaaja(nimi1, Nappula.MUSTA);
  13. GoPelaaja gp2 = new GoPelaaja(nimi2, Nappula.VALKOINEN);
  14. System.out.println("Pelaaja1:" + gp1.annaNimi());
  15. System.out.println("Pelaaja2:" + gp2.annaNimi());
  16.  
  17. GoPeli gpeli = new GoPeli(gp1, gp2);
  18. System.out.println("Peli luotu!");
  19.  
  20. System.out.println("Lisataan nappuloita...");
  21. int p1 = 0, p2 = 0;
  22. for (int i=0; i<10; i++){
  23. for (int j=0; j<10; j++){
  24. Nappula nap = Nappula.values()[rnd.nextInt(3)];
  25. gpeli.asetaNappula(i, j, nap);
  26. if (nap == Nappula.MUSTA){
  27. p1++;
  28. } else if (nap == Nappula.VALKOINEN){
  29. p2++;
  30. }
  31. }
  32. }
  33.  
  34.  
  35. System.out.println("" + gp1.annaNimi() + " - nappuloita: " + p1);
  36. System.out.println("" + gp2.annaNimi() + " - nappuloita: " + p2);
  37. System.out.println("Voittaja:" + (gpeli.annaVoittaja() == null ? "Tasapeli" : gpeli.annaVoittaja().annaNimi()));
  38. }
  39. }
  40. class Pelaaja{
  41. private String nimi;
  42.  
  43. public Pelaaja(String nimi){
  44. this.nimi = nimi;
  45. }
  46.  
  47. public String annaNimi(){
  48. return nimi;
  49. }
  50. }
  51. enum Nappula{
  52. // Nappula on tietty musta tai valkoinen, mutta tyhja ruutu == TYHJA
  53. MUSTA, VALKOINEN, TYHJA;
  54. }
  55. class GoPelaaja extends Pelaaja{
  56. private Nappula nappula;
  57.  
  58. public GoPelaaja(String nimi, Nappula nappula){
  59. super(nimi);
  60. this.nappula = nappula;
  61. }
  62.  
  63. public Nappula annaNappula(){
  64. return nappula;
  65. }
  66. }
  67. abstract class Peli{
  68. private Pelaaja pelaaja1;
  69. private Pelaaja pelaaja2;
  70.  
  71. public Peli(Pelaaja pelaaja1, Pelaaja pelaaja2){
  72. this.pelaaja1 = pelaaja1;
  73. this.pelaaja2 = pelaaja2;
  74. }
  75.  
  76. public Pelaaja annaPelaaja1(){
  77. return pelaaja1;
  78. }
  79.  
  80. public Pelaaja annaPelaaja2(){
  81. return pelaaja2;
  82. }
  83.  
  84. /**
  85. * Metodi palauttaa pelin voittaneen pelaajan tai null, jos pelaajat
  86. * ovat tasoissa.
  87. */
  88. public abstract Pelaaja annaVoittaja();
  89. }
  90. class GoPeli extends Peli{
  91. private Nappula[][] nappulat;
  92.  
  93. public GoPeli(GoPelaaja p1, GoPelaaja p2){
  94. super(p1,p2);
  95. nappulat = new Nappula[10][10];
  96. }
  97.  
  98. public void asetaNappula(int x, int y, Nappula nappula){
  99. nappulat[x][y] = nappula;
  100. }
  101.  
  102. public Pelaaja annaVoittaja(){
  103.  
  104.  
  105.  
  106.  
  107. }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement