Added screen-capture functionality (press D). Added safeguards to prevent NPE when player.txt, DetailedInfo.txt do not exist. Removed these files from source control.
This commit is contained in:
10
.gitignore
vendored
10
.gitignore
vendored
@@ -1,8 +1,18 @@
|
|||||||
bin
|
bin
|
||||||
|
|
||||||
build
|
build
|
||||||
|
|
||||||
classes
|
classes
|
||||||
|
|
||||||
dist
|
dist
|
||||||
|
|
||||||
docs
|
docs
|
||||||
|
|
||||||
.project
|
.project
|
||||||
|
|
||||||
.settings
|
.settings
|
||||||
|
|
||||||
.classpath
|
.classpath
|
||||||
|
player.txt
|
||||||
|
DetailedInfo.txt
|
||||||
|
*.png
|
||||||
261
DetailedInfo.txt
261
DetailedInfo.txt
@@ -1,261 +0,0 @@
|
|||||||
StartTime = -17
|
|
||||||
RightMove: StTime = 94 EdTime = 32
|
|
||||||
Jump: StTime = 119 EdTime = 132
|
|
||||||
Jump: StTime = 139 EdTime = 155
|
|
||||||
RightMove: StTime = 128 EdTime = 64
|
|
||||||
RightMove: StTime = 161 EdTime = 65
|
|
||||||
Jump: StTime = 158 EdTime = 170
|
|
||||||
CollectCoin: time = 176
|
|
||||||
CollectCoin: time = 177
|
|
||||||
Jump: StTime = 176 EdTime = 184
|
|
||||||
RightMove: StTime = 163 EdTime = 89
|
|
||||||
BlockCoinDestroy: time = 190
|
|
||||||
Jump: StTime = 188 EdTime = 196
|
|
||||||
BlockPowerDestroy: time = 208
|
|
||||||
Jump: StTime = 206 EdTime = 214
|
|
||||||
RightMove: StTime = 200 EdTime = 112
|
|
||||||
LeftMove: StTime = 224 EdTime = 2
|
|
||||||
RightMove: StTime = 227 EdTime = 125
|
|
||||||
Jump: StTime = 234 EdTime = 248
|
|
||||||
LittleState: StTime = -17 EdTime = 251
|
|
||||||
LeftMove: StTime = 241 EdTime = 31
|
|
||||||
StompKill: EnemyType = 2 time = 286
|
|
||||||
Jump: StTime = 271 EdTime = 297
|
|
||||||
Jump: StTime = 302 EdTime = 312
|
|
||||||
Jump: StTime = 325 EdTime = 344
|
|
||||||
RightMove: StTime = 271 EdTime = 200
|
|
||||||
RightMove: StTime = 347 EdTime = 201
|
|
||||||
RightMove: StTime = 352 EdTime = 202
|
|
||||||
Jump: StTime = 352 EdTime = 364
|
|
||||||
CollectCoin: time = 372
|
|
||||||
CollectCoin: time = 375
|
|
||||||
Jump: StTime = 392 EdTime = 407
|
|
||||||
LargeState: StTime = 251 EdTime = 407
|
|
||||||
RightMove: StTime = 354 EdTime = 294
|
|
||||||
RightMove: StTime = 447 EdTime = 295
|
|
||||||
RightMove: StTime = 449 EdTime = 296
|
|
||||||
Jump: StTime = 448 EdTime = 457
|
|
||||||
RightMove: StTime = 451 EdTime = 328
|
|
||||||
RightMove: StTime = 484 EdTime = 329
|
|
||||||
RightMove: StTime = 486 EdTime = 330
|
|
||||||
Jump: StTime = 484 EdTime = 494
|
|
||||||
CollectCoin: time = 519
|
|
||||||
CollectCoin: time = 519
|
|
||||||
CollectCoin: time = 522
|
|
||||||
Jump: StTime = 519 EdTime = 527
|
|
||||||
CollectCoin: time = 530
|
|
||||||
CollectCoin: time = 532
|
|
||||||
BlockCoinDestroy: time = 532
|
|
||||||
Jump: StTime = 530 EdTime = 538
|
|
||||||
RightMove: StTime = 488 EdTime = 385
|
|
||||||
Jump: StTime = 545 EdTime = 553
|
|
||||||
LeftMove: StTime = 544 EdTime = 45
|
|
||||||
BlockCoinDestroy: time = 560
|
|
||||||
Jump: StTime = 558 EdTime = 566
|
|
||||||
RightMove: StTime = 559 EdTime = 396
|
|
||||||
Jump: StTime = 570 EdTime = 578
|
|
||||||
LeftMove: StTime = 571 EdTime = 54
|
|
||||||
RightMove: StTime = 581 EdTime = 398
|
|
||||||
Jump: StTime = 590 EdTime = 598
|
|
||||||
LeftMove: StTime = 584 EdTime = 71
|
|
||||||
RightMove: StTime = 602 EdTime = 403
|
|
||||||
Jump: StTime = 603 EdTime = 611
|
|
||||||
Jump: StTime = 614 EdTime = 622
|
|
||||||
Jump: StTime = 626 EdTime = 634
|
|
||||||
LeftMove: StTime = 608 EdTime = 98
|
|
||||||
RightMove: StTime = 636 EdTime = 433
|
|
||||||
RightMove: StTime = 667 EdTime = 434
|
|
||||||
Jump: StTime = 664 EdTime = 676
|
|
||||||
RightMove: StTime = 669 EdTime = 442
|
|
||||||
RightMove: StTime = 681 EdTime = 443
|
|
||||||
RightMove: StTime = 683 EdTime = 444
|
|
||||||
Jump: StTime = 681 EdTime = 694
|
|
||||||
CollectCoin: time = 716
|
|
||||||
CollectCoin: time = 718
|
|
||||||
CollectCoin: time = 725
|
|
||||||
CollectCoin: time = 725
|
|
||||||
Jump: StTime = 716 EdTime = 729
|
|
||||||
CollectCoin: time = 733
|
|
||||||
CollectCoin: time = 741
|
|
||||||
Jump: StTime = 731 EdTime = 744
|
|
||||||
Jump: StTime = 751 EdTime = 765
|
|
||||||
Jump: StTime = 801 EdTime = 811
|
|
||||||
CollectCoin: time = 821
|
|
||||||
CollectCoin: time = 821
|
|
||||||
RightMove: StTime = 685 EdTime = 583
|
|
||||||
Jump: StTime = 821 EdTime = 829
|
|
||||||
BlockCoinDestroy: time = 836
|
|
||||||
Jump: StTime = 834 EdTime = 842
|
|
||||||
LeftMove: StTime = 832 EdTime = 111
|
|
||||||
CollectCoin: time = 850
|
|
||||||
LeftMove: StTime = 846 EdTime = 124
|
|
||||||
CollectCoin: time = 859
|
|
||||||
Jump: StTime = 850 EdTime = 863
|
|
||||||
Jump: StTime = 864 EdTime = 872
|
|
||||||
RightMove: StTime = 860 EdTime = 600
|
|
||||||
Jump: StTime = 880 EdTime = 888
|
|
||||||
BlockPowerDestroy: time = 895
|
|
||||||
Jump: StTime = 893 EdTime = 901
|
|
||||||
RightMove: StTime = 882 EdTime = 624
|
|
||||||
LittleState: StTime = 407 EdTime = 919
|
|
||||||
Jump: StTime = 915 EdTime = 951
|
|
||||||
BlockPowerDestroy: time = 973
|
|
||||||
CollectCoin: time = 974
|
|
||||||
CollectCoin: time = 977
|
|
||||||
Jump: StTime = 972 EdTime = 978
|
|
||||||
CollectCoin: time = 982
|
|
||||||
Jump: StTime = 984 EdTime = 990
|
|
||||||
RightMove: StTime = 912 EdTime = 709
|
|
||||||
Jump: StTime = 996 EdTime = 1010
|
|
||||||
Jump: StTime = 1018 EdTime = 1024
|
|
||||||
BlockCoinDestroy: time = 1030
|
|
||||||
Jump: StTime = 1029 EdTime = 1035
|
|
||||||
LeftMove: StTime = 1012 EdTime = 148
|
|
||||||
LeftMove: StTime = 1039 EdTime = 165
|
|
||||||
LargeState: StTime = 919 EdTime = 1060
|
|
||||||
Jump: StTime = 1054 EdTime = 1081
|
|
||||||
RightMove: StTime = 1057 EdTime = 749
|
|
||||||
LeftMove: StTime = 1098 EdTime = 167
|
|
||||||
Jump: StTime = 1105 EdTime = 1117
|
|
||||||
StompKill: EnemyType = 2 time = 1133
|
|
||||||
Jump: StTime = 1119 EdTime = 1144
|
|
||||||
RunState: StTime = 1144 EdTime = 1148
|
|
||||||
RunState: StTime = 1158 EdTime = 1162
|
|
||||||
RightMove: StTime = 1169 EdTime = 751
|
|
||||||
RightMove: StTime = 1172 EdTime = 753
|
|
||||||
Jump: StTime = 1165 EdTime = 1175
|
|
||||||
RightMove: StTime = 1183 EdTime = 757
|
|
||||||
LeftMove: StTime = 1188 EdTime = 172
|
|
||||||
RightMove: StTime = 1194 EdTime = 758
|
|
||||||
RightMove: StTime = 1196 EdTime = 759
|
|
||||||
BlockCoinDestroy: time = 1206
|
|
||||||
Jump: StTime = 1205 EdTime = 1211
|
|
||||||
Jump: StTime = 1221 EdTime = 1227
|
|
||||||
RightMove: StTime = 1203 EdTime = 792
|
|
||||||
Jump: StTime = 1233 EdTime = 1245
|
|
||||||
CollectCoin: time = 1259
|
|
||||||
Jump: StTime = 1262 EdTime = 1268
|
|
||||||
RightMove: StTime = 1237 EdTime = 824
|
|
||||||
Jump: StTime = 1278 EdTime = 1284
|
|
||||||
RightMove: StTime = 1291 EdTime = 832
|
|
||||||
Jump: StTime = 1293 EdTime = 1306
|
|
||||||
CollectCoin: time = 1309
|
|
||||||
Jump: StTime = 1311 EdTime = 1317
|
|
||||||
CollectCoin: time = 1322
|
|
||||||
Jump: StTime = 1325 EdTime = 1331
|
|
||||||
CollectCoin: time = 1331
|
|
||||||
Jump: StTime = 1340 EdTime = 1346
|
|
||||||
Jump: StTime = 1356 EdTime = 1371
|
|
||||||
Jump: StTime = 1378 EdTime = 1391
|
|
||||||
Jump: StTime = 1401 EdTime = 1413
|
|
||||||
Jump: StTime = 1456 EdTime = 1468
|
|
||||||
Jump: StTime = 1509 EdTime = 1522
|
|
||||||
Jump: StTime = 1533 EdTime = 1545
|
|
||||||
Jump: StTime = 1560 EdTime = 1579
|
|
||||||
RightMove: StTime = 1309 EdTime = 1104
|
|
||||||
LeftMove: StTime = 1582 EdTime = 183
|
|
||||||
Jump: StTime = 1594 EdTime = 1609
|
|
||||||
Jump: StTime = 1616 EdTime = 1628
|
|
||||||
Jump: StTime = 1630 EdTime = 1640
|
|
||||||
Jump: StTime = 1647 EdTime = 1667
|
|
||||||
Jump: StTime = 1671 EdTime = 1683
|
|
||||||
Jump: StTime = 1722 EdTime = 1734
|
|
||||||
Jump: StTime = 1738 EdTime = 1752
|
|
||||||
CollectCoin: time = 1752
|
|
||||||
CollectCoin: time = 1754
|
|
||||||
CollectCoin: time = 1757
|
|
||||||
CollectCoin: time = 1769
|
|
||||||
CollectCoin: time = 1772
|
|
||||||
FireState: StTime = 1060 EdTime = 1773
|
|
||||||
CollectCoin: time = 1793
|
|
||||||
CollectCoin: time = 1796
|
|
||||||
CollectCoin: time = 1799
|
|
||||||
CollectCoin: time = 1802
|
|
||||||
Jump: StTime = 1799 EdTime = 1805
|
|
||||||
RightMove: StTime = 1594 EdTime = 1321
|
|
||||||
Jump: StTime = 1812 EdTime = 1818
|
|
||||||
BlockCoinDestroy: time = 1824
|
|
||||||
Jump: StTime = 1823 EdTime = 1829
|
|
||||||
RightMove: StTime = 1821 EdTime = 1339
|
|
||||||
Jump: StTime = 1835 EdTime = 1841
|
|
||||||
Jump: StTime = 1851 EdTime = 1857
|
|
||||||
RightMove: StTime = 1845 EdTime = 1359
|
|
||||||
StompKill: EnemyType = 2 time = 1883
|
|
||||||
RightMove: StTime = 1867 EdTime = 1383
|
|
||||||
Jump: StTime = 1869 EdTime = 1894
|
|
||||||
CollectCoin: time = 1900
|
|
||||||
CollectCoin: time = 1904
|
|
||||||
Jump: StTime = 1903 EdTime = 1909
|
|
||||||
BlockPowerDestroy: time = 1914
|
|
||||||
Jump: StTime = 1913 EdTime = 1919
|
|
||||||
RightMove: StTime = 1892 EdTime = 1413
|
|
||||||
Jump: StTime = 1929 EdTime = 1935
|
|
||||||
RightMove: StTime = 1923 EdTime = 1431
|
|
||||||
LargeState: StTime = 1773 EdTime = 1948
|
|
||||||
LeftMove: StTime = 1942 EdTime = 210
|
|
||||||
Jump: StTime = 1943 EdTime = 1976
|
|
||||||
LeftMove: StTime = 1976 EdTime = 215
|
|
||||||
StompKill: EnemyType = 2 time = 1984
|
|
||||||
Jump: StTime = 1980 EdTime = 1995
|
|
||||||
RightMove: StTime = 1982 EdTime = 1447
|
|
||||||
Jump: StTime = 2009 EdTime = 2024
|
|
||||||
Jump: StTime = 2046 EdTime = 2059
|
|
||||||
Jump: StTime = 2083 EdTime = 2096
|
|
||||||
RunState: StTime = 2122 EdTime = 2126
|
|
||||||
RunState: StTime = 2148 EdTime = 2151
|
|
||||||
Jump: StTime = 2139 EdTime = 2155
|
|
||||||
RunState: StTime = 2156 EdTime = 2159
|
|
||||||
RunState: StTime = 2163 EdTime = 2166
|
|
||||||
RunState: StTime = 2170 EdTime = 2173
|
|
||||||
LeftMove: StTime = 2028 EdTime = 372
|
|
||||||
Jump: StTime = 2202 EdTime = 2218
|
|
||||||
Jump: StTime = 2224 EdTime = 2236
|
|
||||||
LeftMove: StTime = 2232 EdTime = 378
|
|
||||||
RunState: StTime = 2294 EdTime = 2297
|
|
||||||
RightMove: StTime = 2239 EdTime = 1511
|
|
||||||
RunState: StTime = 2316 EdTime = 2319
|
|
||||||
RunState: StTime = 2323 EdTime = 2326
|
|
||||||
RunState: StTime = 2330 EdTime = 2333
|
|
||||||
RunState: StTime = 2336 EdTime = 2339
|
|
||||||
RightMove: StTime = 2332 EdTime = 1519
|
|
||||||
RunState: StTime = 2346 EdTime = 2348
|
|
||||||
FireKill: EnemyType =2time = 2349
|
|
||||||
RunState: StTime = 2350 EdTime = 2353
|
|
||||||
LeftMove: StTime = 2344 EdTime = 387
|
|
||||||
RunState: StTime = 2356 EdTime = 2357
|
|
||||||
RunState: StTime = 2362 EdTime = 2365
|
|
||||||
RunState: StTime = 2367 EdTime = 2371
|
|
||||||
RunState: StTime = 2373 EdTime = 2376
|
|
||||||
RunState: StTime = 2377 EdTime = 2381
|
|
||||||
RightMove: StTime = 2385 EdTime = 1543
|
|
||||||
RightMove: StTime = 2410 EdTime = 1544
|
|
||||||
RightMove: StTime = 2412 EdTime = 1545
|
|
||||||
RightMove: StTime = 2414 EdTime = 1546
|
|
||||||
RightMove: StTime = 2416 EdTime = 1547
|
|
||||||
RightMove: StTime = 2418 EdTime = 1559
|
|
||||||
Jump: StTime = 2416 EdTime = 2431
|
|
||||||
RightMove: StTime = 2431 EdTime = 1560
|
|
||||||
RightMove: StTime = 2433 EdTime = 1561
|
|
||||||
RightMove: StTime = 2435 EdTime = 1562
|
|
||||||
RightMove: StTime = 2437 EdTime = 1563
|
|
||||||
RightMove: StTime = 2439 EdTime = 1564
|
|
||||||
RightMove: StTime = 2441 EdTime = 1565
|
|
||||||
RightMove: StTime = 2443 EdTime = 1566
|
|
||||||
Jump: StTime = 2441 EdTime = 2451
|
|
||||||
Jump: StTime = 2457 EdTime = 2472
|
|
||||||
Jump: StTime = 2506 EdTime = 2512
|
|
||||||
Jump: StTime = 2540 EdTime = 2546
|
|
||||||
RightMove: StTime = 2445 EdTime = 1676
|
|
||||||
Jump: StTime = 2570 EdTime = 2576
|
|
||||||
LeftMove: StTime = 2556 EdTime = 408
|
|
||||||
RightMove: StTime = 2578 EdTime = 1684
|
|
||||||
Jump: StTime = 2593 EdTime = 2599
|
|
||||||
LeftMove: StTime = 2587 EdTime = 424
|
|
||||||
RightMove: StTime = 2604 EdTime = 1705
|
|
||||||
RightMove: StTime = 2626 EdTime = 1706
|
|
||||||
RightMove: StTime = 2628 EdTime = 1707
|
|
||||||
Jump: StTime = 2627 EdTime = 2642
|
|
||||||
Jump: StTime = 2651 EdTime = 2661
|
|
||||||
Totaltime = 2678
|
|
||||||
RightMove: StTime = 2630 EdTime = 1738
|
|
||||||
FireState: StTime = 1948 EdTime = 2661
|
|
||||||
BIN
player.txt
BIN
player.txt
Binary file not shown.
@@ -94,7 +94,8 @@ public class GamePlay implements Serializable {
|
|||||||
gp = (GamePlay) in.readObject();
|
gp = (GamePlay) in.readObject();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
//e.printStackTrace();
|
||||||
|
System.out.println("Unable to read from GamePlay file: " + fileName + ", initializing a new GamePlay instance.");
|
||||||
}
|
}
|
||||||
return gp;
|
return gp;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,15 +4,21 @@ import java.awt.Color;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.GraphicsConfiguration;
|
import java.awt.GraphicsConfiguration;
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.awt.Rectangle;
|
||||||
|
import java.awt.Robot;
|
||||||
import java.awt.event.FocusEvent;
|
import java.awt.event.FocusEvent;
|
||||||
import java.awt.event.FocusListener;
|
import java.awt.event.FocusListener;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.KeyListener;
|
import java.awt.event.KeyListener;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.image.VolatileImage;
|
import java.awt.image.VolatileImage;
|
||||||
|
import java.io.File;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
import javax.sound.sampled.LineUnavailableException;
|
import javax.sound.sampled.LineUnavailableException;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
|
|
||||||
@@ -36,6 +42,7 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
public static final int GAME_VERSION = 4;
|
public static final int GAME_VERSION = 4;
|
||||||
|
|
||||||
private boolean running = false;
|
private boolean running = false;
|
||||||
|
private boolean screenshotTaken = false;
|
||||||
private int width, height;
|
private int width, height;
|
||||||
private GraphicsConfiguration graphicsConfiguration;
|
private GraphicsConfiguration graphicsConfiguration;
|
||||||
private Scene scene;
|
private Scene scene;
|
||||||
@@ -45,7 +52,8 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
private LevelGenerator levelGenerator;
|
private LevelGenerator levelGenerator;
|
||||||
private Scale2x scale2x = new Scale2x(320, 240);
|
private Scale2x scale2x = new Scale2x(320, 240);
|
||||||
|
|
||||||
public MarioComponent(int width, int height, boolean isCustomized, LevelGenerator levelGenerator) {
|
public MarioComponent(int width, int height, boolean isCustomized,
|
||||||
|
LevelGenerator levelGenerator) {
|
||||||
addFocusListener(this);
|
addFocusListener(this);
|
||||||
addMouseListener(this);
|
addMouseListener(this);
|
||||||
addKeyListener(this);
|
addKeyListener(this);
|
||||||
@@ -100,6 +108,14 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
if (isPressed && keyCode == KeyEvent.VK_F1) {
|
if (isPressed && keyCode == KeyEvent.VK_F1) {
|
||||||
useScale2x = !useScale2x;
|
useScale2x = !useScale2x;
|
||||||
}
|
}
|
||||||
|
if (keyCode == KeyEvent.VK_D) {
|
||||||
|
if (!isPressed) {
|
||||||
|
screenshotTaken = false;
|
||||||
|
} else if (!screenshotTaken) {
|
||||||
|
screenshotTaken = true;
|
||||||
|
takeScreenShot();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isPressed && keyCode == KeyEvent.VK_ESCAPE) {
|
if (isPressed && keyCode == KeyEvent.VK_ESCAPE) {
|
||||||
try {
|
try {
|
||||||
@@ -110,6 +126,25 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void takeScreenShot() {
|
||||||
|
System.out.println("Taking screenshot.");
|
||||||
|
Point loc = getLocationOnScreen();
|
||||||
|
|
||||||
|
Rectangle screenRect = new Rectangle(loc.x, loc.y, getWidth(), getHeight());
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
Robot robot = new Robot();
|
||||||
|
BufferedImage bufferedImg = robot.createScreenCapture(screenRect);
|
||||||
|
File tempFile = File.createTempFile("screenshot", ".png", new File("."));
|
||||||
|
ImageIO.write(bufferedImg, "png",
|
||||||
|
tempFile);
|
||||||
|
System.out.println("Screeshot saved to current working directory: " + tempFile.getName());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace(System.out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
super.paint(g);
|
super.paint(g);
|
||||||
}
|
}
|
||||||
@@ -149,7 +184,8 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
|
|
||||||
boolean naiveTiming = true;
|
boolean naiveTiming = true;
|
||||||
|
|
||||||
///Not sure I understand the weird dichotomy between LevelScene and LevelInterface...
|
// /Not sure I understand the weird dichotomy between LevelScene and
|
||||||
|
// LevelInterface...
|
||||||
randomLevel = new LevelSceneCustom(graphicsConfiguration, this,
|
randomLevel = new LevelSceneCustom(graphicsConfiguration, this,
|
||||||
new Random().nextLong(), 0, 0, isCustom, levelGenerator);
|
new Random().nextLong(), 0, 0, isCustom, levelGenerator);
|
||||||
|
|
||||||
@@ -161,7 +197,7 @@ public class MarioComponent extends JComponent implements Runnable,
|
|||||||
randomLevel.init();
|
randomLevel.init();
|
||||||
randomLevel.setSound(sound);
|
randomLevel.setSound(sound);
|
||||||
scene = randomLevel;
|
scene = randomLevel;
|
||||||
///
|
// /
|
||||||
|
|
||||||
while (running) {
|
while (running) {
|
||||||
float lastTime = time;
|
float lastTime = time;
|
||||||
|
|||||||
@@ -5,33 +5,27 @@ import java.io.FileReader;
|
|||||||
|
|
||||||
public class FileHandler {
|
public class FileHandler {
|
||||||
|
|
||||||
public static String readFile(String fileName){
|
public static String readFile(String fileName) {
|
||||||
String info = "";
|
String info = "";
|
||||||
try {
|
try {
|
||||||
FileReader input = new FileReader(fileName);
|
FileReader input = new FileReader(fileName);
|
||||||
BufferedReader bufRead = new BufferedReader(input);
|
BufferedReader bufRead = new BufferedReader(input);
|
||||||
|
|
||||||
String line;
|
String line;
|
||||||
|
|
||||||
int count = 0;
|
line = bufRead.readLine();
|
||||||
line = bufRead.readLine();
|
info = line + "\n";
|
||||||
info = line +"\n";
|
|
||||||
count++;
|
|
||||||
|
|
||||||
|
while (line != null) {
|
||||||
|
line = bufRead.readLine();
|
||||||
|
info += line + "\n";
|
||||||
|
}
|
||||||
|
|
||||||
while (line != null){
|
bufRead.close();
|
||||||
// System.out.println(count+": "+line);
|
|
||||||
line = bufRead.readLine();
|
|
||||||
info += line + "\n";
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
|
|
||||||
bufRead.close();
|
} catch (Exception e) {
|
||||||
|
System.out.println("Unable to read from file: " + fileName +", returning empty String.");
|
||||||
}catch (Exception e){
|
}
|
||||||
// If another exception is generated, print a stack trace
|
return info;
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return info;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,19 +44,12 @@ public class LevelSceneCustom extends LevelScene {
|
|||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (level == null)
|
GamePlay gp = GamePlay.read("player.txt");
|
||||||
// if (isCustom) {
|
currentLevel = (Level) clg.generateLevel(gp);
|
||||||
GamePlay gp = GamePlay.read("player.txt");
|
|
||||||
currentLevel = (Level) clg.generateLevel(gp);
|
|
||||||
|
|
||||||
// You can use the following commands if you want to benefit
|
String detailedInfo = FileHandler.readFile("DetailedInfo.txt");
|
||||||
// from
|
//TODO parse DetailedInfo
|
||||||
// the interface containing detailed information
|
System.out.println("DetailedInfo: " + detailedInfo);
|
||||||
String detailedInfo = FileHandler.readFile("DetailedInfo.txt");
|
|
||||||
System.out.println("DetailedInfo: " + detailedInfo);
|
|
||||||
// } else
|
|
||||||
// currentLevel = new RandomLevel(320, 15, levelSeed,
|
|
||||||
// levelDifficulty, levelType);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
level = currentLevel.clone();
|
level = currentLevel.clone();
|
||||||
@@ -64,8 +57,9 @@ public class LevelSceneCustom extends LevelScene {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO change this
|
||||||
// level is always overground
|
// level is always overground
|
||||||
Art.startMusic(1);
|
Art.startMusic(2);
|
||||||
|
|
||||||
paused = false;
|
paused = false;
|
||||||
Sprite.spriteContext = this;
|
Sprite.spriteContext = this;
|
||||||
|
|||||||
Reference in New Issue
Block a user