Skip to content

Commit 220ead3

Browse files
committed
refactoring on a Saturday w/@jamesrcounts
1 parent bb14d72 commit 220ead3

33 files changed

Lines changed: 60 additions & 116 deletions

File tree

src/main/java/org/teachingextensions/logo/Sound.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.awt.Toolkit;
44
import java.io.File;
5+
import java.net.URL;
56

67
import javax.sound.sampled.AudioInputStream;
78
import javax.sound.sampled.AudioSystem;
@@ -21,12 +22,32 @@ public static void playBeep()
2122
{
2223
Toolkit.getDefaultToolkit().beep();
2324
}
25+
/**
26+
* Current types are: CatMeow, Crickets
27+
*/
28+
public enum TKPSound {
29+
CatMeow, Crickets
30+
}
31+
private String soundFilename = null;
32+
public synchronized void setSound(TKPSound mySound)
33+
{
34+
String sound = "soundFiles/" + mySound + ".wav";
35+
URL resource = this.getClass().getResource(sound);
36+
if (resource == null)
37+
{
38+
resource = this.getClass().getClassLoader().getResource(sound);
39+
}
40+
if (resource == null) { throw new IllegalStateException("Could not get TKPSound: " + sound); }
41+
this.soundFilename = resource.toString();
42+
this.soundFilename = this.soundFilename.replace("file:", "");
43+
}
2444
/**
2545
* Plays a sound through your speakers. Use a '.wav' file<br>
2646
* <b>Example:</b> {@code Sound.playSound("mySound.wav")}
2747
*/
28-
public static synchronized void playSound(final String fileName)
48+
public synchronized void playSound()
2949
{
50+
final String sound = this.soundFilename;
3051
new Thread(new Runnable()
3152
{
3253
@Override
@@ -35,13 +56,13 @@ public void run()
3556
try
3657
{
3758
Clip clip = AudioSystem.getClip();
38-
AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File(fileName));
59+
AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File(sound));
3960
clip.open(inputStream);
4061
clip.start();
4162
}
4263
catch (Exception e)
4364
{
44-
System.out.println("play sound error: " + e.getMessage() + " for " + fileName);
65+
System.out.println("play sound error: " + e.getMessage() + " for " + sound);
4566
}
4667
}
4768
}).start();

src/main/java/org/teachingextensions/setup/MacThumbDriveInstaller.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

src/main/java/org/teachingextensions/setup/ThumbDriveInstaller.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/main/java/org/teachingextensions/setup/WindowsThumbDriveInstaller.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/org/teachingkidsprogramming/recipes/completed/section00demos/RecipeForTestingVirtualProctor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.teachingkidsprogramming.recipes.completed.section00demos;
22

3+
import org.teachingextensions.logo.Sound;
34
import org.teachingextensions.logo.Tortoise;
45
import org.teachingextensions.logo.utils.ColorUtils.PenColors;
56
import org.teachingextensions.logo.utils.LineAndShapeUtils.Text;
@@ -20,6 +21,9 @@ public static void main(String[] args) throws Exception
2021
Tortoise.setPenWidth(150);
2122
Tortoise.move(75);
2223
Tortoise.turn(360 / sides);
24+
Sound s = new Sound();
25+
s.setSound(Sound.TKPSound.CatMeow);
26+
s.playSound();
2327
}
2428
VirtualProctor.setClassName("TKPHouseAtHome");
2529
VirtualProctor.setName("LynnLangit");

src/main/java/org/teachingkidsprogramming/recipes/completed/section01forloops/Spiral.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.teachingkidsprogramming.recipes.completed.section01forloops;
22

3-
import org.teachingextensions.logo.ColorWheel;
4-
import org.teachingextensions.logo.PenColors;
53
import org.teachingextensions.logo.Tortoise;
6-
import org.teachingextensions.windows.MessageBox;
4+
import org.teachingextensions.logo.utils.ColorUtils.ColorWheel;
5+
import org.teachingextensions.logo.utils.ColorUtils.PenColors;
6+
import org.teachingextensions.logo.utils.EventUtils.MessageBox;
77

88
public class Spiral
99
{

src/main/java/org/teachingkidsprogramming/recipes/completed/section07events/DeepDive07Events.java renamed to src/main/java/org/teachingkidsprogramming/recipes/completed/section07objects/DeepDive07Objects.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.teachingkidsprogramming.recipes.completed.section07events;
1+
package org.teachingkidsprogramming.recipes.completed.section07objects;
22

33
import java.awt.Cursor;
44

@@ -11,7 +11,7 @@
1111
import org.teachingextensions.logo.utils.PizzaUtils.Topping;
1212

1313
@SuppressWarnings("unused")
14-
public class DeepDive07Events
14+
public class DeepDive07Objects
1515
{
1616
// How to do deep dive:
1717
// Step 1: Select the method name (twoTortoises on line 30) Press the Run Button
@@ -170,7 +170,7 @@ private Cursor getCursor()
170170
Cursor cursor = Tortoise.getBackgroundWindow().getCursor();
171171
return cursor;
172172
}
173-
public DeepDive07Events()
173+
public DeepDive07Objects()
174174
{
175175
this.leonardo = new Turtle();
176176
this.donatello = new Turtle();

src/main/java/org/teachingkidsprogramming/recipes/completed/section07events/MyTurtles.java renamed to src/main/java/org/teachingkidsprogramming/recipes/completed/section07objects/MyTurtles.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.teachingkidsprogramming.recipes.completed.section07events;
1+
package org.teachingkidsprogramming.recipes.completed.section07objects;
22

33
import java.util.ArrayList;
44

src/main/java/org/teachingkidsprogramming/recipes/completed/section07events/TortoiseMobile.java renamed to src/main/java/org/teachingkidsprogramming/recipes/completed/section07objects/TortoiseMobile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.teachingkidsprogramming.recipes.completed.section07events;
1+
package org.teachingkidsprogramming.recipes.completed.section07objects;
22

33
import java.awt.Color;
44
import java.awt.event.ActionEvent;

src/main/java/org/teachingkidsprogramming/recipes/completed/section07events/TurtleObjects.java renamed to src/main/java/org/teachingkidsprogramming/recipes/completed/section07objects/TurtleObjects.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.teachingkidsprogramming.recipes.completed.section07events;
1+
package org.teachingkidsprogramming.recipes.completed.section07objects;
22

33
import org.teachingextensions.WindowUtils.MultiTurtleWindow;
44
import org.teachingextensions.logo.Turtle;

0 commit comments

Comments
 (0)