Jeremy B, Bo H, Josh P, Jay K, Andrzej K, David L, Xinning W, 
Peng (Pong) C, Santiago S, Qin N, Biao Z, Andrew D, Josh M, Danny N, 
Dimas M, Austin M, Anthony C, Joel P, Scott M, Yingzhen Q, Zhengyu L, 
Bokai Z, Troy S, Dhruv A, Ethan Y, Joey R, Nikita H, Megan H, Sam B, 
Ryan P, Donovan M, Jacob C, Laura H, Caleb G, Alex D, Taylor P, 
Maro R, Hao T, Kellen A, Thomas A, Anna McN, Shichao H, Sam McK, 
Will T, Noah P, Rishu S, Brad V, Yangjun L, Omar W, Clayton T,
Kevin Jiawei Z, Yumiko S, Angely P, Creighton H, Brittany H, 
Steve B, Tian J, Yongtao H, Alex T, Xiaohui Seth Wang didn't feel well and is excused. 

Semester Project: How do we start it? 

http://silo.cs.indiana.edu:8346/c212/spr2015/tetris.rkt

If I call this the reference implementation what does it mean? 

Things we did in class:

(a) http://zetcode.com/tutorials/javagamestutorial/tetris/


C:\Users\dgerman\Desktop\one>"C:\Program Files\Java\jdk1.8.0_05\bin\javac.exe"
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are u
sed
  -classpath <path>          Specify where to find user class files and annotati
on processors
  -cp <path>                 Specify where to find user class files and annotati
on processors
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -proc:{none,only}          Control whether annotation processing and/or compil
ation is done.
  -processor <class1>[,<class2>,<class3>...] Names of the annotation processors
to run; bypasses default discovery process
  -processorpath <path>      Specify where to find annotation processors
  -parameters                Generate metadata for reflection on method paramete
rs
  -d <directory>             Specify where to place generated class files
  -s <directory>             Specify where to place generated source files
  -h <directory>             Specify where to place generated native header file
s
  -implicit:{none,class}     Specify whether or not to generate class files for
implicitly referenced files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release

  -target <release>          Generate class files for specific VM version
  -profile <profile>         Check that API used is available in the specified p
rofile
  -version                   Version information
  -help                      Print a synopsis of standard options
  -Akey[=value]              Options to pass to annotation processors
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system
  -Werror                    Terminate compilation if warnings occur
  @<filename>                Read options and filenames from file


C:\Users\dgerman\Desktop\one>PATH=%PATH%;"C:\Program Files\Java\jdk1.8.0_05\bin"


C:\Users\dgerman\Desktop\one>javac
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are u
sed
  -classpath <path>          Specify where to find user class files and annotati
on processors
  -cp <path>                 Specify where to find user class files and annotati
on processors
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -proc:{none,only}          Control whether annotation processing and/or compil
ation is done.
  -processor <class1>[,<class2>,<class3>...] Names of the annotation processors
to run; bypasses default discovery process
  -processorpath <path>      Specify where to find annotation processors
  -parameters                Generate metadata for reflection on method paramete
rs
  -d <directory>             Specify where to place generated class files
  -s <directory>             Specify where to place generated source files
  -h <directory>             Specify where to place generated native header file
s
  -implicit:{none,class}     Specify whether or not to generate class files for
implicitly referenced files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release

  -target <release>          Generate class files for specific VM version
  -profile <profile>         Check that API used is available in the specified p
rofile
  -version                   Version information
  -help                      Print a synopsis of standard options
  -Akey[=value]              Options to pass to annotation processors
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system
  -Werror                    Terminate compilation if warnings occur
  @<filename>                Read options and filenames from file


C:\Users\dgerman\Desktop\one>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\one

04/20/2015  09:46 AM    <DIR>          .
04/20/2015  09:46 AM    <DIR>          ..
04/20/2015  09:45 AM             8,093 Board.java
04/20/2015  09:44 AM             2,839 Shape.java
04/20/2015  09:43 AM               730 Tetris.java
               3 File(s)         11,662 bytes
               2 Dir(s)  313,953,026,048 bytes free

C:\Users\dgerman\Desktop\one>javac *.java

C:\Users\dgerman\Desktop\one>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\one

04/20/2015  09:51 AM    <DIR>          .
04/20/2015  09:51 AM    <DIR>          ..
04/20/2015  09:51 AM             1,394 Board$TAdapter.class
04/20/2015  09:51 AM             5,331 Board.class
04/20/2015  09:45 AM             8,093 Board.java
04/20/2015  09:51 AM             1,246 Shape$Tetrominoes.class
04/20/2015  09:51 AM             2,435 Shape.class
04/20/2015  09:44 AM             2,839 Shape.java
04/20/2015  09:51 AM             1,017 Tetris.class
04/20/2015  09:43 AM               730 Tetris.java
               8 File(s)         23,085 bytes
               2 Dir(s)  313,952,931,840 bytes free

C:\Users\dgerman\Desktop\one>more Tetris.java
package tetris;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;


public class Tetris extends JFrame {

    JLabel statusbar;


    public Tetris() {

        statusbar = new JLabel(" 0");
        add(statusbar, BorderLayout.SOUTH);
        Board board = new Board(this);
        add(board);
        board.start();

        setSize(200, 400);
        setTitle("Tetris");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
   }

   public JLabel getStatusBar() {
       return statusbar;
   }

    public static void main(String[] args) {

        Tetris game = new Tetris();
        game.setLocationRelativeTo(null);
        game.setVisible(true);

    }
}

C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>
C:\Users\dgerman\Desktop\one>java Tetris
Error: Could not find or load main class Tetris

C:\Users\dgerman\Desktop\one>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\one

04/20/2015  09:51 AM    <DIR>          .
04/20/2015  09:51 AM    <DIR>          ..
04/20/2015  09:51 AM             1,394 Board$TAdapter.class
04/20/2015  09:51 AM             5,331 Board.class
04/20/2015  09:45 AM             8,093 Board.java
04/20/2015  09:51 AM             1,246 Shape$Tetrominoes.class
04/20/2015  09:51 AM             2,435 Shape.class
04/20/2015  09:44 AM             2,839 Shape.java
04/20/2015  09:51 AM             1,017 Tetris.class
04/20/2015  09:43 AM               730 Tetris.java
               8 File(s)         23,085 bytes
               2 Dir(s)  313,952,026,624 bytes free

C:\Users\dgerman\Desktop\one>javac -d . *.java

C:\Users\dgerman\Desktop\one>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\one

04/20/2015  09:55 AM    <DIR>          .
04/20/2015  09:55 AM    <DIR>          ..
04/20/2015  09:51 AM             1,394 Board$TAdapter.class
04/20/2015  09:51 AM             5,331 Board.class
04/20/2015  09:45 AM             8,093 Board.java
04/20/2015  09:51 AM             1,246 Shape$Tetrominoes.class
04/20/2015  09:51 AM             2,435 Shape.class
04/20/2015  09:44 AM             2,839 Shape.java
04/20/2015  09:55 AM    <DIR>          tetris
04/20/2015  09:51 AM             1,017 Tetris.class
04/20/2015  09:43 AM               730 Tetris.java
               8 File(s)         23,085 bytes
               3 Dir(s)  313,951,932,416 bytes free

C:\Users\dgerman\Desktop\one>dir tetris
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\one\tetris

04/20/2015  09:55 AM    <DIR>          .
04/20/2015  09:55 AM    <DIR>          ..
04/20/2015  09:55 AM             1,394 Board$TAdapter.class
04/20/2015  09:55 AM             5,331 Board.class
04/20/2015  09:55 AM             1,246 Shape$Tetrominoes.class
04/20/2015  09:55 AM             2,435 Shape.class
04/20/2015  09:55 AM             1,017 Tetris.class
               5 File(s)         11,423 bytes
               2 Dir(s)  313,951,932,416 bytes free

C:\Users\dgerman\Desktop\one>java tetris.Tetris

C:\Users\dgerman\Desktop\one>

http://silo.cs.indiana.edu:8346/c212/spr2014/04212014/

Other places:

http://www.greenfoot.org/scenarios/335/get_gfar

Other things for Wed: 

http://www.cs.indiana.edu/classes/c211-dgerman/sum2014/hwFive.html

In lab we will develop something like this. 

Lab:

  (a) C211 ISL big-bang

  (b) C212 Big-Bang

  (c) Implement with your big-bang something like this

http://silo.cs.indiana.edu:8346/c212/spr2014/04212014/final%20exam/stage%20006%20spaceship/

How are we going to do a better job on big-bang than Lab Seven?

I propose to use the Strategy Pattern for Big-Bang.

See you on Wed. 

--


C:\Users\dgerman\Desktop\two>
C:\Users\dgerman\Desktop\two>cd ../three

C:\Users\dgerman\Desktop\three>javac *.java
Board (2).java:15: error: class Board is public, should be declared in a file na
med Board.java
public class Board extends JPanel implements ActionListener {
       ^
1 error

C:\Users\dgerman\Desktop\three>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\three

04/20/2015  10:32 AM    <DIR>          .
04/20/2015  10:32 AM    <DIR>          ..
04/20/2015  10:31 AM             1,316 Board (2).java
04/20/2015  10:32 AM             1,449 Craft.java
04/20/2015  10:32 AM             3,102 craft.png
04/20/2015  10:32 AM               418 RType.java
               4 File(s)          6,285 bytes
               2 Dir(s)  313,404,911,616 bytes free

C:\Users\dgerman\Desktop\three>ren "Board (2).java" Board.java

C:\Users\dgerman\Desktop\three>javac *.java

C:\Users\dgerman\Desktop\three>java RType

C:\Users\dgerman\Desktop\three>cd ..

C:\Users\dgerman\Desktop>cd four
The system cannot find the path specified.

C:\Users\dgerman\Desktop>mkdir four

C:\Users\dgerman\Desktop>cd four

C:\Users\dgerman\Desktop\four>dir
 Volume in drive C is OSDisk
 Volume Serial Number is 12D1-0980

 Directory of C:\Users\dgerman\Desktop\four

04/20/2015  10:34 AM    <DIR>          .
04/20/2015  10:34 AM    <DIR>          ..
04/20/2015  10:34 AM             1,810 Board.java
04/20/2015  10:34 AM             1,847 Craft.java
04/20/2015  10:34 AM             3,102 craft.png
04/20/2015  10:34 AM               848 Missile.java
04/20/2015  10:34 AM             2,631 missile.png
04/20/2015  10:34 AM               418 RType.java
               6 File(s)         10,656 bytes
               2 Dir(s)  313,404,796,928 bytes free

C:\Users\dgerman\Desktop\four>javac *.java
Note: Craft.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

C:\Users\dgerman\Desktop\four>java RType

C:\Users\dgerman\Desktop\four>