Skip to content

Commit a95cf66

Browse files
committed
- add 10 exciting levels (without any testing of course)
1 parent 5d9059a commit a95cf66

File tree

1 file changed

+194
-0
lines changed

1 file changed

+194
-0
lines changed

games/breakout.html

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -856,6 +856,200 @@ <h2>You Win!</h2>
856856
'RRRRRRRRR'.split('').map(b => b === 'R' ? 'rainbow' : 'normal')
857857
],
858858
ballSpeed: 1.6
859+
},
860+
// LEVEL 11: "Fortress"
861+
{
862+
rows: 8,
863+
cols: 12,
864+
bricks: [
865+
'SUUUUUUUUUUS'.split('').map(b => b === 'S' ? 'strong' : b === 'U' ? 'ultra' : 'normal'),
866+
'SIIIIIIIIIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : 'normal'),
867+
'SINNNNNNNNIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
868+
'SINRRRRRRNIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : 'normal'),
869+
'SINRRRRRRNIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : 'normal'),
870+
'SINNNNNNNNIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
871+
'SIIIIIIIIIS'.split('').map(b => b === 'S' ? 'strong' : b === 'I' ? 'indestructible' : 'normal'),
872+
'SUUUUUUUUUUS'.split('').map(b => b === 'S' ? 'strong' : b === 'U' ? 'ultra' : 'normal')
873+
],
874+
ballSpeed: 1.7
875+
},
876+
877+
// LEVEL 12: "Checkerboard"
878+
{
879+
rows: 8,
880+
cols: 12,
881+
bricks: [
882+
'SESESESESESE'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
883+
'ESESESESESES'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
884+
'SESESESESESE'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
885+
'ESESESESESES'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
886+
'SESESESESESE'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
887+
'ESESESESESES'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
888+
'SESESESESESE'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
889+
'ESESESESESES'.split('').map(b => b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal')
890+
],
891+
ballSpeed: 1.75
892+
},
893+
894+
// LEVEL 13: "The Path"
895+
{
896+
rows: 10,
897+
cols: 12,
898+
bricks: [
899+
'IIIIIIIIIIII'.split('').map(b => b === 'I' ? 'indestructible' : 'normal'),
900+
'INNNNNNNNNNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
901+
'INIIIIIIIIUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'U' ? 'ultra' : 'normal'),
902+
'INSSSSSSSRUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
903+
'INIIIIIIIRUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
904+
'INEREEEEEENI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : b === 'N' ? 'normal' : 'normal'),
905+
'INIIIIIIIIUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'U' ? 'ultra' : 'normal'),
906+
'INUUUUUUUUUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'U' ? 'ultra' : 'normal'),
907+
'INNNNNNNNNNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
908+
'IIIIIIIIIIII'.split('').map(b => b === 'I' ? 'indestructible' : 'normal')
909+
],
910+
ballSpeed: 1.8
911+
},
912+
913+
// LEVEL 14: "Double Rainbow"
914+
{
915+
rows: 9,
916+
cols: 13,
917+
bricks: [
918+
'NNNRRRRRRRNNN'.split('').map(b => b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : 'normal'),
919+
'NRRRRRRRRRRRN'.split('').map(b => b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : 'normal'),
920+
'RRRRRRRRRRRRR'.split('').map(b => b === 'R' ? 'rainbow' : 'normal'),
921+
'SSSSSSSSSSSSS'.split('').map(b => b === 'S' ? 'strong' : 'normal'),
922+
'UUUUUUUUUUUUU'.split('').map(b => b === 'U' ? 'ultra' : 'normal'),
923+
'SSSSSSSSSSSSS'.split('').map(b => b === 'S' ? 'strong' : 'normal'),
924+
'RRRRRRRRRRRRR'.split('').map(b => b === 'R' ? 'rainbow' : 'normal'),
925+
'NRRRRRRRRRRRN'.split('').map(b => b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : 'normal'),
926+
'NNNRRRRRRRNNN'.split('').map(b => b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : 'normal')
927+
],
928+
ballSpeed: 1.85
929+
},
930+
931+
// LEVEL 15: "Bomb Field"
932+
{
933+
rows: 10,
934+
cols: 14,
935+
bricks: [
936+
'UUUUUUUUUUUUUU'.split('').map(b => b === 'U' ? 'ultra' : 'normal'),
937+
'UEEUEEUEEUEEUS'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
938+
'UEUUEUUEUUEUES'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
939+
'UEEUEEUEEUEEUU'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : 'normal'),
940+
'UEUUEUUEUUEUSU'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
941+
'UEUUEUUEUUEUSU'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
942+
'UEEUEEUEEUEEUU'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : 'normal'),
943+
'UEUUEUUEUUEUES'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
944+
'UEEUEEUEEUEEUS'.split('').map(b => b === 'U' ? 'ultra' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : 'normal'),
945+
'UUUUUUUUUUUUUU'.split('').map(b => b === 'U' ? 'ultra' : 'normal')
946+
],
947+
ballSpeed: 1.9
948+
},
949+
950+
// LEVEL 16: "The Grid"
951+
{
952+
rows: 10,
953+
cols: 14,
954+
bricks: [
955+
'IRIRIRIRIRIR'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : 'normal'),
956+
'RNSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
957+
'INSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
958+
'RNSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
959+
'INSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
960+
'RNSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
961+
'INSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
962+
'RNSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
963+
'INSNSNSNSNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'S' ? 'strong' : 'normal'),
964+
'IRIRIRIRIRI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'R' ? 'rainbow' : 'normal')
965+
],
966+
ballSpeed: 1.95
967+
},
968+
969+
// LEVEL 17: "Target Practice"
970+
{
971+
rows: 11,
972+
cols: 11,
973+
bricks: [
974+
'NNNNNNNNNNN'.split('').map(b => b === 'N' ? 'normal' : 'normal'),
975+
'NRRRRRRRRRRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : 'normal'),
976+
'NRSSSSSSSRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : 'normal'),
977+
'NRSUUUUUSRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : 'normal'),
978+
'NRSUIEISURN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
979+
'NRSUIRISURN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : b === 'I' ? 'indestructible' : 'normal'),
980+
'NRSUIEISURN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
981+
'NRSUUUUUSRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : 'normal'),
982+
'NRSSSSSSSRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : b === 'S' ? 'strong' : 'normal'),
983+
'NRRRRRRRRN'.split('').map(b => b === 'N' ? 'normal' : b === 'R' ? 'rainbow' : 'normal'),
984+
'NNNNNNNNNNN'.split('').map(b => b === 'N' ? 'normal' : 'normal')
985+
],
986+
ballSpeed: 2.0
987+
},
988+
989+
// LEVEL 18: "The Gauntlet"
990+
{
991+
rows: 12,
992+
cols: 15,
993+
bricks: [
994+
'IIISSSSSSSSSIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : 'normal'),
995+
'IIISEEEEEEESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
996+
'IIISEUUUUUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
997+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
998+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
999+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1000+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1001+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1002+
'IIISEUIIUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1003+
'IIISEUUUUUESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1004+
'IIISEEEEEEESIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : b === 'E' ? 'explosive' : 'normal'),
1005+
'IIISSSSSSSSSIII'.split('').map(b => b === 'I' ? 'indestructible' : b === 'S' ? 'strong' : 'normal')
1006+
],
1007+
ballSpeed: 2.1
1008+
},
1009+
1010+
// LEVEL 19: "The Maze"
1011+
{
1012+
rows: 12,
1013+
cols: 14,
1014+
bricks: [
1015+
'IIIIIIIIIIIIII'.split('').map(b => b === 'I' ? 'indestructible' : 'normal'),
1016+
'INNNNNNNNNNNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
1017+
'INIIIIIIIIINI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : 'normal'),
1018+
'INIEEEEEEENNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : 'normal'),
1019+
'INIENNNNNNNNI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : 'normal'),
1020+
'INIENIIIIIIUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : b === 'U' ? 'ultra' : 'normal'),
1021+
'INIENISSSSSUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : b === 'U' ? 'ultra' : 'normal'),
1022+
'INIENISRRRSUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
1023+
'INIENISRNRSUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
1024+
'INIENISRRRSUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'E' ? 'explosive' : b === 'S' ? 'strong' : b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
1025+
'INIUUUUUUUUUI'.split('').map(b => b === 'I' ? 'indestructible' : b === 'N' ? 'normal' : b === 'U' ? 'ultra' : 'normal'),
1026+
'IIIIIIIIIIIIII'.split('').map(b => b === 'I' ? 'indestructible' : 'normal')
1027+
],
1028+
ballSpeed: 2.2
1029+
},
1030+
1031+
// LEVEL 20: "Final Challenge" (for now)
1032+
{
1033+
rows: 15,
1034+
cols: 15,
1035+
bricks: [
1036+
'RRRRRRRRRRRRRRR'.split('').map(b => b === 'R' ? 'rainbow' : 'normal'),
1037+
'RUUUUUUUUUUUUUR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
1038+
'RUSSSSSSSSSSSUR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : 'normal'),
1039+
'RUSNNNNNNNNNUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : 'normal'),
1040+
'RUSNIIIIIINUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : 'normal'),
1041+
'RUSNIEEEEENUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1042+
'RUSNIERRREIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1043+
'RUSNIERSREIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1044+
'RUSNIERSREIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1045+
'RUSNIERRREIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1046+
'RUSNIEEEEEIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : b === 'E' ? 'explosive' : 'normal'),
1047+
'RUSNIIIIIIIUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : b === 'N' ? 'normal' : b === 'I' ? 'indestructible' : 'normal'),
1048+
'RUSSSSSSSSSSUSR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : b === 'S' ? 'strong' : 'normal'),
1049+
'RUUUUUUUUUUUUUR'.split('').map(b => b === 'R' ? 'rainbow' : b === 'U' ? 'ultra' : 'normal'),
1050+
'RRRRRRRRRRRRRRR'.split('').map(b => b === 'R' ? 'rainbow' : 'normal')
1051+
],
1052+
ballSpeed: 2.3
8591053
}
8601054
];
8611055

0 commit comments

Comments
 (0)