Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. package pictures;
  2.  
  3. import data.ListItem;
  4. import Aufgabe_1.B.B;
  5. import Aufgabe_1.A.*;
  6. import Aufgabe_1.C.*;
  7. import Aufgabe_1.D.D;
  8. import model.GeometricModelElement;
  9. import java.util.concurrent.ThreadLocalRandom;
  10.  
  11. /**
  12. * Methods for manipulating an existing picture by creating a new one
  13. *
  14. * @author Nora Wester
  15. */
  16. public class PictureManipulator {
  17.  
  18. /**
  19. * manipulates the given picture in the manner, that every element is duplicated and moved
  20. *
  21. * @param g
  22. * original picture
  23. * @return the new changed picture
  24. */
  25. public static ListItem<GeometricModelElement> doSomething(ListItem<GeometricModelElement> g) {
  26. ListItem<GeometricModelElement> newGraphic = new ListItem<GeometricModelElement>(null);
  27.  
  28. for (int j = 1; j <= g.getSize(); j++) {
  29. GeometricModelElement e = g.get(j);
  30. // draw the original element
  31. newGraphic.insert(e);
  32. // clone it
  33. GeometricModelElement cloneE = e.cloneElement();
  34. // and move it
  35. cloneE.move(1, 1);
  36. newGraphic.insert(cloneE);
  37. }
  38. return newGraphic;
  39. }
  40.  
  41.  
  42. public static ListItem<GeometricModelElement> nextElement(ListItem<GeometricModelElement> g)
  43. {
  44. A<GeometricModelElement> newB = new A<>();
  45. newB.ringShiftLeft(g);
  46. return g;
  47. }
  48. public static ListItem<GeometricModelElement> removeFirst(ListItem<GeometricModelElement> g)
  49. {
  50. B<GeometricModelElement> newB = new B<>();
  51. newB.removeHead(g);
  52. return g;
  53. }
  54.  
  55. public static ListItem<GeometricModelElement> lastElement(ListItem<GeometricModelElement> g)
  56. {
  57. B<GeometricModelElement> newB = new B<>();
  58. newB.ringShiftRight(g);
  59. return g;
  60. }
  61.  
  62. public static ListItem<GeometricModelElement> invert(ListItem<GeometricModelElement> g)
  63. {
  64. C<GeometricModelElement> newC = new C<>();
  65. newC.invert(g);
  66. return g;
  67. }
  68.  
  69. public static ListItem<GeometricModelElement> random(ListItem<GeometricModelElement> g)
  70. {
  71. D<GeometricModelElement> newD = new D<>();
  72. C<GeometricModelElement> newC = new C<>();
  73. Object[] arr = newD.listIntoArray(g, GeometricModelElement.class);
  74. // int rnd1, rnd2;
  75. // for(int i=0; i < 50; i++) {
  76. // GeometricModelElement swap;
  77. // rnd1 = ThreadLocalRandom.current().nextInt(0, arr.length);
  78. // rnd2 = ThreadLocalRandom.current().nextInt(0, arr.length);
  79. // swap = arr[rnd1];
  80. // arr[rnd1] = arr[rnd2];
  81. // arr[rnd2] = swap;
  82. // }
  83. // g = newC.arrayIntoList(arr);
  84.  
  85. return g;
  86. }
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement