Matrix digital rain: Difference between revisions
m
Minor code improvement.
m (Added a comment.) |
m (Minor code improvement.) |
||
Line 1,349:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
Line 1,392 ⟶ 1,393:
public void start() {
requestFocus();
createBufferStrategy(2);
executiveService.execute( new DrawingCycle(rowCount) );
}
Line 1,401 ⟶ 1,402:
columns = Stream.generate( () -> new Column(rowCount) )
.limit(columnCount / 2).collect(Collectors.toList());
bufferStrategy = getBufferStrategy();
scheduler = Executors.newSingleThreadScheduledExecutor();
}
@Override
public void run() {
scheduler.scheduleAtFixedRate( () -> { draw(); update(); }, 0, 100, TimeUnit.MILLISECONDS);
}
Line 1,430 ⟶ 1,429:
}
private void update(
for ( Column column : columns ) {
if ( column.index >= 0 ) {
Line 1,443 ⟶ 1,442:
column.reset();
}
}
private final ScheduledExecutorService scheduler;
▲ private final BufferStrategy bufferStrategy;
▲ private final List<Column> columns;
} // End DrawingCycle class
|