added ex P
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/exercises/ex_p/Drum.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/exercises/ex_p/Drum.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | package exercises.ex_p; | ||||||
|  |  | ||||||
|  | public class Drum { | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  |     public Drum(String name) { | ||||||
|  |         this.name = name; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void play() { | ||||||
|  |         System.out.println("Playing " + name); | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										38
									
								
								src/exercises/ex_p/Partition.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/exercises/ex_p/Partition.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | package exercises.ex_p; | ||||||
|  |  | ||||||
|  | import java.util.concurrent.Executors; | ||||||
|  | import java.util.concurrent.ScheduledExecutorService; | ||||||
|  | import java.util.concurrent.TimeUnit; | ||||||
|  |  | ||||||
|  | public class Partition { | ||||||
|  |     public static void main(String[] args) { | ||||||
|  |         Drum bassDrum = new Drum("Bass Drum"); | ||||||
|  |         Drum floortom = new Drum("Floor Tom"); | ||||||
|  |         Drum snareDrum = new Drum("Snare Drum"); | ||||||
|  |         Drum rackTom = new Drum("Rack Tom"); | ||||||
|  |         Drum hiHat = new Drum("Hi-Hat"); | ||||||
|  |         Drum crashCymbal = new Drum("Crash Cymbal"); | ||||||
|  |         Drum rideCymbal = new Drum("Ride Cymbal"); | ||||||
|  |         Drum splashCymbal = new Drum("Splash Cymbal"); | ||||||
|  |         Drum chinaCymbal = new Drum("China Cymbal"); | ||||||
|  |         ScheduledExecutorService executor = Executors.newScheduledThreadPool(9); | ||||||
|  |         int initialDelay = 1000; | ||||||
|  |         int quaver = 500; // croche | ||||||
|  |         int crotchet = 1000; // noire | ||||||
|  |         int minim = 2000; // blanche | ||||||
|  |         TimeUnit unit = TimeUnit.MILLISECONDS; | ||||||
|  |  | ||||||
|  |         Drum[] drums = { | ||||||
|  |             bassDrum, floortom, snareDrum, | ||||||
|  |             rackTom, hiHat, crashCymbal, | ||||||
|  |             rideCymbal, splashCymbal, chinaCymbal | ||||||
|  |         }; | ||||||
|  |         int[] notes = {quaver, crotchet, minim}; | ||||||
|  |  | ||||||
|  |         for (int i=0; i < 9; i++) { | ||||||
|  |             Drum drum = drums[i]; | ||||||
|  |             int rhythm = notes[(int) (Math.random() * 3)]; | ||||||
|  |             executor.scheduleAtFixedRate(drum::play, initialDelay, rhythm, unit); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user