1 package Newthings; 2 3 import painter.SPainter; 4 import shapes.*; 5 6 import javax.swing.*; 7 import java.awt.*; 8 9 public class Cat { 10 private void paintTheImage() { 11 SPainter midnight = new SPainter("Black Cat", 600, 600); 12 SPolygon shape = new SPolygon(5, 100); 13 SPolygon triangle = new SPolygon(3, 15); 14 SCircle circle = new SCircle (10); 15 SSquare blank = new SSquare(70); 16 SRectangle rec = new SRectangle(150, 198); 17 paintBodyBottom(midnight, rec); 18 paintBodyStart (midnight, triangle); 19 paintCatHead (midnight, shape); 20 paintCatEyes (midnight, circle); 21 paintCatFace(midnight, triangle); 22 paintCatEars(midnight,triangle); 23 paintClearSpotOne (midnight, blank); 24 paintCatLegs (midnight, rec); 25 paintCircleHelpers (midnight, circle); 26 paintTail (midnight, rec); 27 paintWhiskers (midnight, rec); 28 paintPupils (midnight, circle); 29 paintEarHole (midnight, triangle); 30 31 32 33 } 34 35 private void paintEarHole(SPainter midnight, SPolygon triangle) { 36 midnight.setColor(Color.lightGray); 37 triangle.setSide(30); 38 midnight.mfd(144); 39 midnight.mlt(50); 40 midnight.paint(triangle); 41 midnight.mrt(100); 42 midnight.paint(triangle); 43 midnight.mlt(50); 44 triangle.setSide(15); 45 midnight.mbk(144); 46 } 47 48 private void paintPupils(SPainter midnight, SCircle circle) { 49 midnight.setColor(Color.BLACK); 50 circle.setRadius(6); 51 midnight.mfd(100); 52 midnight.mlt(50); 53 midnight.paint(circle); 54 midnight.mrt(100); 55 midnight.paint(circle); 56 midnight.mlt(50); 57 midnight.mbk(100); 58 } 59 60 private void paintWhiskers(SPainter midnight, SRectangle rec) { 61 midnight.setColor(Color.WHITE); 62 midnight.mfd(70); 63 midnight.mlt(30); 64 rec.setHeight(1); 65 rec.setWidth(25); 66 midnight.paint(rec); 67 midnight.mrt(60); 68 midnight.paint(rec); 69 midnight.mbk(10); 70 midnight.mrt(5); 71 midnight.paint(rec); 72 midnight.mlt(70); 73 midnight.paint(rec); 74 midnight.mrt(35); 75 midnight.mbk(60); 76 } 77 78 private void paintTail(SPainter midnight, SRectangle rec) { 79 midnight.setColor(Color.BLACK); 80 midnight.mrt(140); 81 midnight.mbk(100); 82 rec.setWidth(120); 83 rec.setHeight(20); 84 midnight.paint(rec); 85 midnight.mfd(100); 86 midnight.mlt(140); 87 } 88 89 private void paintCircleHelpers(SPainter midnight, SCircle circle) { 90 midnight.setColor(Color.BLACK); 91 circle.setRadius(30); 92 midnight.mbk(80); 93 midnight.mlt(40); 94 midnight.paint(circle); 95 midnight.mrt(80); 96 midnight.paint(circle); 97 midnight.mlt(40); 98 midnight.mfd(80); 99 } 100 101 private void paintClearSpotOne(SPainter midnight, SSquare blank) { 102 midnight.setColor(Color.white); 103 midnight.mfd(195); 104 midnight.paint(blank); 105 midnight.mbk(195); 106 } 107 108 private void paintCatEars(SPainter midnight, SPolygon triangle) { 109 midnight.setColor(Color.black); 110 triangle.setSide(60); 111 midnight.mfd(144); 112 midnight.mlt(50); 113 midnight.paint(triangle); 114 midnight.mrt(100); 115 midnight.paint(triangle); 116 midnight.mlt(50); 117 triangle.setSide(15); 118 midnight.mbk(144); 119 120 } 121 122 private void paintCatFace(SPainter midnight, SPolygon triangle) { 123 midnight.setColor(Color.pink); 124 midnight.mfd(60); 125 midnight.paint(triangle); 126 midnight.mbk(60); 127 midnight.setColor(Color.BLUE); 128 triangle.setSide(25); 129 midnight.mfd(70); 130 midnight.paint(triangle); 131 midnight.mbk(70); 132 triangle.setSide(15); 133 } 134 135 private void paintCatEyes(SPainter midnight, SCircle circle) { 136 midnight.setRandomGreenColor(); 137 midnight.mfd(100); 138 midnight.mlt(50); 139 midnight.paint(circle); 140 midnight.mrt(100); 141 midnight.paint(circle); 142 midnight.mlt(50); 143 midnight.mbk(100); 144 } 145 146 private void paintCatHead(SPainter midnight, SPolygon shape) { 147 midnight.setColor(Color.BLACK); 148 midnight.mfd(100); 149 midnight.paint(shape); 150 midnight.mbk(100); 151 } 152 private void paintBodyStart(SPainter midnight, SPolygon triangle) { 153 midnight.setColor(Color.BLACK); 154 triangle.setSide(200); 155 midnight.paint(triangle); 156 triangle.setSide(15); 157 } 158 private void paintBodyBottom(SPainter midnight, SRectangle rec) { 159 midnight.setColor(Color.BLACK); 160 midnight.mbk(130); 161 midnight.paint(rec); 162 midnight.mfd(130); 163 } 164 private void paintCatLegs(SPainter midnight, SRectangle rec) { 165 midnight.setColor(Color.GREEN); 166 rec.setWidth(40); 167 rec.setHeight(150); 168 midnight.mbk(140); 169 midnight.mlt(40); 170 midnight.draw(rec); 171 midnight.mrt(80); 172 midnight.draw(rec); 173 midnight.setColor(Color.BLACK); 174 rec.setWidth(38); 175 rec.setHeight(148); 176 midnight.paint(rec); 177 midnight.mlt(80); 178 midnight.paint(rec); 179 midnight.mrt(40); 180 midnight.mfd(140); 181 } 182 183 public Cat() { 184 paintTheImage(); 185 } 186 187 public static void main(String[] args) { 188 SwingUtilities.invokeLater(new Runnable() { 189 public void run() { 190 new Cat(); 191 } 192 193 }); 194 } 195 } 196