├── New Document.txt ├── docs ├── index.html ├── CNAME └── Java │ └── sudoku-javafx │ └── docs │ ├── package-list │ ├── allclasses-noframe.html │ ├── allclasses-frame.html │ ├── script.js │ ├── application │ ├── package-frame.html │ └── class-use │ │ ├── Main.html │ │ └── Controller.html │ ├── index.html │ ├── deprecated-list.html │ └── constant-values.html ├── README.md ├── WeatherApp ├── README.md ├── complete │ ├── html.zip │ ├── imgs │ │ ├── codes │ │ │ ├── 200.png │ │ │ ├── 201.png │ │ │ ├── 202.png │ │ │ ├── 210.png │ │ │ ├── 211.png │ │ │ ├── 212.png │ │ │ ├── 221.png │ │ │ ├── 230.png │ │ │ ├── 231.png │ │ │ ├── 232.png │ │ │ ├── 300.png │ │ │ ├── 301.png │ │ │ ├── 302.png │ │ │ ├── 310.png │ │ │ ├── 311.png │ │ │ ├── 312.png │ │ │ ├── 313.png │ │ │ ├── 314.png │ │ │ ├── 321.png │ │ │ ├── 500.png │ │ │ ├── 501.png │ │ │ ├── 502.png │ │ │ ├── 503.png │ │ │ ├── 504.png │ │ │ ├── 511.png │ │ │ ├── 520.png │ │ │ ├── 521.png │ │ │ ├── 522.png │ │ │ ├── 531.png │ │ │ ├── 600.png │ │ │ ├── 601.png │ │ │ ├── 602.png │ │ │ ├── 603.png │ │ │ ├── 611.png │ │ │ ├── 612.png │ │ │ ├── 615.png │ │ │ ├── 616.png │ │ │ ├── 620.png │ │ │ ├── 621.png │ │ │ ├── 622.png │ │ │ ├── 701.png │ │ │ ├── 711.png │ │ │ ├── 721.png │ │ │ ├── 731.png │ │ │ ├── 741.png │ │ │ ├── 751.png │ │ │ ├── 761.png │ │ │ ├── 762.png │ │ │ ├── 771.png │ │ │ ├── 781.png │ │ │ ├── 800.png │ │ │ ├── 801.png │ │ │ ├── 803.png │ │ │ └── 804.png │ │ └── humidity.png │ ├── WeatherAppComplete.zip │ ├── index.html │ ├── styles.css │ └── app.js ├── imgs │ ├── humidity.png │ └── codes │ │ ├── 200.png │ │ ├── 201.png │ │ ├── 202.png │ │ ├── 210.png │ │ ├── 211.png │ │ ├── 212.png │ │ ├── 221.png │ │ ├── 230.png │ │ ├── 231.png │ │ ├── 232.png │ │ ├── 300.png │ │ ├── 301.png │ │ ├── 302.png │ │ ├── 310.png │ │ ├── 311.png │ │ ├── 312.png │ │ ├── 313.png │ │ ├── 314.png │ │ ├── 321.png │ │ ├── 500.png │ │ ├── 501.png │ │ ├── 502.png │ │ ├── 503.png │ │ ├── 504.png │ │ ├── 511.png │ │ ├── 520.png │ │ ├── 521.png │ │ ├── 522.png │ │ ├── 531.png │ │ ├── 600.png │ │ ├── 601.png │ │ ├── 602.png │ │ ├── 603.png │ │ ├── 611.png │ │ ├── 612.png │ │ ├── 615.png │ │ ├── 616.png │ │ ├── 620.png │ │ ├── 621.png │ │ ├── 622.png │ │ ├── 701.png │ │ ├── 711.png │ │ ├── 721.png │ │ ├── 731.png │ │ ├── 741.png │ │ ├── 751.png │ │ ├── 761.png │ │ ├── 762.png │ │ ├── 771.png │ │ ├── 781.png │ │ ├── 800.png │ │ ├── 801.png │ │ ├── 803.png │ │ └── 804.png ├── WeatherAppStarter.zip ├── index.html └── styles.css ├── Java └── sudoku-javafx │ ├── docs │ ├── package-list │ ├── allclasses-noframe.html │ ├── allclasses-frame.html │ ├── script.js │ ├── application │ │ ├── package-frame.html │ │ └── class-use │ │ │ ├── Main.html │ │ │ └── Controller.html │ ├── index.html │ ├── deprecated-list.html │ └── constant-values.html │ ├── sudoku-tutorial.zip │ ├── tutorial_img │ ├── 7qEWLHs.png │ ├── EDakzfE.png │ ├── EdobWTw.png │ ├── HM2Hm8F.png │ ├── Og7iwSG.png │ ├── QnNXidl.png │ ├── UpXVYuT.png │ ├── VJReJUB.png │ ├── VgIs8mV.png │ ├── aPrt9Wh.png │ ├── kWnIoVh.png │ ├── nJfgXaC.png │ ├── reiNKak.png │ ├── v46MmtA.png │ ├── xFXYxzy.png │ └── yMnWaHK.png │ ├── sudoku-tutorial │ ├── bin │ │ └── application │ │ │ ├── Main.class │ │ │ ├── Controller.class │ │ │ ├── GameBoard.class │ │ │ ├── Controller$1.class │ │ │ ├── application.css │ │ │ └── layout.fxml │ ├── build.fxbuild │ └── src │ │ └── application │ │ ├── application.css │ │ ├── Main.java │ │ └── layout.fxml │ └── links │ └── GameBoard.java └── TetrisElm ├── Part10 ├── .#Controller.elm ├── Part10.zip ├── Block.elm ├── Controller.elm ├── Board.elm ├── State.elm └── Tetromino.elm ├── Part2 ├── Part2.zip └── Block.elm ├── Part3 ├── Part3.zip ├── Block.elm └── Tetromino.elm ├── Part4 ├── Part4.zip ├── Block.elm └── Tetromino.elm ├── Part5 ├── Part5.zip ├── Block.elm └── Tetromino.elm ├── Part6 ├── Part6.zip ├── Block.elm ├── Controller.elm └── Tetromino.elm ├── Part7 ├── Part7.zip ├── Block.elm ├── Controller.elm ├── State.elm └── Tetromino.elm ├── Part8 ├── Part8.zip ├── Block.elm ├── Controller.elm ├── State.elm └── Tetromino.elm ├── Part9 ├── Part9.zip ├── Block.elm ├── Controller.elm └── State.elm ├── Part11 ├── Part11.zip ├── Block.elm ├── Controller.elm ├── State.elm ├── Board.elm └── Tetromino.elm ├── Part12 ├── Part12.zip ├── Block.elm ├── Controller.elm ├── State.elm ├── Board.elm └── Tetromino.elm ├── Part13 ├── Part13.zip ├── Block.elm ├── Controller.elm ├── State.elm ├── Board.elm └── Tetromino.elm ├── Part14 ├── Part14.zip ├── Block.elm ├── Controller.elm ├── State.elm └── Board.elm ├── Part15 ├── Part15.zip ├── Block.elm ├── Controller.elm └── Board.elm ├── Block.elm ├── Board.elm └── Tetromino.elm /New Document.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # captaincodertest 2 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | www.captaincoder.net -------------------------------------------------------------------------------- /WeatherApp/README.md: -------------------------------------------------------------------------------- 1 | # captaincoder -------------------------------------------------------------------------------- /Java/sudoku-javafx/docs/package-list: -------------------------------------------------------------------------------- 1 | application 2 | -------------------------------------------------------------------------------- /docs/Java/sudoku-javafx/docs/package-list: -------------------------------------------------------------------------------- 1 | application 2 | -------------------------------------------------------------------------------- /TetrisElm/Part10/.#Controller.elm: -------------------------------------------------------------------------------- 1 | jcollard@clark.11288:1455561102 -------------------------------------------------------------------------------- /TetrisElm/Part2/Part2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part2/Part2.zip -------------------------------------------------------------------------------- /TetrisElm/Part3/Part3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part3/Part3.zip -------------------------------------------------------------------------------- /TetrisElm/Part4/Part4.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part4/Part4.zip -------------------------------------------------------------------------------- /TetrisElm/Part5/Part5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part5/Part5.zip -------------------------------------------------------------------------------- /TetrisElm/Part6/Part6.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part6/Part6.zip -------------------------------------------------------------------------------- /TetrisElm/Part7/Part7.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part7/Part7.zip -------------------------------------------------------------------------------- /TetrisElm/Part8/Part8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part8/Part8.zip -------------------------------------------------------------------------------- /TetrisElm/Part9/Part9.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part9/Part9.zip -------------------------------------------------------------------------------- /TetrisElm/Part10/Part10.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part10/Part10.zip -------------------------------------------------------------------------------- /TetrisElm/Part11/Part11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part11/Part11.zip -------------------------------------------------------------------------------- /TetrisElm/Part12/Part12.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part12/Part12.zip -------------------------------------------------------------------------------- /TetrisElm/Part13/Part13.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part13/Part13.zip -------------------------------------------------------------------------------- /TetrisElm/Part14/Part14.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part14/Part14.zip -------------------------------------------------------------------------------- /TetrisElm/Part15/Part15.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/TetrisElm/Part15/Part15.zip -------------------------------------------------------------------------------- /WeatherApp/complete/html.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/html.zip -------------------------------------------------------------------------------- /WeatherApp/imgs/humidity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/humidity.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/200.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/201.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/202.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/210.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/211.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/211.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/212.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/212.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/221.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/221.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/230.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/230.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/231.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/231.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/232.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/232.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/300.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/301.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/301.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/302.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/302.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/310.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/311.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/312.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/312.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/313.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/314.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/314.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/321.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/321.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/500.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/501.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/501.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/502.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/502.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/503.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/503.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/504.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/504.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/511.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/511.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/520.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/520.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/521.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/521.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/522.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/522.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/531.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/531.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/600.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/601.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/601.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/602.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/602.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/603.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/603.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/611.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/611.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/612.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/612.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/615.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/615.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/616.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/616.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/620.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/620.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/621.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/621.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/622.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/622.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/701.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/701.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/711.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/711.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/721.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/721.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/731.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/731.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/741.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/741.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/751.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/751.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/761.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/761.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/762.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/762.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/771.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/771.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/781.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/781.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/800.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/801.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/801.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/803.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/803.png -------------------------------------------------------------------------------- /WeatherApp/imgs/codes/804.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/imgs/codes/804.png -------------------------------------------------------------------------------- /WeatherApp/WeatherAppStarter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/WeatherAppStarter.zip -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/sudoku-tutorial.zip -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/200.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/201.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/202.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/210.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/211.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/211.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/212.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/212.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/221.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/221.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/230.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/230.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/231.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/231.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/232.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/232.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/300.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/301.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/301.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/302.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/302.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/310.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/311.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/312.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/312.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/313.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/314.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/314.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/321.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/321.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/500.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/501.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/501.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/502.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/502.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/503.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/503.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/504.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/504.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/511.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/511.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/520.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/520.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/521.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/521.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/522.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/522.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/531.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/531.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/600.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/601.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/601.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/602.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/602.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/603.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/603.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/611.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/611.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/612.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/612.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/615.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/615.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/616.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/616.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/620.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/620.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/621.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/621.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/622.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/622.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/701.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/701.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/711.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/711.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/721.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/721.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/731.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/731.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/741.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/741.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/751.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/751.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/761.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/761.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/762.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/762.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/771.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/771.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/781.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/781.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/800.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/801.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/801.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/803.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/803.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/codes/804.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/codes/804.png -------------------------------------------------------------------------------- /WeatherApp/complete/imgs/humidity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/imgs/humidity.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/7qEWLHs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/7qEWLHs.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/EDakzfE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/EDakzfE.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/EdobWTw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/EdobWTw.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/HM2Hm8F.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/HM2Hm8F.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/Og7iwSG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/Og7iwSG.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/QnNXidl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/QnNXidl.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/UpXVYuT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/UpXVYuT.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/VJReJUB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/VJReJUB.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/VgIs8mV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/VgIs8mV.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/aPrt9Wh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/aPrt9Wh.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/kWnIoVh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/kWnIoVh.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/nJfgXaC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/nJfgXaC.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/reiNKak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/reiNKak.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/v46MmtA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/v46MmtA.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/xFXYxzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/xFXYxzy.png -------------------------------------------------------------------------------- /Java/sudoku-javafx/tutorial_img/yMnWaHK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/tutorial_img/yMnWaHK.png -------------------------------------------------------------------------------- /WeatherApp/complete/WeatherAppComplete.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/WeatherApp/complete/WeatherAppComplete.zip -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/sudoku-tutorial/bin/application/Main.class -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/Controller.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/sudoku-tutorial/bin/application/Controller.class -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/GameBoard.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/sudoku-tutorial/bin/application/GameBoard.class -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/Controller$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcollard/captaincoder/HEAD/Java/sudoku-javafx/sudoku-tutorial/bin/application/Controller$1.class -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/build.fxbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TetrisElm/Part10/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part11/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part12/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part13/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part14/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part15/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part2/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part3/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part4/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part5/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part6/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part7/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part8/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part9/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (..) 7 | 8 | type alias Block = { color : Color } 9 | 10 | {- The length of the edges of each block -} 11 | size : Float 12 | size = 25 13 | 14 | {- Given a Block, converts it to a Form. -} 15 | toForm : Block -> Form 16 | toForm block = 17 | let shape = square size 18 | border = outlined (solid Color.black) shape 19 | in group [filled block.color shape, border] 20 | 21 | main : Element 22 | main = collage 400 400 [toForm (Block Color.blue)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /TetrisElm/Part6/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = Signal.map arrowsToInput arrows 20 | 21 | main : Signal Element 22 | main = Signal.map show inputs 23 | -------------------------------------------------------------------------------- /TetrisElm/Part7/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = Signal.map arrowsToInput arrows 20 | 21 | main : Signal Element 22 | main = Signal.map show inputs 23 | -------------------------------------------------------------------------------- /TetrisElm/Block.elm: -------------------------------------------------------------------------------- 1 | module Block where 2 | 3 | import Basics exposing (..) 4 | import Color exposing (Color) 5 | import Color as Color 6 | 7 | import Graphics.Element exposing (Element) 8 | import Graphics.Element as Element 9 | 10 | import Graphics.Collage exposing (Form) 11 | import Graphics.Collage as Collage 12 | 13 | type alias Block = { color : Color } 14 | 15 | width : Float 16 | width = 25 17 | 18 | height : Float 19 | height = 25 20 | 21 | toForm : Block -> Form 22 | toForm block = 23 | let shape = Collage.rect width height 24 | in Collage.group [ Collage.filled block.color shape 25 | , Collage.outlined (Collage.solid Color.black) shape 26 | ] 27 | 28 | main : Element 29 | main = Collage.collage 400 400 30 | [(toForm (Block Color.green))] 31 | -------------------------------------------------------------------------------- /TetrisElm/Part10/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part11/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part12/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part13/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part14/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part15/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part8/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /TetrisElm/Part9/Controller.elm: -------------------------------------------------------------------------------- 1 | module Controller where 2 | 3 | import Basics exposing (..) 4 | import Graphics.Element exposing (Element, show) 5 | import Keyboard exposing (arrows) 6 | import Signal exposing (Signal) 7 | import Time exposing (Time, fps) 8 | 9 | {- The various inputs that change the State of a Tetris Game. -} 10 | type Input = Rotate | Shift (Int, Int) | Tick Time 11 | 12 | {- Converts a Record produced by Keyboard.arrows into an Input -} 13 | arrowsToInput : { x : Int, y : Int } -> Input 14 | arrowsToInput {x, y} = 15 | if (y == 1) then Rotate else Shift (y, x) 16 | 17 | {- A Signal of Inputs -} 18 | inputs : Signal Input 19 | inputs = 20 | let ticks = Signal.map Tick (fps 30) 21 | keys = Signal.map arrowsToInput arrows 22 | in Signal.merge ticks keys 23 | 24 | main : Signal Element 25 | main = Signal.map show inputs 26 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/docs/allclasses-noframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 | 12 |

All Classes

13 |
14 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/Java/sudoku-javafx/docs/allclasses-noframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 | 12 |

All Classes

13 |
14 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/application.css: -------------------------------------------------------------------------------- 1 | /* Class definition for the base pane */ 2 | 3 | .base_pane { /*using the base_pane class selector will style our pane */ 4 | 5 | /*changes the background color of our pane to 6 | * dark blue, color code is in hexadecimal */ 7 | -fx-background-color: #34495e; 8 | 9 | } 10 | 11 | .button { /*using the button class selector will style all nine buttons that carry it */ 12 | 13 | /*changes the background color of our buttons to 14 | * light gray, color code is in hexadecimal */ 15 | -fx-background-color: #bdc3c7; 16 | 17 | } 18 | 19 | .button:hover { /*using the button class selector with the hover state will 20 | * define the style of all nine buttons when hovered over with the cursor */ 21 | 22 | /*changes the background color of our buttons to 23 | * soft white, color code is in hexadecimal */ 24 | -fx-background-color: #ecf0f1; 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/src/application/application.css: -------------------------------------------------------------------------------- 1 | /* Class definition for the base pane */ 2 | 3 | .base_pane { /*using the base_pane class selector will style our pane */ 4 | 5 | /*changes the background color of our pane to 6 | * dark blue, color code is in hexadecimal */ 7 | -fx-background-color: #34495e; 8 | 9 | } 10 | 11 | .button { /*using the button class selector will style all nine buttons that carry it */ 12 | 13 | /*changes the background color of our buttons to 14 | * light gray, color code is in hexadecimal */ 15 | -fx-background-color: #bdc3c7; 16 | 17 | } 18 | 19 | .button:hover { /*using the button class selector with the hover state will 20 | * define the style of all nine buttons when hovered over with the cursor */ 21 | 22 | /*changes the background color of our buttons to 23 | * soft white, color code is in hexadecimal */ 24 | -fx-background-color: #ecf0f1; 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/docs/allclasses-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 | 12 |

All Classes

13 |
14 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/docs/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /WeatherApp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Weather App 4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |
0°
12 |
Unknown
13 |
14 |
15 |
16 | 17 |
18 | 19 |
20 | 21 |
22 | 23 | 0% 24 |
25 | 26 |
27 | 0 mph N 28 |
29 | 30 |
31 |
32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /docs/Java/sudoku-javafx/docs/allclasses-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 | 12 |

All Classes

13 |
14 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/Java/sudoku-javafx/docs/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /WeatherApp/complete/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Weather App 4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |
0°
12 |
Unknown
13 |
14 |
15 |
16 | 17 |
18 | 19 |
20 | 21 |
22 | 23 | 0% 24 |
25 | 26 |
27 | 0 mph N 28 |
29 | 30 |
31 |
32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/docs/application/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | application 7 | 8 | 9 | 10 | 11 | 12 |

application

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/Java/sudoku-javafx/docs/application/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | application 7 | 8 | 9 | 10 | 11 | 12 |

application

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /WeatherApp/styles.css: -------------------------------------------------------------------------------- 1 | .weather-app { 2 | margin: auto; 3 | width: 300px; 4 | height: 160px; 5 | border: 1px solid black; 6 | border-radius: 20px; 7 | box-shadow: 10px 10px 50px #888888; 8 | overflow: hidden; 9 | text-align:center; 10 | font-family: "Mono"; 11 | } 12 | 13 | .left { 14 | float: left; 15 | background: #262626; 16 | padding:10px; 17 | width:150px; 18 | height:100%; 19 | color:white; 20 | } 21 | 22 | .temperature { 23 | margin-top:30px; 24 | margin-bottom:5px; 25 | font-size:32px; 26 | font-weight: bold; 27 | width: 150px; 28 | } 29 | 30 | .location { 31 | font-size: 18px; 32 | width:100%; 33 | width:150px; 34 | } 35 | 36 | .right { 37 | float: right; 38 | width:130px; 39 | height:100%; 40 | } 41 | 42 | .top { 43 | height: 100px; 44 | width: 100%; 45 | margin: auto; 46 | background: #cec; 47 | } 48 | 49 | .top img { 50 | margin-top: 15px; 51 | } 52 | 53 | .bottom { 54 | height: 70px; 55 | background: #669999; 56 | color: white; 57 | font-weight: bold; 58 | } 59 | 60 | .humidity { 61 | padding: 8px; 62 | } 63 | 64 | .wind { 65 | } 66 | -------------------------------------------------------------------------------- /WeatherApp/complete/styles.css: -------------------------------------------------------------------------------- 1 | .weather-app { 2 | margin: auto; 3 | width: 300px; 4 | height: 160px; 5 | border: 1px solid black; 6 | border-radius: 20px; 7 | box-shadow: 10px 10px 50px #888888; 8 | overflow: hidden; 9 | text-align:center; 10 | font-family: "Mono"; 11 | } 12 | 13 | .left { 14 | float: left; 15 | background: #262626; 16 | padding:10px; 17 | width:150px; 18 | height:100%; 19 | color:white; 20 | } 21 | 22 | .temperature { 23 | margin-top:30px; 24 | margin-bottom:5px; 25 | font-size:32px; 26 | font-weight: bold; 27 | width: 150px; 28 | } 29 | 30 | .location { 31 | font-size: 18px; 32 | width:100%; 33 | width:150px; 34 | } 35 | 36 | .right { 37 | float: right; 38 | width:130px; 39 | height:100%; 40 | } 41 | 42 | .top { 43 | height: 100px; 44 | width: 100%; 45 | margin: auto; 46 | background: #cec; 47 | } 48 | 49 | .top img { 50 | margin-top: 15px; 51 | } 52 | 53 | .bottom { 54 | height: 70px; 55 | background: #669999; 56 | color: white; 57 | font-weight: bold; 58 | } 59 | 60 | .humidity { 61 | padding: 8px; 62 | } 63 | 64 | .wind { 65 | } 66 | -------------------------------------------------------------------------------- /TetrisElm/Part7/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | 10 | 11 | {- A Record describing the state of our game -} 12 | type alias State = { falling : Tetromino } 13 | 14 | {- Our default starting state -} 15 | defaultState : State 16 | defaultState = { falling = Tetromino.j } 17 | 18 | {- Given a state, create an Element that can be rendered to the screen. -} 19 | view : State -> Element 20 | view state = 21 | let 22 | screenWidth = 800 23 | screenHeight = 600 24 | fallingForm = Tetromino.toForm state.falling 25 | in collage screenWidth screenHeight [fallingForm] 26 | 27 | {- Given an Input and a State, produce the State that is a result of 28 | the input on the previous state. -} 29 | update : Input -> State -> State 30 | update input state = 31 | case input of 32 | Rotate -> { state | falling = Tetromino.rotate state.falling } 33 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 34 | 35 | {- A Signal of states for our Game -} 36 | states : Signal State 37 | states = Signal.foldp update defaultState inputs 38 | 39 | main : Signal Element 40 | main = Signal.map view states 41 | -------------------------------------------------------------------------------- /TetrisElm/Part8/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | 10 | 11 | {- A Record describing the state of our game -} 12 | type alias State = { falling : Tetromino } 13 | 14 | {- Our default starting state -} 15 | defaultState : State 16 | defaultState = { falling = Tetromino.j } 17 | 18 | {- Given a state, create an Element that can be rendered to the screen. -} 19 | view : State -> Element 20 | view state = 21 | let 22 | screenWidth = 800 23 | screenHeight = 600 24 | fallingForm = Tetromino.toForm state.falling 25 | in collage screenWidth screenHeight [fallingForm] 26 | 27 | {- Given an Input and a State, produce the State that is a result of 28 | the input on the previous state. -} 29 | update : Input -> State -> State 30 | update input state = 31 | case input of 32 | Rotate -> { state | falling = Tetromino.rotate state.falling } 33 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 34 | 35 | {- A Signal of states for our Game -} 36 | states : Signal State 37 | states = Signal.foldp update defaultState inputs 38 | 39 | main : Signal Element 40 | main = Signal.map view states 41 | -------------------------------------------------------------------------------- /TetrisElm/Part3/Tetromino.elm: -------------------------------------------------------------------------------- 1 | module Tetromino where 2 | 3 | import Basics exposing (..) 4 | import Block exposing (Block) 5 | import Color exposing (Color) 6 | import Graphics.Collage exposing (..) 7 | import Graphics.Element exposing (..) 8 | import List 9 | 10 | {- A Location is the row, col position on the Board -} 11 | type alias Location = (Int, Int) 12 | {- A Tetromino is a list of locations where a particular 13 | block is placed. 14 | -} 15 | type alias Tetromino = { shape : List Location 16 | , block : Block 17 | } 18 | 19 | {- Converts a Tetromino to a Form that can be rendered -} 20 | toForm : Tetromino -> Form 21 | toForm { shape, block } = 22 | let form = Block.toForm block 23 | translate (row, col) = move ((toFloat col) * Block.size, 24 | (toFloat row) * Block.size) form 25 | forms = List.map translate shape 26 | in group forms 27 | 28 | i : Tetromino 29 | i = { shape = [ ( 1, 0) 30 | , ( 0, 0) 31 | , (-1, 0) 32 | , (-2, 0)] 33 | , block = Block Color.lightBlue 34 | } 35 | 36 | j : Tetromino 37 | j = { shape = [ ( 1, 0), 38 | ( 0, 0), 39 | (-1, -1), (-1, 0) 40 | ] 41 | , block = Block Color.blue 42 | } 43 | 44 | tetromino = j 45 | 46 | main : Element 47 | main = collage 400 400 [toForm tetromino] 48 | -------------------------------------------------------------------------------- /TetrisElm/Part10/Board.elm: -------------------------------------------------------------------------------- 1 | module Board where 2 | 3 | import Block exposing (Block) 4 | import Color 5 | import Dict exposing (Dict) 6 | import Graphics.Collage exposing (..) 7 | import Tetromino exposing (Tetromino, Location) 8 | 9 | type alias Board = Dict Location Block 10 | 11 | new : List (Location, Block) -> Board 12 | new = Dict.fromList 13 | 14 | cols : Int 15 | cols = 10 16 | 17 | rows : Int 18 | rows = 20 19 | 20 | background : Form 21 | background = 22 | let shape = rect ((toFloat cols) * Block.size) ((toFloat rows) * Block.size) 23 | border = outlined (solid Color.black) shape --Added later 24 | in group [border, filled Color.black shape] 25 | 26 | addBlock : Location -> Block -> Form -> Form 27 | addBlock (row, col) block form = 28 | let 29 | offSetX = -(toFloat (cols - 1) * Block.size)/2 30 | offSetY = -(toFloat (rows - 1) * Block.size)/2 31 | x = toFloat col * Block.size 32 | y = toFloat row * Block.size 33 | blockForm = Block.toForm block |> move (offSetX + x, offSetY + y) 34 | in group [form, blockForm] 35 | 36 | toForm : Board -> Form 37 | toForm board = Dict.foldr addBlock background board 38 | 39 | testBoard : Board 40 | testBoard = new [ ( (0,0), Block Color.blue ) 41 | , ( (0,1), Block Color.yellow ) 42 | , ( (1,0), Block Color.red ) 43 | , ( (1,1), Block Color.green ) 44 | ] 45 | 46 | 47 | main = collage 600 600 [toForm testBoard] 48 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/src/application/Main.java: -------------------------------------------------------------------------------- 1 | package application; 2 | 3 | import javafx.application.Application; 4 | import javafx.fxml.FXMLLoader; 5 | import javafx.stage.Stage; 6 | import javafx.scene.Parent; 7 | import javafx.scene.Scene; 8 | 9 | /*** 10 | * The application class; handles inflating the layout and launching itself. 11 | * 12 | * @author Captain Coder 13 | * @version 1 14 | * @see Application 15 | * @see FXMLLoader 16 | * @see Scene 17 | * @see Stage 18 | */ 19 | public class Main extends Application { 20 | @Override 21 | /* modify the method declaration to throw generic Exception (in case any of the steps fail) */ 22 | public void start(Stage primaryStage) throws Exception { 23 | 24 | /* load layout.fxml from file and assign it to a scene root object */ 25 | Parent root = FXMLLoader.load(getClass().getResource("layout.fxml")); 26 | 27 | /* assign the root to a new scene and define its dimensions */ 28 | Scene scene = new Scene(root, 720, 480); 29 | 30 | /* set the title of the stage (window) */ 31 | primaryStage.setTitle("Sudoku"); 32 | /* set the scene of the stage to our newly created from the layout scene */ 33 | primaryStage.setScene(scene); 34 | /* show the stage */ 35 | primaryStage.show(); 36 | } 37 | 38 | /*** 39 | * 40 | * @param args to configure launch with 41 | */ 42 | public static void main(String[] args) { 43 | launch(args); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/links/GameBoard.java: -------------------------------------------------------------------------------- 1 | package application; 2 | 3 | public class GameBoard { 4 | 5 | /* Array that will contain the complete solution to the board */ 6 | private int[][] solution; 7 | /* Array that will contain ONLY the numbers initially drawn on the board and that the player can't change */ 8 | private int[][] initial; 9 | /* Array that will contain player's numbers */ 10 | private int[][] player; 11 | 12 | public GameBoard() { 13 | solution = new int[][] 14 | { 15 | {5,3,8,4,6,1,7,9,2}, 16 | {6,9,7,3,2,5,8,1,4}, 17 | {2,1,4,7,8,9,5,6,3}, 18 | {9,4,1,2,7,8,6,3,5}, 19 | {7,6,2,1,5,3,9,4,8}, 20 | {8,5,3,9,4,6,1,2,7}, 21 | {3,8,9,5,1,2,4,7,6}, 22 | {4,2,6,8,9,7,3,5,1}, 23 | {1,7,5,6,3,4,2,8,9} 24 | }; 25 | 26 | // 0's will be rendered as empty space and will be editable by player 27 | initial = new int[][] 28 | { 29 | {0,0,0,4,0,0,0,9,0}, 30 | {6,0,7,0,0,0,8,0,4}, 31 | {0,1,0,7,0,9,0,0,3}, 32 | {9,0,1,0,7,0,0,3,0}, 33 | {0,0,2,0,0,0,9,0,0}, 34 | {0,5,0,0,4,0,1,0,7}, 35 | {3,0,0,5,0,2,0,7,0}, 36 | {4,0,6,0,0,0,3,0,1}, 37 | {0,7,0,0,0,4,0,0,0} 38 | }; 39 | 40 | // player's array is initialized as a 9x9 full of zeroes 41 | player = new int[9][9]; 42 | } 43 | 44 | // returns the solution array 45 | public int[][] getSolution() { 46 | return solution; 47 | } 48 | 49 | // returns the initial filled-in numbers array 50 | public int[][] getInitial() { 51 | return initial; 52 | } 53 | 54 | // returns the player array 55 | public int[][] getPlayer() { 56 | return player; 57 | } 58 | 59 | // modifies a value in the player array 60 | public void modifyPlayer(int val, int row, int col) { 61 | if(val >=0 && val <= 9) // only values from 0 to 9 inclusive are permitted 62 | player[row][col] = val; 63 | else // print out an error message 64 | System.out.println("Value passed to player falls out of range"); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /TetrisElm/Part9/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | import Time exposing (Time) 10 | 11 | 12 | {- A Record describing the state of our game -} 13 | type alias State = { falling : Tetromino 14 | , time : Time 15 | , nextShift : Time 16 | , shiftDelay : Time 17 | } 18 | 19 | {- Our default starting state -} 20 | defaultState : State 21 | defaultState = { falling = Tetromino.j 22 | , time = 0 23 | , nextShift = Time.second 24 | , shiftDelay = Time.second 25 | } 26 | 27 | {- Given a state, create an Element that can be rendered to the screen. -} 28 | view : State -> Element 29 | view state = 30 | let 31 | screenWidth = 800 32 | screenHeight = 600 33 | fallingForm = Tetromino.toForm state.falling 34 | in collage screenWidth screenHeight [fallingForm] 35 | 36 | checkTick : State -> State 37 | checkTick state = 38 | if (state.time < state.nextShift) then state 39 | else { state | falling = Tetromino.shift (-1, 0) state.falling 40 | , nextShift = state.time + state.shiftDelay 41 | } 42 | 43 | {- Given an Input and a State, produce the State that is a result of 44 | the input on the previous state. -} 45 | update : Input -> State -> State 46 | update input state = 47 | case input of 48 | Rotate -> { state | falling = Tetromino.rotate state.falling } 49 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 50 | Tick delta -> checkTick { state | time = state.time + delta } 51 | 52 | {- A Signal of states for our Game -} 53 | states : Signal State 54 | states = Signal.foldp update defaultState inputs 55 | 56 | main : Signal Element 57 | main = Signal.map view states 58 | -------------------------------------------------------------------------------- /TetrisElm/Part10/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | import Time exposing (Time) 10 | 11 | 12 | {- A Record describing the state of our game -} 13 | type alias State = { falling : Tetromino 14 | , time : Time 15 | , nextShift : Time 16 | , shiftDelay : Time 17 | } 18 | 19 | {- Our default starting state -} 20 | defaultState : State 21 | defaultState = { falling = Tetromino.j 22 | , time = 0 23 | , nextShift = Time.second 24 | , shiftDelay = Time.second 25 | } 26 | 27 | {- Given a state, create an Element that can be rendered to the screen. -} 28 | view : State -> Element 29 | view state = 30 | let 31 | screenWidth = 800 32 | screenHeight = 600 33 | fallingForm = Tetromino.toForm state.falling 34 | in collage screenWidth screenHeight [fallingForm] 35 | 36 | {- Checks to see if it is time to move the Tetromino down. -} 37 | checkTick : State -> State 38 | checkTick state = 39 | if (state.time < state.nextShift) then state 40 | else { state | falling = Tetromino.shift (-1, 0) state.falling 41 | , nextShift = state.time + state.shiftDelay 42 | } 43 | 44 | {- Given an Input and a State, produce the State that is a result of 45 | the input on the previous state. -} 46 | update : Input -> State -> State 47 | update input state = 48 | case input of 49 | Rotate -> { state | falling = Tetromino.rotate state.falling } 50 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 51 | Tick delta -> checkTick { state | time = state.time + delta } 52 | 53 | {- A Signal of states for our Game -} 54 | states : Signal State 55 | states = Signal.foldp update defaultState inputs 56 | 57 | main : Signal Element 58 | main = Signal.map view states 59 | -------------------------------------------------------------------------------- /TetrisElm/Part11/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | import Time exposing (Time) 10 | 11 | 12 | {- A Record describing the state of our game -} 13 | type alias State = { falling : Tetromino 14 | , time : Time 15 | , nextShift : Time 16 | , shiftDelay : Time 17 | } 18 | 19 | {- Our default starting state -} 20 | defaultState : State 21 | defaultState = { falling = Tetromino.j 22 | , time = 0 23 | , nextShift = Time.second 24 | , shiftDelay = Time.second 25 | } 26 | 27 | {- Given a state, create an Element that can be rendered to the screen. -} 28 | view : State -> Element 29 | view state = 30 | let 31 | screenWidth = 800 32 | screenHeight = 600 33 | fallingForm = Tetromino.toForm state.falling 34 | in collage screenWidth screenHeight [fallingForm] 35 | 36 | {- Checks to see if it is time to move the Tetromino down. -} 37 | checkTick : State -> State 38 | checkTick state = 39 | if (state.time < state.nextShift) then state 40 | else { state | falling = Tetromino.shift (-1, 0) state.falling 41 | , nextShift = state.time + state.shiftDelay 42 | } 43 | 44 | {- Given an Input and a State, produce the State that is a result of 45 | the input on the previous state. -} 46 | update : Input -> State -> State 47 | update input state = 48 | case input of 49 | Rotate -> { state | falling = Tetromino.rotate state.falling } 50 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 51 | Tick delta -> checkTick { state | time = state.time + delta } 52 | 53 | {- A Signal of states for our Game -} 54 | states : Signal State 55 | states = Signal.foldp update defaultState inputs 56 | 57 | main : Signal Element 58 | main = Signal.map view states 59 | -------------------------------------------------------------------------------- /TetrisElm/Part12/State.elm: -------------------------------------------------------------------------------- 1 | module State where 2 | 3 | import Basics exposing (..) 4 | import Controller exposing (..) 5 | import Graphics.Collage exposing (..) 6 | import Graphics.Element exposing (Element) 7 | import Signal 8 | import Tetromino exposing (Tetromino) 9 | import Time exposing (Time) 10 | 11 | 12 | {- A Record describing the state of our game -} 13 | type alias State = { falling : Tetromino 14 | , time : Time 15 | , nextShift : Time 16 | , shiftDelay : Time 17 | } 18 | 19 | {- Our default starting state -} 20 | defaultState : State 21 | defaultState = { falling = Tetromino.j 22 | , time = 0 23 | , nextShift = Time.second 24 | , shiftDelay = Time.second 25 | } 26 | 27 | {- Given a state, create an Element that can be rendered to the screen. -} 28 | view : State -> Element 29 | view state = 30 | let 31 | screenWidth = 800 32 | screenHeight = 600 33 | fallingForm = Tetromino.toForm state.falling 34 | in collage screenWidth screenHeight [fallingForm] 35 | 36 | {- Checks to see if it is time to move the Tetromino down. -} 37 | checkTick : State -> State 38 | checkTick state = 39 | if (state.time < state.nextShift) then state 40 | else { state | falling = Tetromino.shift (-1, 0) state.falling 41 | , nextShift = state.time + state.shiftDelay 42 | } 43 | 44 | {- Given an Input and a State, produce the State that is a result of 45 | the input on the previous state. -} 46 | update : Input -> State -> State 47 | update input state = 48 | case input of 49 | Rotate -> { state | falling = Tetromino.rotate state.falling } 50 | Shift amount -> { state | falling = Tetromino.shift amount state.falling } 51 | Tick delta -> checkTick { state | time = state.time + delta } 52 | 53 | {- A Signal of states for our Game -} 54 | states : Signal State 55 | states = Signal.foldp update defaultState inputs 56 | 57 | main : Signal Element 58 | main = Signal.map view states 59 | -------------------------------------------------------------------------------- /Java/sudoku-javafx/sudoku-tutorial/bin/application/layout.fxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |