HexaBlitz


The fun and addictive match-three / bubble-shooter game revisited for Android.

hexablitz_logo

WHAT’S HEXABLITZ?

The idea of this implementation is to convert the game from a strategy/action-planning game into a fast-paced survival aimed at competing for high scores, breaking your way through unlimited levels, and sharing the experience with others. The game is no longer turn based, you don’t control your cannon anymore; It charges and fires automatically in given intervals. Your challenge is to adjust the aiming angle correctly before it fires.

GAMEPLAY

You level up after firing some amount of hexagons which are indicated by the bottom bar.
The game’s pace speeds up with each level and you’re presented with new types of hexagons each set of levels.
As usual, matching three bubbles of the same color earns some points.
Moreover, collecting more than three gives you a super hexagon. For different colors, each super hexagon has a unique effect.

 

DOWNLOAD

CONTESTS

  • AAC2013 — First place Egypt. Top 10 in final round.

J2ME – Bomberman Math


Help Bomberman and his friends solve their math puzzles before they get beaten by the monsters. The game guarantees a playing experience that is intensive, addictive yet very simple.

BombermanMath-Logo

WHAT’S BOMBERMAN MATH?
A lightweight version of the classic Bomberman game with powerups, multiple levels, unlockable characters and simple arithmetic problems. Get Bomberman Math for your mobile phone NOW. It’s FREE!!!

OVERVIEW

  • Character select screen

  • The game initially has one playable character (Bomberman) and provides 4 unlockable characters as you progress through the game. Each character has its own set of levels and by finishing these levels, you unlock the next character.

  • Quiz screen

  • The goal of the game is to solve a simple math quiz. You’re given an arithmetic operation with a missing digit in the result. If you find this digit during the game-play, you advance to the next level.

  • Levels

  • Each character plays three different levels with increasing difficulty. The levels vary in the number of enemies and their speed. The last level has faster enemies. The game automatically saves your progress on your sd-card so that you can continue from where you started.

  • Gameplay

  • You can move your character on the gird using the DIRECTIONAL buttons. Place bombs using the game FIRE button. Select the quiz answer using your game A button.
    When bombs explode, fires spread in four directions killing and destroying anything they meet. When fire reaches a bomb it creates a “chain reaction” resulting in more destruction. When you destroy breakable blocks you either reveal a power-up, a digit for the puzzle solution or nothingness.
    Enemy numbers increase per level and they move in totally random motion. So, good luck!

  • Powerups

  • Powerups are your allies against the barbarian monsters. To pick a powerup, simply walk on it. Power-ups disappear after some period of time, so pick them quickly. Whether you pick up a good or a bad powerup, you’ll get score points. The game has ten powerups generated randomly throughout the grid:

    • fire-up – increases the bomb’s fire range by one point.
    • fire-down – decreases the bomb’s fire range by one point.
    • bomb-up – increases the number of bombs you can place simultaneously.
    • bomb-down – decreases the number of bombs you can place simultaneously.
    • speed-up – increases your speed by one point.
    • speed-down – decreases your speed by one point.
    • power-bomb – moves your bombs’ range points to the maximum.
    • roll-bomb – allows you to throw bombs forward.
    • no-roll-bomb – disables the previous powerup.
    • pierce-bomb – allows your bombs’ fires to penetrate multiple walls.

PERMISSION DESCRIPTION

  • Storage – SD-Card access. This is needed to store your progress.

DOWNLOAD EXECUTABLES

SOURCE CODE

SRM453.5 – MazeMaker


A graph breadth-first-search problem.
Since Jim is smart, he’ll always find the shortest bfs path to every cell. So, what we’ll do is find the cell with the maximum distance and place the exit there.
Caution!

  • Input maze isn’t always a square.

C++ implementation:

#include <string>
#include <vector>
#include <queue>
using namespace std;

#define PUSH(x, y, d) if (x > -1 && y > -1  && y < (*maze).size() && x < (*maze)[y].size()&& \
		(*maze)[y][x] == '.') { q.push((x) | ((y) << 8) | ((d) << 16)); (*maze)[y][x] = 'X'; }
#define N 64

class MazeMaker {
	int maxD;
	vector<string> *maze;
	vector<int> *dX, *dY;
	void bfs(int sX, int sY) {
		queue<int> q;
		PUSH(sX, sY, 0);
		while (q.size()) {
			int x = q.front() & 0xFF, y = (q.front() >> 8) & 0xFF, d = q.front() >> 16;
			maxD = max(d, maxD);
			q.pop();
			for (int i = 0; i < (*dX).size(); ++i)
				PUSH(x + (*dX)[i], y + (*dY)[i], d + 1);
		}
	}
public:
	int longestPath(vector<string> maze, int sX, int sY, vector<int> dX, vector<int> dY) {
		this->maze = &maze;
		this->dX = &dY;
		this->dY = &dX;
		this->maxD = -1;
		bfs(sY, sX);
		for (int i = 0; i < maze.size(); ++i)
			for (int j = 0; j < maze[i].size(); ++j)
				if (maze[i][j] == '.' && (maxD = -1))
					break;
		return maxD;
	}
};