Skip to content

Commit 2f8015e

Browse files
authored
Merge pull request #9 from ByteHamster/new-level
New levels: 1 medium, 2 community
2 parents f0ade56 + 4fd6f2a commit 2f8015e

10 files changed

Lines changed: 80 additions & 3 deletions

File tree

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ local.properties
66
app/src/main/assets/levelsEasy.xml.compressed
77
app/src/main/assets/levelsMedium.xml.compressed
88
app/src/main/assets/levelsHard.xml.compressed
9-
10-
9+
app/src/main/assets/levelsCommunity.xml.compressed

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ android {
5252
compress(projectDir.path + '/src/main/assets/levelsEasy.xml')
5353
compress(projectDir.path + '/src/main/assets/levelsMedium.xml')
5454
compress(projectDir.path + '/src/main/assets/levelsHard.xml')
55+
compress(projectDir.path + '/src/main/assets/levelsCommunity.xml')
5556
}
5657
}
5758
preBuild.dependsOn compressLevelFile
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<levels>
3+
4+
<level number="136"
5+
author="Hleb"
6+
color="ddrrdr
7+
drrrdr
8+
rrrrdr
9+
ddrrrr
10+
rrrrrr
11+
rrrrrr
12+
rrrrrr
13+
rrrrrr"
14+
modifier="
15+
0000L0
16+
0000L0
17+
0000L0
18+
UU0000
19+
000000
20+
000000
21+
000000
22+
F00000" />
23+
24+
<level number="137"
25+
author="Nico207"
26+
color="bbbbr
27+
rooob
28+
roooo
29+
roogb
30+
rgggb
31+
rooob"
32+
modifier="
33+
0000s
34+
0000x
35+
0000L
36+
00F00
37+
000a0
38+
xF00F" />
39+
40+
</levels>

app/src/main/assets/levelsMedium.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -868,4 +868,23 @@
868868
00000
869869
rUFF0" />
870870

871+
<level number="135"
872+
color="dddddd
873+
doddbd
874+
dddddd
875+
dgddrd
876+
dddddd
877+
gddddd
878+
dddddd
879+
0rbog0"
880+
modifier="
881+
rr00gg
882+
ro00bg
883+
rrbogg
884+
rgborg
885+
rrbogg
886+
RrrggL
887+
F0000F
888+
XFFFFX" />
889+
871890
</levels>

app/src/main/java/com/bytehamster/flowitgame/model/LevelPack.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ public class LevelPack {
1515
public static LevelPack EASY;
1616
public static LevelPack MEDIUM;
1717
public static LevelPack HARD;
18+
public static LevelPack COMMUNITY;
1819
private int id;
1920

2021
public static void parsePacks(Context context) {
2122
EASY = new LevelPack(1, "levelsEasy.xml", context);
2223
MEDIUM = new LevelPack(2, "levelsMedium.xml", context);
23-
HARD = new LevelPack(2, "levelsHard.xml", context);
24+
HARD = new LevelPack(3, "levelsHard.xml", context);
25+
COMMUNITY = new LevelPack(4, "levelsCommunity.xml", context);
2426
}
2527

2628
private LevelPack(int id, String fileName, Context context) {

app/src/main/java/com/bytehamster/flowitgame/state/LevelPackSelectState.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class LevelPackSelectState extends State {
2222
private Plane pack1;
2323
private Plane pack2;
2424
private Plane pack3;
25+
private Plane pack4;
2526
private Plane selectLevelPackText;
2627
private Container container;
2728
private boolean pressed = false;
@@ -62,6 +63,10 @@ protected void initialize(GLRenderer glRenderer) {
6263
pack3 = new Plane(-menuEntriesWidth, pack2.getY() - 2 * menuEntriesHeight, menuEntriesWidth, menuEntriesHeight, coordinatesPack3);
6364
container.addDrawable(pack3);
6465

66+
TextureCoordinates coordinatesPack4 = TextureCoordinates.getFromBlocks(6, 14, 12, 15);
67+
pack4 = new Plane(-menuEntriesWidth, pack3.getY() - 2 * menuEntriesHeight, menuEntriesWidth, menuEntriesHeight, coordinatesPack4);
68+
container.addDrawable(pack4);
69+
6570
glRenderer.addDrawable(container);
6671
glRenderer.addDrawable(selectLevelPackText);
6772
}
@@ -84,6 +89,7 @@ public void entry() {
8489
AnimationFactory.startMenuAnimationEnter(pack1, (int) (3.0f * Animation.DURATION_SHORT));
8590
AnimationFactory.startMenuAnimationEnter(pack2, (int) (3.5f * Animation.DURATION_SHORT));
8691
AnimationFactory.startMenuAnimationEnter(pack3, (int) (4.0f * Animation.DURATION_SHORT));
92+
AnimationFactory.startMenuAnimationEnter(pack4, (int) (4.5f * Animation.DURATION_SHORT));
8793
}
8894

8995
@Override
@@ -111,6 +117,12 @@ public void exit() {
111117
} else {
112118
AnimationFactory.startMenuAnimationOut(pack3);
113119
}
120+
121+
if (LevelSelectState.getInstance().getPack() == LevelPack.COMMUNITY) {
122+
AnimationFactory.startMenuAnimationOutPressed(pack4);
123+
} else {
124+
AnimationFactory.startMenuAnimationOut(pack4);
125+
}
114126
}
115127

116128
@Override
@@ -135,6 +147,8 @@ public void onTouchEvent(MotionEvent event) {
135147
openSelectState(LevelPack.MEDIUM);
136148
} else if (pack3.collides(event.getX(), event.getY() + container.getY(), getScreenHeight())) {
137149
openSelectState(LevelPack.HARD);
150+
} else if (pack4.collides(event.getX(), event.getY() + container.getY(), getScreenHeight())) {
151+
openSelectState(LevelPack.COMMUNITY);
138152
}
139153
} else if (event.getAction() == MotionEvent.ACTION_UP) {
140154
pressed = false;

app/src/main/java/com/bytehamster/flowitgame/state/State.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ public boolean isPlayable(Level level) {
8787
return isSolved(LevelPack.EASY.getLevel(0).getNumber());
8888
} else if (level.getPack() == LevelPack.HARD) {
8989
return isSolved(LevelPack.MEDIUM.getLevel(0).getNumber());
90+
} else if (level.getPack() == LevelPack.COMMUNITY) {
91+
return isSolved(LevelPack.MEDIUM.getLevel(0).getNumber());
9092
}
9193
return false;
9294
} else if (isSolved(level.getNumber())) {
-21.4 KB
Loading
-20.9 KB
Loading

assets/texture.xcf

11.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)