Coded with Python in Vusual Studio Code.
Inspired by the hidden items in Henri Rousseau's paintings, Henri's Hidden Objects was written in Python using the Pygame library. You can play it on Itch.io or download the Python code from GitHub.
Inspired by the Atari game Adventure, this game was written in Python using the Pygame library. You can download the Python code from GitHub. I also made a level editor for the game.
I wrote this web scraper that scrapes the day's headlines and saves them to an excel spreadsheet. It also notes the most frequent words for the day. You can download the Python code from GitHub.
Coded with Java in Eclipse and published on app stores. Monitized with banner ads with Admob.
package com.archpress.aceinvaders;
import android.app.AlertDialog;
//import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.view.Window;
import android.view.WindowManager;
import com.google.ads.AdRequest;
import com.google.ads.AdView;
import com.xiledsystems.AlternateJavaBridgelib.components.Component;
import com.xiledsystems.AlternateJavaBridgelib.components.HandlesEventDispatching;
import com.xiledsystems.AlternateJavaBridgelib.components.altbridge.Canvas;
import com.xiledsystems.AlternateJavaBridgelib.components.altbridge.Clock;
import com.xiledsystems.AlternateJavaBridgelib.components.altbridge.Convert;
import com.xiledsystems.AlternateJavaBridgelib.components.altbridge.Form;
import com.xiledsystems.AlternateJavaBridgelib.components.altbridge.ImageSprite;
import com.xiledsystems.AlternateJavaBridgelib.components.events.EventDispatcher;
public class AcesActivity extends Form implements HandlesEventDispatching {
SoundPool sp;
private AdView adView2;
private Canvas Canvas1;
private ImageSprite jack, alienace, bolt, heart, heart2, heart3, heart4, heart5, heart6, heart7, heart8, heart9, heart10;
private ImageSprite littlespade, littlespade2, littlespade3, cloud1, cloud2, cloud3, diamond;
private Clock littlealien,diamondshot,heartshot,heartshot2,heartshot3,heartshot4,heartshot5,heartshot6,heartshot7,heartshot8,heartshot9,heartshot10,aliencolor;
private Clock cloudsmove, littlealien2, littlealien3, miscclock;
private Clock purpleclock, alienslandedcheckclock;
double oldx, heartoldx, heartoldx2, heartoldx3, heartoldx4, heartoldx5, heartoldx6, heartoldx7, heartoldx8, heartoldx9, heartoldx10;
private ImageSprite purple, heartenergy;
int pop, aliencolorswitch, counter, heartcounter, littlespadecounter, cloudcounter, invert, littlespade2counter, littlespade3counter=0;
int buzzing, blip, thunder, thud, magical, grunt, ding, alienlanding;
int aliensequence, hitswitch, heartenergyclockswitch, heartrandomcounter, endofgamecounter=1;
int aliendipcounter, misccounter, boltcounter, boltwait, zapcounter, hits, landingcounter, alienskilled=0;
int rectY, purpleswitch, aliendialogswitch, alienonelandedswitch, alientwolandedswitch, alienthreelandedswitch, endofgamecounterswitch;
int alienonelanded, alientwolanded, alienthreelanded;
double littlespadeXmove, littlespade2Xmove, littlespade3Xmove, cloudsmovedirection, clouds2movedirection, clouds3movedirection=.1;
boolean lilspade1alive, lilspade2alive, lilspade3alive, boltfired=false;
@Override
public void preUILoad() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
protected void $define() {
setContentView(R.layout.aces);
adView2 = (AdView)this.findViewById(R.id.adView2);
adView2.loadAd(new AdRequest());
adView2.bringToFront();
Canvas1 = new Canvas (this, R.id.aBCanvas1);
Canvas1.BackgroundImage(R.drawable.background2);
rectY=0;
sp = new SoundPool(17, AudioManager.STREAM_MUSIC, 0);
pop = sp.load(this, R.raw.pop, 1);
buzzing = sp.load(this, R.raw.buzzing, 1);
blip = sp.load(this, R.raw.blip, 1);
thunder = sp.load(this, R.raw.thunder, 1);
thud = sp.load(this, R.raw.thud, 1);
magical = sp.load(this, R.raw.magical, 1);
grunt = sp.load(this, R.raw.grunt, 1);
ding = sp.load(this, R.raw.ding, 1);
alienlanding = sp.load(this, R.raw.alienlanding, 1);
alienonelanded=0;
alientwolanded=0;
alienthreelanded=0;
alienonelandedswitch=0;
alientwolandedswitch=0;
alienthreelandedswitch=0;
alienslandedcheckclock = new Clock(this);
alienslandedcheckclock.TimerEnabled(true);
alienslandedcheckclock.TimerInterval(1);
alienslandedcheckclock.TimerAlwaysFires(true);
purpleclock = new Clock(this);
purpleclock.TimerEnabled(false);
purpleclock.TimerInterval(4);
purpleclock.TimerAlwaysFires(false);
diamondshot = new Clock(this);
diamondshot.TimerEnabled(false);
diamondshot.TimerInterval(8);
littlealien = new Clock(this);
littlealien.TimerEnabled(false);
littlealien.TimerInterval(10);
littlealien.TimerAlwaysFires(false);
littlealien2 = new Clock(this);
littlealien2.TimerEnabled(false);
littlealien2.TimerInterval(10);
littlealien2.TimerAlwaysFires(false);
littlealien3 = new Clock(this);
littlealien3.TimerEnabled(false);
littlealien3.TimerInterval(10);
littlealien3.TimerAlwaysFires(false);
cloudsmove = new Clock(this);
cloudsmove.TimerInterval(10);
cloudsmove.TimerAlwaysFires(false);
miscclock = new Clock(this);
miscclock.TimerInterval(1000);
miscclock.TimerAlwaysFires(false);
cloudsmove.TimerEnabled(false);
miscclock.TimerEnabled(false);
heartshot = new Clock(this);
heartshot.TimerEnabled(false);
heartshot.TimerInterval(10);
heartshot2 = new Clock(this);
heartshot2.TimerEnabled(false);
heartshot2.TimerInterval(10);
heartshot3 = new Clock(this);
heartshot3.TimerEnabled(false);
heartshot3.TimerInterval(10);
heartshot4 = new Clock(this);
heartshot4.TimerEnabled(false);
heartshot4.TimerInterval(10);
heartshot5 = new Clock(this);
heartshot5.TimerEnabled(false);
heartshot5.TimerInterval(10);
heartshot6 = new Clock(this);
heartshot6.TimerEnabled(false);
heartshot6.TimerInterval(10);
heartshot7 = new Clock(this);
heartshot7.TimerEnabled(false);
heartshot7.TimerInterval(10);
heartshot8 = new Clock(this);
heartshot8.TimerEnabled(false);
heartshot8.TimerInterval(10);
heartshot9 = new Clock(this);
heartshot9.TimerEnabled(false);
heartshot9.TimerInterval(10);
heartshot10 = new Clock(this);
heartshot10.TimerEnabled(false);
heartshot10.TimerInterval(10);
aliencolor = new Clock(this);
aliencolor.TimerInterval(200);
heartenergy = new ImageSprite(Canvas1, R.id.fireace);
heartenergy.Rotates(false);
heartenergy.setMultipliers(.15, .10);
jack = new ImageSprite(Canvas1, R.id.jack);
jack.Rotates(false);
jack.setMultipliers(.16, .15);
littlespade = new ImageSprite(Canvas1, R.id.littlespade1);
littlespade.Rotates(false);
littlespade.setMultipliers(.13, .09);
littlespade2 = new ImageSprite(Canvas1, R.id.littlespade2);
littlespade2.Rotates(false);
littlespade2.setMultipliers(.13, .09);
littlespade3 = new ImageSprite(Canvas1, R.id.littlespade3);
littlespade3.Rotates(false);
littlespade3.setMultipliers(.13, .09);
purple = new ImageSprite(Canvas1, R.id.purple);
purple.Rotates(false);
purple.setMultipliers(1, 1);
bolt = new ImageSprite(Canvas1, R.id.bolt);
bolt.Rotates(false);
bolt.setMultipliers(.15, .10);
cloud1 = new ImageSprite(Canvas1, R.id.cloud1);
cloud1.Rotates(false);
cloud1.setMultipliers(.32, .16);
cloud2 = new ImageSprite(Canvas1, R.id.cloud2);
cloud2.Rotates(false);
cloud2.setMultipliers(.32, .16);
cloud3 = new ImageSprite(Canvas1, R.id.cloud3);
cloud3.Rotates(false);
cloud3.setMultipliers(.32, .16);
diamond = new ImageSprite(Canvas1, R.id.diamond);
diamond.Rotates(false);
diamond.setMultipliers(.16, .07);
heart = new ImageSprite(Canvas1, R.id.heart);
heart.Rotates(false);
heart.setMultipliers(.07, .05);
heart2 = new ImageSprite(Canvas1, R.id.heart2);
heart2.Rotates(false);
heart2.setMultipliers(.07, .05);
heart3 = new ImageSprite(Canvas1, R.id.heart3);
heart3.Rotates(false);
heart3.setMultipliers(.07, .05);
heart4 = new ImageSprite(Canvas1, R.id.heart4);
heart4.Rotates(false);
heart4.setMultipliers(.07, .05);
heart5 = new ImageSprite(Canvas1, R.id.heart5);
heart5.Rotates(false);
heart5.setMultipliers(.07, .05);
heart6 = new ImageSprite(Canvas1, R.id.heart6);
heart6.Rotates(false);
heart6.setMultipliers(.07, .05);
heart7 = new ImageSprite(Canvas1, R.id.heart7);
heart7.Rotates(false);
heart7.setMultipliers(.07, .05);
heart8 = new ImageSprite(Canvas1, R.id.heart8);
heart8.Rotates(false);
heart8.setMultipliers(.07, .05);
heart9 = new ImageSprite(Canvas1, R.id.heart9);
heart9.Rotates(false);
heart9.setMultipliers(.07, .05);
heart10 = new ImageSprite(Canvas1, R.id.heart10);
heart10.Rotates(false);
heart10.setMultipliers(.07, .05);
alienace = new ImageSprite(Canvas1, R.id.alienace);
alienace.Rotates(false);
alienace.setMultipliers(.16, .15);
EventDispatcher.registerEventForDelegation(this, "ScreenInitialization", "Initialize");
EventDispatcher.registerEventForDelegation(this, "Canvas1", "Touched");
EventDispatcher.registerEventForDelegation(this, "heartenergy", "Touched");
EventDispatcher.registerEventForDelegation(this, "jack", "Dragged");
EventDispatcher.registerEventForDelegation(this, "diamondshot", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot2", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot3", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot4", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot5", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot6", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot7", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot8", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot9", "Timer");
EventDispatcher.registerEventForDelegation(this, "heartshot10", "Timer");
EventDispatcher.registerEventForDelegation(this, "aliencolor", "Timer");
EventDispatcher.registerEventForDelegation(this, "littlealien", "Timer");
EventDispatcher.registerEventForDelegation(this, "littlealien2", "Timer");
EventDispatcher.registerEventForDelegation(this, "littlealien3", "Timer");
EventDispatcher.registerEventForDelegation(this, "cloudsmove", "Timer");
EventDispatcher.registerEventForDelegation(this, "miscclock", "Timer");
EventDispatcher.registerEventForDelegation(this, "purpleclock", "Timer");
EventDispatcher.registerEventForDelegation(this, "alienslandedcheckclock", "Timer");
}
@Override
public boolean dispatchEvent(Component component, String id, String eventName, Object[] args) {
if (component.equals(this) && eventName.equals("Initialize")) {
screenInitialized();
return true;
}
if (component.equals(Canvas1) && eventName.equals("Touched")) {
canvasTouched((Float) args[0], (Float) args[1]);
return true;
}
if (component.equals(heartenergy) && eventName.equals("Touched")) {
heartenergyTouched((Float) args[0], (Float) args[1]);
return true;
}
if (component.equals(jack) && eventName.equals("Dragged")) {
jackspriteDragged(Convert.Double(args[4]), Convert.Double(args[5]));
return true;
}
if (component.equals(diamondshot) && eventName.equals("Timer")) {
diamondshotclockfired();
return true;
}
if (component.equals(littlealien) && eventName.equals("Timer")) {
littlealienclockfired();
return true;
}
if (component.equals(littlealien2) && eventName.equals("Timer")) {
littlealien2clockfired();
return true;
}
if (component.equals(littlealien3) && eventName.equals("Timer")) {
littlealien3clockfired();
return true;
}
if (component.equals(heartshot) && eventName.equals("Timer")) {
heartshotclockfired();
return true;
}
if (component.equals(heartshot2) && eventName.equals("Timer")) {
heartshot2clockfired();
return true;
}
if (component.equals(heartshot3) && eventName.equals("Timer")) {
heartshot3clockfired();
return true;
}
if (component.equals(heartshot4) && eventName.equals("Timer")) {
heartshot4clockfired();
return true;
}
if (component.equals(heartshot5) && eventName.equals("Timer")) {
heartshot5clockfired();
return true;
}
if (component.equals(heartshot6) && eventName.equals("Timer")) {
heartshot6clockfired();
return true;
}
if (component.equals(heartshot7) && eventName.equals("Timer")) {
heartshot7clockfired();
return true;
}
if (component.equals(heartshot8) && eventName.equals("Timer")) {
heartshot8clockfired();
return true;
}
if (component.equals(heartshot9) && eventName.equals("Timer")) {
heartshot9clockfired();
return true;
}
if (component.equals(heartshot10) && eventName.equals("Timer")) {
heartshot10clockfired();
return true;
}
if (component.equals(aliencolor) && eventName.equals("Timer")) {
aliencolorclockfired();
return true;
}
if (component.equals(cloudsmove) && eventName.equals("Timer")) {
cloudsmoveclockfired();
return true;
}
if (component.equals(miscclock) && eventName.equals("Timer")) {
miscclockfired();
return true;
}
if (component.equals(purpleclock) && eventName.equals("Timer")) {
purpleclockfired();
return true;
}
if (component.equals(alienslandedcheckclock) && eventName.equals("Timer")) {
alienslandedcheckclockfired();
return true;
}
return false;
}
private void heartenergyTouched(Float float1, Float float2) {
heartenergy.Visible(false);
hits=hits-4;
sp.play(ding, 1, 1, 0, 0, 1);
}
private void alienslandedcheckclockfired() {
if(alienonelanded==0&&alientwolanded==0&&alienthreelanded==0){
purpleclock.TimerEnabled(false);
purple.Visible(false);
purple.Y(-Canvas1.Height());
}
if(hits>=7){
heartenergy.Visible(true);
heartrandomcounter++;
if(heartrandomcounter>=2000){
heartrandomcounter=0;
int q = (int) Math.ceil(Math.random() * 80)+10;
int t = (int) Math.ceil(Math.random() * 60)+20;
heartenergy.MoveTo((Canvas1.Width()*(.01*q)), (Canvas1.Width()*(.01*t)));
}
}
}
private void purpleclockfired() {
landingcounter++;
purpleswitch++;
if(purpleswitch>4){
purpleswitch=0;
purple.MoveTo(purple.X(), purple.Y()+.5);
}
if(landingcounter==100){
sp.play(alienlanding, 1, 1, 0, 1, 1);
}
if(landingcounter==1200){
landingcounter=0;
sp.play(alienlanding, 1, 1, 0, 1, 1);
}
if(purple.Y()>=0){
purple.Y(0);
purpleclock.TimerAlwaysFires(false);
if(aliendialogswitch==0){
aliendialogswitch=1;
sp.play(buzzing, 1, 1, 0, 0, 1);
AlertDialog.Builder purpleendgame = new AlertDialog.Builder(this);
purpleendgame.setTitle("They landed!");
purpleendgame.setIcon(R.drawable.littlespade);
purpleendgame.setMessage("You killed "+alienskilled+" aliens, but you allowed the others to land and they took over the planet!");
purpleendgame.setCancelable(false);
purpleendgame.setPositiveButton("TRY AGAIN", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog1, int which) {
System.gc();
dialog1.dismiss();
Intent aceIntent = new Intent("com.archpress.columns.ACEINVADERS");
startActivity(aceIntent);
}
});
purpleendgame.setNegativeButton("MENU", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.gc();
Intent menuIntent = new Intent("com.archpress.columns.MENU");
startActivity(menuIntent);
}
});
AlertDialog alert2 = purpleendgame.create();
alert2.setCanceledOnTouchOutside(false);
alert2.show();
}
}}
private void miscclockfired() {
misccounter++;
boltcounter++;
boltwait++;
endofgamecounter++;
int p = (int) Math.ceil(Math.random() * 20);
if(misccounter>=p){
if(lilspade1alive==false){
littlespade.Visible(true);
littlealien.TimerEnabled(true);
littlealienclockfired();
lilspade1alive=true;
alienonelandedswitch=0;
}
if(lilspade2alive==false){
littlespade2.Visible(true);
littlealien2.TimerEnabled(true);
littlealien2clockfired();
lilspade2alive=true;
alientwolandedswitch=0;
}
if(lilspade3alive==false){
littlespade3.Visible(true);
littlealien3.TimerEnabled(true);
littlealien3clockfired();
lilspade3alive=true;
alienthreelandedswitch=0;
}
misccounter=0;
}
if(boltwait>=200){
int a = (int) Math.ceil(Math.random() * 8);
if(boltcounter>=(32*a)){
int b = (int) Math.ceil(Math.random() * 3);
switch(b){
case 1:
if(boltfired==false){
sp.play(thunder, 1, 1, 0, 0, 1);
hitswitch=1;
diamondshot.TimerEnabled(true);
boltfired=true;
bolt.X(cloud1.X()+(cloud1.Width()/3));
bolt.Y(cloud1.Y());
}
break;
case 2:
if(boltfired==false){
sp.play(thunder, 1, 1, 0, 0, 1);
hitswitch=1;
diamondshot.TimerEnabled(true);
boltfired=true;
bolt.X(cloud2.X()+(cloud2.Width()/3));
bolt.Y(cloud2.Y());
}
break;
case 3:
if(boltfired==false){
sp.play(thunder, 1, 1, 0, 0, 1);
hitswitch=1;
diamondshot.TimerEnabled(true);
boltfired=true;
bolt.X(cloud3.X()+(cloud3.Width()/3));
bolt.Y(cloud3.Y());
}
break;
}
boltcounter=0;
}}
System.out.println("endofgamecounter is "+endofgamecounter);
if(endofgamecounter>=4800){
if(endofgamecounterswitch==0){
endofgamecounterswitch=1;
AlertDialog.Builder fiveminutesenddialog = new AlertDialog.Builder(this);
fiveminutesenddialog.setTitle("You survived and saved the planet!");
fiveminutesenddialog.setIcon(R.drawable.heart);
fiveminutesenddialog.setMessage("You killed "+alienskilled+" aliens, and the other aliens flew away. \n\nGreat job!\n\nLook for the complete Ace Invader game and save the planet again.");
fiveminutesenddialog.setCancelable(false);
fiveminutesenddialog.setPositiveButton("PLAY AGAIN", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog3, int which) {
System.gc();
dialog3.dismiss();
Intent aceIntent = new Intent("com.archpress.columns.ACEINVADERS");
startActivity(aceIntent);
}
});
fiveminutesenddialog.setNegativeButton("MENU", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.gc();
Intent menuIntent = new Intent("com.archpress.columns.MENU");
startActivity(menuIntent);
}
});
AlertDialog alert3 = fiveminutesenddialog.create();
alert3.setCanceledOnTouchOutside(false);
alert3.show();
}}
}
private void cloudsmoveclockfired() {
cloudcounter++;
if(cloudcounter==360){
cloudcounter=0;
int h = (int) Math.ceil(Math.random() * 2);
int i = (int) Math.ceil(Math.random() * 2);
int j = (int) Math.ceil(Math.random() * 2);
switch(h){
case 1:
cloudsmovedirection=.2;
break;
case 2:
cloudsmovedirection=-.2;
break;
}
switch(i){
case 1:
clouds2movedirection=.2;
break;
case 2:
clouds2movedirection=-.2;
break;
}
switch(j){
case 1:
clouds3movedirection=.2;
break;
case 2:
clouds3movedirection=-.2;
break;
}
}
cloud1.MoveTo(cloud1.X()+cloudsmovedirection, cloud1.Y());
cloud2.MoveTo(cloud2.X()+clouds2movedirection, cloud2.Y());
cloud3.MoveTo(cloud3.X()+clouds3movedirection, cloud3.Y());
if (cloud1.X()<=0)cloud1.X(0);
if (cloud2.X()<=0)cloud2.X(0);
if (cloud3.X()<=0)cloud3.X(0);
if (cloud1.X()>=Canvas1.Width()-cloud1.Width()){
cloud1.X(Canvas1.Width()-cloud1.Width());
}
if (cloud2.X()>=Canvas1.Width()-cloud2.Width()){
cloud2.X(Canvas1.Width()-cloud2.Width());
}
if (cloud3.X()>=Canvas1.Width()-cloud3.Width()){
cloud3.X(Canvas1.Width()-cloud3.Width());
}
}
private void littlealien3clockfired() {
littlespade3counter++;
if(littlespade3counter==360){
int k = (int) Math.ceil(Math.random() * 2);
switch(k){
case 1:
littlespade3Xmove=.2;
littlespade3.Picture(R.drawable.littlespaderight);
break;
case 2:
littlespade3Xmove=-.2;
littlespade3.Picture(R.drawable.littlespade);
break;
}
littlespade3counter=0;
}
littlespade3.Visible(true);
littlespade3.MoveTo(littlespade3.X()+littlespade3Xmove, littlespade3.Y()+.1);
if (littlespade3.X()<=0)littlespade3.X(0);
if (littlespade3.X()>=Canvas1.Width()-littlespade3.Width()){
littlespade3.X(Canvas1.Width()-littlespade3.Width());
}
if (littlespade3.Y()>=(Canvas1.Height()*.65)){
littlespade3.X(littlespade3.X());
littlespade3.Y(littlespade3.Y()-(Canvas1.Height()*.01));
purple.Visible(true);
if(alienthreelandedswitch==0){
alienthreelandedswitch=1;
alienthreelanded=1;
}
purpleclock.TimerEnabled(true);
}
if(heart.X()>littlespade3.X()&&heart.X()<(littlespade3.X()+littlespade3.Width())
&&heart.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart.Y()>littlespade3.Y()
||heart2.X()>littlespade3.X()&&heart2.X()<(littlespade3.X()+littlespade3.Width())
&&heart2.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart2.Y()>littlespade3.Y()
||heart3.X()>littlespade3.X()&&heart3.X()<(littlespade3.X()+littlespade3.Width())
&&heart3.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart3.Y()>littlespade3.Y()
||heart4.X()>littlespade3.X()&&heart4.X()<(littlespade3.X()+littlespade3.Width())
&&heart4.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart4.Y()>littlespade3.Y()
||heart5.X()>littlespade3.X()&&heart5.X()<(littlespade3.X()+littlespade3.Width())
&&heart5.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart5.Y()>littlespade3.Y()
||heart6.X()>littlespade3.X()&&heart6.X()<(littlespade3.X()+littlespade3.Width())
&&heart6.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart6.Y()>littlespade3.Y()
||heart7.X()>littlespade3.X()&&heart7.X()<(littlespade3.X()+littlespade3.Width())
&&heart7.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart7.Y()>littlespade3.Y()
||heart8.X()>littlespade3.X()&&heart8.X()<(littlespade3.X()+littlespade3.Width())
&&heart8.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart8.Y()>littlespade3.Y()
||heart9.X()>littlespade3.X()&&heart9.X()<(littlespade3.X()+littlespade3.Width())
&&heart9.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart9.Y()>littlespade3.Y()
||heart10.X()>littlespade3.X()&&heart10.X()<(littlespade3.X()+littlespade3.Width())
&&heart10.Y()<(littlespade3.Y()+littlespade3.Height())
&&heart10.Y()>littlespade3.Y()
)
{
sp.play(pop, 1, 1, 0, 0, 1);
alienthreelanded=0;
alienskilled++;
lilspade3alive=false;
littlespade3.Visible(false);
littlespade3.X(Canvas1.Width()/2-(littlespade3.Width()/2));
littlespade3.Y(Canvas1.Height()*.01);
littlealien3.TimerEnabled(false);
}
}
private void littlealien2clockfired() {
littlespade2counter++;
if(littlespade2counter==360){
int l = (int) Math.ceil(Math.random() * 2);
switch(l){
case 1:
littlespade2Xmove=.2;
littlespade2.Picture(R.drawable.littlespaderight);
break;
case 2:
littlespade2Xmove=-.2;
littlespade2.Picture(R.drawable.littlespade);
break;
}
littlespade2counter=0;
}
littlespade2.Visible(true);
littlespade2.MoveTo(littlespade2.X()+littlespade2Xmove, littlespade2.Y()+.1);
if (littlespade2.X()<=0)littlespade2.X(0);
if (littlespade2.X()>=Canvas1.Width()-littlespade2.Width()){
littlespade2.X(Canvas1.Width()-littlespade2.Width());
}
if (littlespade2.Y()>=(Canvas1.Height()*.65)){
littlespade2.X(littlespade2.X());
littlespade2.Y(littlespade2.Y()-(Canvas1.Height()*.01));
purple.Visible(true);
if(alientwolandedswitch==0){
alientwolandedswitch=1;
alientwolanded=1;
}
purpleclock.TimerEnabled(true);
}
if(heart.X()>littlespade2.X()&&heart.X()<(littlespade2.X()+littlespade2.Width())
&&heart.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart.Y()>littlespade2.Y()
||heart2.X()>littlespade2.X()&&heart2.X()<(littlespade2.X()+littlespade2.Width())
&&heart2.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart2.Y()>littlespade2.Y()
||heart3.X()>littlespade2.X()&&heart3.X()<(littlespade2.X()+littlespade2.Width())
&&heart3.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart3.Y()>littlespade2.Y()
||heart4.X()>littlespade2.X()&&heart4.X()<(littlespade2.X()+littlespade2.Width())
&&heart4.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart4.Y()>littlespade2.Y()
||heart5.X()>littlespade2.X()&&heart5.X()<(littlespade2.X()+littlespade2.Width())
&&heart5.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart5.Y()>littlespade2.Y()
||heart6.X()>littlespade2.X()&&heart6.X()<(littlespade2.X()+littlespade2.Width())
&&heart6.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart6.Y()>littlespade2.Y()
||heart7.X()>littlespade2.X()&&heart7.X()<(littlespade2.X()+littlespade2.Width())
&&heart7.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart7.Y()>littlespade2.Y()
||heart8.X()>littlespade2.X()&&heart8.X()<(littlespade2.X()+littlespade2.Width())
&&heart8.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart8.Y()>littlespade2.Y()
||heart9.X()>littlespade2.X()&&heart9.X()<(littlespade2.X()+littlespade2.Width())
&&heart9.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart9.Y()>littlespade2.Y()
||heart10.X()>littlespade2.X()&&heart10.X()<(littlespade2.X()+littlespade2.Width())
&&heart10.Y()<(littlespade2.Y()+littlespade2.Height())
&&heart10.Y()>littlespade2.Y()
)
{
sp.play(pop, 1, 1, 0, 0, 1);
alientwolanded=0;
alienskilled++;
lilspade2alive=false;
littlespade2.Visible(false);
littlespade2.X(Canvas1.Width()/2-(littlespade2.Width()/2));
littlespade2.Y(Canvas1.Height()*.01);
littlealien2.TimerEnabled(false);
}
}
private void littlealienclockfired() {
littlespadecounter++;
if(littlespadecounter==360){
int n = (int) Math.ceil(Math.random() * 2);
switch(n){
case 1:
littlespadeXmove=.2;
littlespade.Picture(R.drawable.littlespaderight);
break;
case 2:
littlespadeXmove=-.2;
littlespade.Picture(R.drawable.littlespade);
break;
}
littlespadecounter=0;
}
littlespade.Visible(true);
littlespade.MoveTo(littlespade.X()+littlespadeXmove, littlespade.Y()+.1);
if (littlespade.X()<=0)littlespade.X(0);
if (littlespade.X()>=Canvas1.Width()-littlespade.Width()){
littlespade.X(Canvas1.Width()-littlespade.Width());
}
if (littlespade.Y()>=(Canvas1.Height()*.65)){
littlespade.X(littlespade.X());
littlespade.Y(littlespade.Y()-(Canvas1.Height()*.01));
purple.Visible(true);
if(alienonelandedswitch==0){
alienonelandedswitch=1;
alienonelanded=1;
}
purpleclock.TimerEnabled(true);
}
if(heart.X()>littlespade.X()&&heart.X()<(littlespade.X()+littlespade.Width())
&&heart.Y()<(littlespade.Y()+littlespade.Height())
&&heart.Y()>littlespade.Y()
||heart2.X()>littlespade.X()&&heart2.X()<(littlespade.X()+littlespade.Width())
&&heart2.Y()<(littlespade.Y()+littlespade.Height())
&&heart2.Y()>littlespade.Y()
||heart3.X()>littlespade.X()&&heart3.X()<(littlespade.X()+littlespade.Width())
&&heart3.Y()<(littlespade.Y()+littlespade.Height())
&&heart3.Y()>littlespade.Y()
||heart4.X()>littlespade.X()&&heart4.X()<(littlespade.X()+littlespade.Width())
&&heart4.Y()<(littlespade.Y()+littlespade.Height())
&&heart4.Y()>littlespade.Y()
||heart5.X()>littlespade.X()&&heart5.X()<(littlespade.X()+littlespade.Width())
&&heart5.Y()<(littlespade.Y()+littlespade.Height())
&&heart5.Y()>littlespade.Y()
||heart6.X()>littlespade.X()&&heart6.X()<(littlespade.X()+littlespade.Width())
&&heart6.Y()<(littlespade.Y()+littlespade.Height())
&&heart6.Y()>littlespade.Y()
||heart7.X()>littlespade.X()&&heart7.X()<(littlespade.X()+littlespade.Width())
&&heart7.Y()<(littlespade.Y()+littlespade.Height())
&&heart7.Y()>littlespade.Y()
||heart8.X()>littlespade.X()&&heart8.X()<(littlespade.X()+littlespade.Width())
&&heart8.Y()<(littlespade.Y()+littlespade.Height())
&&heart8.Y()>littlespade.Y()
||heart9.X()>littlespade.X()&&heart9.X()<(littlespade.X()+littlespade.Width())
&&heart9.Y()<(littlespade.Y()+littlespade.Height())
&&heart9.Y()>littlespade.Y()
||heart10.X()>littlespade.X()&&heart10.X()<(littlespade.X()+littlespade.Width())
&&heart10.Y()<(littlespade.Y()+littlespade.Height())
&&heart10.Y()>littlespade.Y()
)
{
sp.play(pop, 1, 1, 0, 0, 1);
alienonelanded=0;
alienskilled++;
lilspade1alive=false;
littlespade.Visible(false);
littlespade.X(Canvas1.Width()/2-(littlespade.Width()/2));
littlespade.Y(Canvas1.Height()*.01);
littlealien.TimerEnabled(false);
}
}
private void heartshot10clockfired() {
heart10.MoveTo(heartoldx10, heart10.Y()-5);
if(heart10.Y()<=10||
heart10.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart10.X()>=cloud1.X()&&heart10.X()<=cloud1.X()+cloud1.Width()||
heart10.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart10.X()>=cloud2.X()&&heart10.X()<=cloud2.X()+cloud2.Width()||
heart10.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart10.X()>=cloud3.X()&&heart10.X()<=cloud3.X()+cloud3.Width()
||heart10.Y()<=alienace.Y()+alienace.Height()
&&(heart10.X()>=alienace.X()-(heart.Width()*.8))&&(heart10.X()<=alienace.X()+alienace.Width())
){
heart10.Y(jack.Y()+(jack.Height()/2));
heartshot10.TimerEnabled(false);
heart10.Visible(false);
}
}
private void heartshot9clockfired() {
heart9.MoveTo(heartoldx9, heart9.Y()-5);
if(heart9.Y()<=10||
heart9.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart9.X()>=cloud1.X()&&heart9.X()<=cloud1.X()+cloud1.Width()||
heart9.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart9.X()>=cloud2.X()&&heart9.X()<=cloud2.X()+cloud2.Width()||
heart9.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart9.X()>=cloud3.X()&&heart9.X()<=cloud3.X()+cloud3.Width()
||heart9.Y()<=alienace.Y()+alienace.Height()
&&(heart9.X()>=alienace.X()-(heart.Width()*.8))&&(heart9.X()<=alienace.X()+alienace.Width())
){
heart9.Y(jack.Y()+(jack.Height()/2));
heartshot9.TimerEnabled(false);
heart9.Visible(false);
}
}
private void heartshot8clockfired() {
heart8.MoveTo(heartoldx8, heart8.Y()-5);
if(heart8.Y()<=10||
heart8.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart8.X()>=cloud1.X()&&heart8.X()<=cloud1.X()+cloud1.Width()||
heart8.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart8.X()>=cloud2.X()&&heart8.X()<=cloud2.X()+cloud2.Width()||
heart8.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart8.X()>=cloud3.X()&&heart8.X()<=cloud3.X()+cloud3.Width()
||heart8.Y()<=alienace.Y()+alienace.Height()
&&(heart8.X()>=alienace.X()-(heart.Width()*.8))&&(heart8.X()<=alienace.X()+alienace.Width())
){
heart8.Y(jack.Y()+(jack.Height()/2));
heartshot8.TimerEnabled(false);
heart8.Visible(false);
}
}
private void heartshot7clockfired() {
heart7.MoveTo(heartoldx7, heart7.Y()-5);
if(heart7.Y()<=10||
heart7.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart7.X()>=cloud1.X()&&heart7.X()<=cloud1.X()+cloud1.Width()||
heart7.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart7.X()>=cloud2.X()&&heart7.X()<=cloud2.X()+cloud2.Width()||
heart7.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart7.X()>=cloud3.X()&&heart7.X()<=cloud3.X()+cloud3.Width()
||heart7.Y()<=alienace.Y()+alienace.Height()
&&(heart7.X()>=alienace.X()-(heart.Width()*.8))&&(heart7.X()<=alienace.X()+alienace.Width())
){
heart7.Y(jack.Y()+(jack.Height()/2));
heartshot7.TimerEnabled(false);
heart7.Visible(false);
}
}
private void heartshot6clockfired() {
heart6.MoveTo(heartoldx6, heart6.Y()-5);
if(heart6.Y()<=10||
heart6.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart6.X()>=cloud1.X()&&heart6.X()<=cloud1.X()+cloud1.Width()||
heart6.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart6.X()>=cloud2.X()&&heart6.X()<=cloud2.X()+cloud2.Width()||
heart6.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart6.X()>=cloud3.X()&&heart6.X()<=cloud3.X()+cloud3.Width()
||heart6.Y()<=alienace.Y()+alienace.Height()
&&(heart6.X()>=alienace.X()-(heart.Width()*.8))&&(heart6.X()<=alienace.X()+alienace.Width())
){
heart6.Y(jack.Y()+(jack.Height()/2));
heartshot6.TimerEnabled(false);
heart6.Visible(false);
}
}
private void heartshot5clockfired() {
heart5.MoveTo(heartoldx5, heart5.Y()-5);
if(heart5.Y()<=10||
heart5.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart5.X()>=cloud1.X()&&heart5.X()<=cloud1.X()+cloud1.Width()||
heart5.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart5.X()>=cloud2.X()&&heart5.X()<=cloud2.X()+cloud2.Width()||
heart5.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart5.X()>=cloud3.X()&&heart5.X()<=cloud3.X()+cloud3.Width()
||heart5.Y()<=alienace.Y()+alienace.Height()
&&(heart5.X()>=alienace.X()-(heart.Width()*.8))&&(heart5.X()<=alienace.X()+alienace.Width())
){
heart5.Y(jack.Y()+(jack.Height()/2));
heartshot5.TimerEnabled(false);
heart5.Visible(false);
}
}
private void heartshot4clockfired() {
heart4.MoveTo(heartoldx4, heart4.Y()-5);
if(heart4.Y()<=10||
heart4.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart4.X()>=cloud1.X()&&heart4.X()<=cloud1.X()+cloud1.Width()||
heart4.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart4.X()>=cloud2.X()&&heart4.X()<=cloud2.X()+cloud2.Width()||
heart4.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart4.X()>=cloud3.X()&&heart4.X()<=cloud3.X()+cloud3.Width()
||heart4.Y()<=alienace.Y()+alienace.Height()
&&(heart4.X()>=alienace.X()-(heart.Width()*.8))&&(heart4.X()<=alienace.X()+alienace.Width())
){
heart4.Y(jack.Y()+(jack.Height()/2));
heartshot4.TimerEnabled(false);
heart4.Visible(false);
}
}
private void heartshot3clockfired() {
heart3.MoveTo(heartoldx3, heart3.Y()-5);
if(heart3.Y()<=10||
heart3.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart3.X()>=cloud1.X()&&heart3.X()<=cloud1.X()+cloud1.Width()||
heart3.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart3.X()>=cloud2.X()&&heart3.X()<=cloud2.X()+cloud2.Width()||
heart3.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart3.X()>=cloud3.X()&&heart3.X()<=cloud3.X()+cloud3.Width()
||heart3.Y()<=alienace.Y()+alienace.Height()
&&(heart3.X()>=alienace.X()-(heart.Width()*.8))&&(heart3.X()<=alienace.X()+alienace.Width())
){
heart3.Y(jack.Y()+(jack.Height()/2));
heartshot3.TimerEnabled(false);
heart3.Visible(false);
}
}
private void heartshot2clockfired() {
heart2.MoveTo(heartoldx2, heart2.Y()-5);
if(heart2.Y()<=10||
heart2.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart2.X()>=cloud1.X()&&heart2.X()<=cloud1.X()+cloud1.Width()||
heart2.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart2.X()>=cloud2.X()&&heart2.X()<=cloud2.X()+cloud2.Width()||
heart2.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart2.X()>=cloud3.X()&&heart2.X()<=cloud3.X()+cloud3.Width()
||heart2.Y()<=alienace.Y()+alienace.Height()
&&(heart2.X()>=alienace.X()-(heart.Width()*.8))&&(heart2.X()<=alienace.X()+alienace.Width())
){
heart2.Y(jack.Y()+(jack.Height()/2));
heartshot2.TimerEnabled(false);
heart2.Visible(false);
}
}
private void heartshotclockfired() {
heart.MoveTo(heartoldx, heart.Y()-5);
if(heart.Y()<=10||
heart.Y()<=(cloud1.Y()+(cloud1.Height()/1.4))&&heart.X()>=cloud1.X()&&heart.X()<=cloud1.X()+cloud1.Width()||
heart.Y()<=(cloud2.Y()+(cloud2.Height()/1.3))&&heart.X()>=cloud2.X()&&heart.X()<=cloud2.X()+cloud2.Width()||
heart.Y()<=(cloud3.Y()+(cloud3.Height()/1.1))&&heart.X()>=cloud3.X()&&heart.X()<=cloud3.X()+cloud3.Width()
||heart.Y()<=alienace.Y()+alienace.Height()
&&(heart.X()>=alienace.X()-(heart.Width()*.8))&&(heart.X()<=alienace.X()+alienace.Width())
){
heart.Y(jack.Y()+(jack.Height()/2));
heartshot.TimerEnabled(false);
heart.Visible(false);
}
}
private void jackspriteDragged(double currentX, double currentY) {
double x = currentX - (jack.Width()/2);
if(x
oldx)
jack.Picture(R.drawable.jackofheartsright);
if (x < 0) {
x = 0;
}
if (x > Canvas1.Width()-jack.Width()) {
x = Canvas1.Width()-jack.Width();
}
jack.MoveTo(x, jack.Y());
oldx = x;
}
private void diamondshotclockfired() {
bolt.Visible(true);
bolt.MoveTo(bolt.X(), bolt.Y()+1);
if(bolt.Y()>=Canvas1.Height()-jack.Height()){
bolt.Visible(false);
diamondshot.TimerEnabled(false);
boltfired=false;
}
if((bolt.Y()>=Canvas1.Height()-jack.Height())&&(bolt.X()>jack.X()-(jack.Width()/2))&&(bolt.X()<(jack.X()+(jack.Width()/2)))){
if(hitswitch==1){
hitswitch=0;
hits++;
sp.play(grunt, 1, 1, 0, 0, 1);
if(hits>9){
sp.play(buzzing, 1, 1, 0, 0, 1);
AlertDialog.Builder endgame = new AlertDialog.Builder(this);
endgame.setTitle("Too many hits!");
endgame.setIcon(R.drawable.bolt);
endgame.setMessage("You killed "+alienskilled+" aliens, but your jack has been hit too much and the other aliens have landed.");
endgame.setCancelable(false);
endgame.setPositiveButton("TRY AGAIN", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog1, int which) {
System.gc();
dialog1.dismiss();
Intent aceIntent = new Intent("com.archpress.columns.ACEINVADERS");
startActivity(aceIntent);
}
});
endgame.setNegativeButton("MENU", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.gc();
Intent menuIntent = new Intent("com.archpress.columns.MENU");
startActivity(menuIntent);
}
});
AlertDialog alert = endgame.create();
alert.setCanceledOnTouchOutside(false);
alert.show();
boltfired=false;
aliencolor.TimerAlwaysFires(true);
}
}}
}
private void aliencolorclockfired() {
counter=counter+1;
aliendipcounter++;
alienace.Y(alienace.Y()+(Canvas1.Height()*.00125));
if(aliendipcounter==4){
aliendipcounter=0;
alienace.Y(Canvas1.Height()*.10);
}
if(counter==5){
counter=0;
if(aliencolorswitch==0){
alienace.Picture(R.drawable.alienacepurple);
aliencolorswitch=1;
}
else {
if(aliencolorswitch==1){
alienace.Picture(R.drawable.alienaceb);
aliencolorswitch=0;
}}}}
private void canvasTouched(Float x, Float y) {
heartcounter++;
if(heartcounter==10)heartcounter=0;
sp.play(blip, 1, 1, 0, 0, 1);
sp.play(thud, 1, 1, 0, 0, 1);
switch(heartcounter){
case 0:
heartshot.TimerEnabled(true);
heartoldx=jack.X()+(jack.Width()/2);
heart.X(heartoldx);
heart.Y(Canvas1.Height()-jack.Height());
heart.Visible(true);
heartshotclockfired();
break;
case 1:
heartshot2.TimerEnabled(true);
heartoldx2=jack.X()+(jack.Width()/2);
heart2.X(heartoldx2);
heart2.Y(Canvas1.Height()-jack.Height());
heart2.Visible(true);
heartshot2clockfired();
break;
case 2:
heartshot3.TimerEnabled(true);
heartoldx3=jack.X()+(jack.Width()/2);
heart3.X(heartoldx3);
heart3.Y(Canvas1.Height()-jack.Height());
heart3.Visible(true);
heartshot3clockfired();
break;
case 3:
heartshot4.TimerEnabled(true);
heartoldx4=jack.X()+(jack.Width()/2);
heart4.X(heartoldx4);
heart4.Y(Canvas1.Height()-jack.Height());
heart4.Visible(true);
heartshot4clockfired();
break;
case 4:
heartshot5.TimerEnabled(true);
heartoldx5=jack.X()+(jack.Width()/2);
heart5.X(heartoldx5);
heart5.Y(Canvas1.Height()-jack.Height());
heart5.Visible(true);
heartshot5clockfired();
break;
case 5:
heartshot6.TimerEnabled(true);
heartoldx6=jack.X()+(jack.Width()/2);
heart6.X(heartoldx6);
heart6.Y(Canvas1.Height()-jack.Height());
heart6.Visible(true);
heartshot6clockfired();
break;
case 6:
heartshot7.TimerEnabled(true);
heartoldx7=jack.X()+(jack.Width()/2);
heart7.X(heartoldx7);
heart7.Y(Canvas1.Height()-jack.Height());
heart7.Visible(true);
heartshot7clockfired();
break;
case 7:
heartshot8.TimerEnabled(true);
heartoldx8=jack.X()+(jack.Width()/2);
heart8.X(heartoldx8);
heart8.Y(Canvas1.Height()-jack.Height());
heart8.Visible(true);
heartshot8clockfired();
break;
case 8:
heartshot9.TimerEnabled(true);
heartoldx9=jack.X()+(jack.Width()/2);
heart9.X(heartoldx9);
heart9.Y(Canvas1.Height()-jack.Height());
heart9.Visible(true);
heartshot9clockfired();
break;
case 9:
heartshot10.TimerEnabled(true);
heartoldx10=jack.X()+(jack.Width()/2);
heart10.X(heartoldx10);
heart10.Y(Canvas1.Height()-jack.Height());
heart10.Visible(true);
heartshot10clockfired();
break;
}
}
private void screenInitialized() {
jack.X(Canvas1.Width()/2-(jack.Width()/2));
jack.Y(Canvas1.Height()-jack.Height());
jack.KeepBounds(true);
endofgamecounterswitch=0;
heartenergy.Visible(false);
heartenergy.Z(0);
heartenergy.X(Canvas1.Width()*.45);
heartenergy.Y(Canvas1.Height()*.45);
heart.X(0);
heart.Y(0);
heart.Visible(false);
heart2.X(0);
heart2.Y(0);
heart2.Visible(false);
heart3.X(0);
heart3.Y(0);
heart3.Visible(false);
heart4.X(0);
heart4.Y(0);
heart4.Visible(false);
heart5.X(0);
heart5.Y(0);
heart5.Visible(false);
heart6.X(0);
heart6.Y(0);
heart6.Visible(false);
heart7.X(0);
heart7.Y(0);
heart7.Visible(false);
heart8.X(0);
heart8.Y(0);
heart8.Visible(false);
heart9.X(0);
heart9.Y(0);
heart9.Visible(false);
heart10.X(0);
heart10.Y(0);
heart10.Visible(false);
bolt.X(0);
bolt.Y(0);
bolt.Visible(false);
diamond.X(0);
diamond.Y(0);
diamond.Visible(false);
int k = (int) Math.ceil(Math.random() * 7);
int l = (int) Math.ceil(Math.random() * 7);
int m = (int) Math.ceil(Math.random() * 7);
cloud1.X(Canvas1.Width()*(.1*k));
cloud1.Y(Canvas1.Height()*.2);
cloud1.Visible(true);
cloud2.X(Canvas1.Width()*(.1*l));
cloud2.Y(Canvas1.Height()*.4);
cloud2.Visible(true);
cloud3.X(Canvas1.Width()*(.1*m));
cloud3.Y(Canvas1.Height()*.6);
cloud3.Visible(true);
cloud1.Z(2);
cloud2.Z(2);
cloud3.Z(2);
purple.Visible(false);
purple.X(0);
purple.Y(-Canvas1.Height());
purple.Z(5);
alienace.X(Canvas1.Width()/2-(alienace.Width()/2));
alienace.Y(Canvas1.Height()*.10);
littlespade.X(Canvas1.Width()/2-(littlespade.Width()/2));
littlespade.Y(Canvas1.Height()*.01);
littlespade2.X(Canvas1.Width()/2-(littlespade2.Width()/2));
littlespade2.Y(Canvas1.Height()*.01);
littlespade3.X(Canvas1.Width()/2-(littlespade3.Width()/2));
littlespade3.Y(Canvas1.Height()*.01);
littlespade.Visible(false);
littlespade2.Visible(false);
littlespade3.Visible(false);
heartshot.TimerAlwaysFires(false);
heartshot2.TimerAlwaysFires(false);
heartshot3.TimerAlwaysFires(false);
heartshot4.TimerAlwaysFires(false);
heartshot5.TimerAlwaysFires(false);
heartshot6.TimerAlwaysFires(false);
heartshot7.TimerAlwaysFires(false);
heartshot8.TimerAlwaysFires(false);
heartshot9.TimerAlwaysFires(false);
heartshot10.TimerAlwaysFires(false);
purpleclock.TimerEnabled(false);
diamondshot.TimerAlwaysFires(false);
littlealien.TimerAlwaysFires(false);
littlealien2.TimerAlwaysFires(false);
littlealien3.TimerAlwaysFires(false);
Canvas1.DrawRectangle(10, 50, 10, 50);
AlertDialog.Builder rulesdialog = new AlertDialog.Builder(this);
rulesdialog.setTitle("Save the Planet!");
rulesdialog.setIcon(R.drawable.smallcloud);
rulesdialog.setMessage("Don't let the alien aces land.\n\nSlide the Jack back and forth and tap to shoot up hearts.\n\nDon't get hit with lightning. You have ten hit points.");
rulesdialog.setCancelable(false);
rulesdialog.setPositiveButton("OK!", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog1, int which) {
sp.play(magical, 1, 1, 0, 0, 1);
dialog1.dismiss();
cloudsmove.TimerEnabled(true);
miscclock.TimerEnabled(true);
aliencolor.TimerEnabled(true);
aliencolorclockfired();
cloudsmoveclockfired();
}
});
AlertDialog alert = rulesdialog.create();
alert.show();
alert.setCanceledOnTouchOutside(false);
boltfired=false;
aliencolor.TimerAlwaysFires(true);
}
@Override
public void onPause() {
super.onPause();
System.gc();
}
@Override
public void onStop() {
super.onStop();
System.gc();
}
@Override
public void onDestroy() {
super.onDestroy();
System.gc();
sp=null;
this.finish();
}
}
Hidden objects games for Android devices
Hidden object game code example
package com.archpress.henrifull;
import android.app.Activity;
import android.content.Intent;
import android.graphics.*;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.widget.*;
public class Henri extends Activity implements OnTouchListener {
/** Called when the activity is first created. */
TextView proverb;
TextView clock1;
Bitmap jesters;
Bitmap lion;
Bitmap carnival;
Bitmap winmenu, exotic;
SoundPool sp;
int ding, flute, splashsound = 0;
boolean p1 = true;
boolean p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16 = false;
boolean p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30 = false;
boolean p31, p32, p33, p34, p35, p36, p37, p38, p39, p40 = false;
boolean p41, p42, p43, p44, p45, p46, p47 = false;
boolean timerstop = false;
static int seconds;
static int minutes;
Thread timer, timer2;
boolean timercount = false;
boolean isRunning = true;
boolean win = false;
boolean timernull = false;
boolean isR = false;
boolean won = false;
boolean timerpaused = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
exotic = BitmapFactory.decodeResource(getResources(), R.drawable.exotic);
jesters = BitmapFactory.decodeResource(getResources(), R.drawable.jesters);
lion = BitmapFactory.decodeResource(getResources(), R.drawable.lion);
carnival = BitmapFactory.decodeResource(getResources(), R.drawable.carnival);
winmenu = BitmapFactory.decodeResource(getResources(), R.drawable.winmenu);
proverb = (TextView) findViewById(R.id.textview);
clock1 = (TextView) findViewById(R.id.clock1);
sp = new SoundPool(17, AudioManager.STREAM_MUSIC, 0);
ding = sp.load(this, R.raw.ding, 1);
flute = sp.load(this, R.raw.flute2, 1);
splashsound = sp.load(this, R.raw.splashsound, 1);
seconds = 0;
minutes = 0;
ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.setOnTouchListener(this);
iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
iv.setAdjustViewBounds(true);
iv.setImageBitmap(carnival);
timer = new Thread(){
public void run(){
while(isRunning){
try{
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if(timerpaused!=true){
seconds++;
}
Message msg = Message.obtain();
msg.arg1 = seconds;
handler.sendMessageDelayed(msg, seconds);
}
}
if(isRunning!=true)
timer=null;
}
public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(seconds == 60){
seconds = 0;
minutes++;
}
if(seconds<10){
clock1.setText("" + Integer.toString(minutes) + ":0" + Integer.toString(seconds) + "");
} else {
clock1.setText("" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "");
}
if(won==true)
clock1.setText("0:00");
}
};
};
}
@Override
protected void onRestart() {
super.onRestart();
if(timerpaused==true){
timerpaused = false;
}
}
@Override
protected void onResume() {
super.onResume();
if(timerpaused==true){
timerpaused = false;
}
}
@Override
protected void onPause() {
super.onPause();
timer = null;
timerpaused = true;
}
@Override
protected void onStop() {
super.onStop();
timer = null;
timerpaused = true;
}
@Override
protected void onDestroy() {
super.onDestroy();
if(isR == false)
isRunning = false;
if(won!=true){
sp.release();
sp = null;
}
if(timernull!=true)
timer = null;
this.finish();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if(timercount == false){
timercount = true;
timer.start();
}
float x = event.getX();
float y = event.getY();
int vW = v.getWidth();
int vH = v.getHeight();
double BitmapHeight = (vW * 1.2945);
ImageView iv = (ImageView) v;
if(x > (vW * .73) && x < (vW * .86) && y > (((((vH - BitmapHeight)/2)/vH) + (((.05 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.15 * BitmapHeight)/vH))) * vH) && p1 != false){
p2 = true;
p1 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A lion's mane");
}
if(x > (vW * .6) && x < (vW * .85) && y > (((((vH - BitmapHeight)/2)/vH) + (((.75 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.95 * BitmapHeight)/vH))) * vH) && p2 != false){
p3 = true;
p2 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A checkered flag");
}
if(x > (vW * .001) && x < (vW * .1) && y > (((((vH - BitmapHeight)/2)/vH) + (((.75 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.9 * BitmapHeight)/vH))) * vH) && p3 != false){
p4 = true;
p3 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A rabbit");
}
if(x > (vW * .5) && x < (vW * .65) && y > (((((vH - BitmapHeight)/2)/vH) + (((.7 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.8 * BitmapHeight)/vH))) * vH) && p4 != false){
p5 = true;
p4 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A moustache");
}
if(x > (vW * .08) && x < (vW * .25) && y > (((((vH - BitmapHeight)/2)/vH) + (((.7 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.8 * BitmapHeight)/vH))) * vH) && p5 != false){
p6 = true;
p5 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A monkey");
}
if(x > (vW * .88) && x < (vW * .999) && y > (((((vH - BitmapHeight)/2)/vH) + (((.73 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.88 * BitmapHeight)/vH))) * vH) && p6 != false){
p7 = true;
p6 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: An upside down bottle");
}
if(x > (vW * .4) && x < (vW * .55) && y > (((((vH - BitmapHeight)/2)/vH) + (((.88 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.99 * BitmapHeight)/vH))) * vH) && p7 != false){
p8 = true;
p7 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A white bird");
}
if(x > (vW * .5) && x < (vW * .66) && y > (((((vH - BitmapHeight)/2)/vH) + (((.5 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.6 * BitmapHeight)/vH))) * vH) && p8 != false){
p9 = true;
p8 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A sword");
}
if(x > (vW * .28) && x < (vW * .42) && y > (((((vH - BitmapHeight)/2)/vH) + (((.8 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.98 * BitmapHeight)/vH))) * vH) && p9 != false){
p10 = true;
p9 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A vase");
iv.setImageBitmap(exotic);
}
if(x > (vW * .01) && x < (vW * .15) && y > (((((vH - BitmapHeight)/2)/vH) + (((.7 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.95 * BitmapHeight)/vH))) * vH) && p10 != false){
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A paint palette");
p11 = true;
p10 = false;
}
if(x > (vW * .85) && x < (vW * .95) && y > (((((vH - BitmapHeight)/2)/vH) + (((.5 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.65 * BitmapHeight)/vH))) * vH) && p11 != false){
p12 = true;
p11 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A snake");
}
if(x > (vW * .01) && x < (vW * .21) && y > (((((vH - BitmapHeight)/2)/vH) + (((.42 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.67 * BitmapHeight)/vH))) * vH) && p12 != false){
p13 = true;
p12 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A white bird");
}
if(x > (vW * .4) && x < (vW * .55) && y > (((((vH - BitmapHeight)/2)/vH) + (((.23 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.35 * BitmapHeight)/vH))) * vH) && p13 != false){
p14 = true;
p13 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A black dog");
}
if(x > (vW * .75) && x < (vW * .98) && y > (((((vH - BitmapHeight)/2)/vH) + (((.37 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.52 * BitmapHeight)/vH))) * vH) && p14 != false){
p15 = true;
p14 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A teapot/coffeepot");
}
if(x > (vW * .01) && x < (vW * .15) && y > (((((vH - BitmapHeight)/2)/vH) + (((.36 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.5 * BitmapHeight)/vH))) * vH) && p15 != false){
p16 = true;
p15 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A flute");
}
if(x > (vW * .2) && x < (vW * .35) && y > (((((vH - BitmapHeight)/2)/vH) + (((.65 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.85 * BitmapHeight)/vH))) * vH) && p16 != false){
p17 = true;
p16 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: The face of the artist");
}
if(x > (vW * .45) && x < (vW * .58) && y > (((((vH - BitmapHeight)/2)/vH) + (((.62 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.75 * BitmapHeight)/vH))) * vH) && p17 != false){
p18 = true;
p17 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A back scratcher");
}
if(x > (vW * .2) && x < (vW * .38) && y > (((((vH - BitmapHeight)/2)/vH) + (((.3 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.5 * BitmapHeight)/vH))) * vH) && p18 != false){
p19 = true;
p20 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A bottle");
}
if(x > (vW * .8) && x < (vW * .95) && y > (((((vH - BitmapHeight)/2)/vH) + (((.18 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.32 * BitmapHeight)/vH))) * vH) && p19 != false){
p20 = true;
p19 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: An airplane");
}
if(x > (vW * .3) && x < (vW * .48) && y > (((((vH - BitmapHeight)/2)/vH) + (((.13 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.25 * BitmapHeight)/vH))) * vH) && p20 != false){
p21 = true;
p20 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: An orange and black bird");
}
if(x > (vW * .6) && x < (vW * .8) && y > (((((vH - BitmapHeight)/2)/vH) + (((.7 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.8 * BitmapHeight)/vH))) * vH) && p21 != false){
p22 = true;
p21 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A bottle");
iv.setImageBitmap(jesters);
}
if(x > (vW * .45) && x < (vW * .61) && y > (((((vH - BitmapHeight)/2)/vH) + (((.8 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.98 * BitmapHeight)/vH))) * vH) && p22 != false){
p23 = true;
p22 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A doll");
}
if(x > (vW * .001) && x < (vW * .12) && y > (((((vH - BitmapHeight)/2)/vH) + (((.4 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.56 * BitmapHeight)/vH))) * vH) && p23 != false){
p24 = true;
p23 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A striped cat");
}
if(x > (vW * .8) && x < (vW * .99) && y > (((((vH - BitmapHeight)/2)/vH) + (((.45 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.62 * BitmapHeight)/vH))) * vH) && p24 != false){
p25 = true;
p24 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A hiding lion");
}
if(x > (vW * .001) && x < (vW * .15) && y > (((((vH - BitmapHeight)/2)/vH) + (((.65 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.85 * BitmapHeight)/vH))) * vH) && p25 != false){
p26 = true;
p25 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A lute (musical instrument)");
}
if(x > (vW * .8) && x < (vW * .99) && y > (((((vH - BitmapHeight)/2)/vH) + (((.1 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.4 * BitmapHeight)/vH))) * vH) && p26 != false){
p27 = true;
p26 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A backscratcher");
}
if(x > (vW * .35) && x < (vW * .55) && y > (((((vH - BitmapHeight)/2)/vH) + (((.72 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.92 * BitmapHeight)/vH))) * vH) && p27 != false){
p28 = true;
p27 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A rifle");
}
if(x > (vW * .05) && x < (vW * .2) && y > (((((vH - BitmapHeight)/2)/vH) + (((.12 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.45 * BitmapHeight)/vH))) * vH) && p28 != false){
p29 = true;
p28 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: The face of the artist");
}
if(x > (vW * .65) && x < (vW * .8) && y > (((((vH - BitmapHeight)/2)/vH) + (((.4 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.55 * BitmapHeight)/vH))) * vH) && p29 != false){
p30 = true;
p29 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A pair of pears");
}
if(x > (vW * .2) && x < (vW * .35) && y > (((((vH - BitmapHeight)/2)/vH) + (((.01 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.11 * BitmapHeight)/vH))) * vH) && p30 != false){
p31 = true;
p30 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A swan");
}
if(x > (vW * .58) && x < (vW * .75) && y > (((((vH - BitmapHeight)/2)/vH) + (((.02 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.15 * BitmapHeight)/vH))) * vH) && p31 != false){
p32 = true;
p31 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A leopard");
}
if(x > (vW * .01) && x < (vW * .3) && y > (((((vH - BitmapHeight)/2)/vH) + (((.001 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.10 * BitmapHeight)/vH))) * vH) && p32 != false){
p33 = true;
p32 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A hiding baboon");
}
if(x > (vW * .15) && x < (vW * .3) && y > (((((vH - BitmapHeight)/2)/vH) + (((.72 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.92 * BitmapHeight)/vH))) * vH) && p33 != false){
p34 = true;
p33 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: An owl");
iv.setImageBitmap(lion);
}
if(x > (vW * .85) && x < (vW * .97) && y > (((((vH - BitmapHeight)/2)/vH) + (((.19 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.31 * BitmapHeight)/vH))) * vH) && p34 != false){
p35 = true;
p34 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A large, dark, furry animal");
}
if(x > (vW * .01) && x < (vW * .30) && y > (((((vH - BitmapHeight)/2)/vH) + (((.27 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.75 * BitmapHeight)/vH))) * vH) && p35 != false){
p36 = true;
p35 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A paint palette");
}
if(x > (vW * .85) && x < (vW * .999) && y > (((((vH - BitmapHeight)/2)/vH) + (((.73 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.85 * BitmapHeight)/vH))) * vH) && p36 != false){
p37 = true;
p36 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A striped cat");
}
if(x > (vW * .05) && x < (vW * .22) && y > (((((vH - BitmapHeight)/2)/vH) + (((.70 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.85 * BitmapHeight)/vH))) * vH) && p37 != false){
p38 = true;
p37 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A sailboat");
}
if(x > (vW * .70) && x < (vW * .85) && y > (((((vH - BitmapHeight)/2)/vH) + (((.07 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.24 * BitmapHeight)/vH))) * vH) && p38 != false){
p39 = true;
p38 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A flower");
}
if(x > (vW * .001) && x < (vW * .15) && y > (((((vH - BitmapHeight)/2)/vH) + (((.001 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.10 * BitmapHeight)/vH))) * vH) && p39 != false){
p40 = true;
p39 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: Smoke stacks");
}
if(x > (vW * .40) && x < (vW * .60) && y > (((((vH - BitmapHeight)/2)/vH) + (((.001 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.20 * BitmapHeight)/vH))) * vH) && p40 != false){
p41 = true;
p40 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: Bananas");
}
if(x > (vW * .55) && x < (vW * .70) && y > (((((vH - BitmapHeight)/2)/vH) + (((.85 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.95 * BitmapHeight)/vH))) * vH) && p41 != false){
p42 = true;
p41 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: Two pears");
}
if(x > (vW * .85) && x < (vW * .999) && y > (((((vH - BitmapHeight)/2)/vH) + (((.33 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.45 * BitmapHeight)/vH))) * vH) && p42 != false){
p43 = true;
p42 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: Bananas");
}
if(x > (vW * .85) && x < (vW * .999) && y > (((((vH - BitmapHeight)/2)/vH) + (((.33 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.45 * BitmapHeight)/vH))) * vH) && p43 != false){
p44 = true;
p43 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A snake");
}
if(x > (vW * .10) && x < (vW * .35) && y > (((((vH - BitmapHeight)/2)/vH) + (((.07 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.25 * BitmapHeight)/vH))) * vH) && p44 != false){
p45 = true;
p44 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A green bottle");
}
if(x > (vW * .85) && x < (vW * .99) && y > (((((vH - BitmapHeight)/2)/vH) + (((.50 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.64 * BitmapHeight)/vH))) * vH) && p45 != false){
p46 = true;
p45 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A bird with white claws");
}
if(x > (vW * .40) && x < (vW * .65) && y > (((((vH - BitmapHeight)/2)/vH) + (((.15 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.30 * BitmapHeight)/vH))) * vH) && p46 != false){
p47 = true;
p46 = false;
if (ding != 0)
sp.play(ding, 1, 1, 0, 0, 1);
proverb.setText("Find: A white tea kettle/coffee pot");
}
if(x > (vW * .85) && x < (vW * .99) && y > (((((vH - BitmapHeight)/2)/vH) + (((.08 * BitmapHeight)/vH))) * vH) && y < (((((vH - BitmapHeight)/2)/vH) + (((.20 * BitmapHeight)/vH))) * vH) && p47 != false){
win = true;
p47 = false;
proverb.setTextColor(Color.GREEN);
isR = true;
isRunning = false;
won = true;
timer = null;
timernull = true;
if(minutes==1){
proverb.setText("You found them all in " + minutes + " minute, and " + seconds + " seconds");
} else {
proverb.setText("You found them all in " + minutes + " minutes, and " + seconds + " seconds");
}
if (flute != 0)
sp.play(flute, 1, 1, 0, 0, 1);
iv.setImageBitmap(winmenu);
}
if(x > (v.getWidth() * .3) && x < (v.getWidth() * .7) && y > (v.getHeight() * .45) && y < (v.getHeight() * .55) && win != false){
Intent menuIntent = new Intent("com.archpress.henrifull.MENU");
startActivity(menuIntent);
}
return false;
Arduino programs for microcontrollers and elecronics
I've made many microcontroller projects with either Arduino or my own ATMega328 off-the-shelf microcontrollers. One of the first projects I made was a Rudolph box where I put a red LED on a deer's nose, which when pressed played a short clip of Rudloph the Rednosed reindeer in beeps.
The image above is my homebrew microcontroller dubbed Dandroid. There were several Dandroids: a remote control car, a PONG clone with paddles, and this gas tester you see above as just a few examples. I loved to make the microcontrollers with each component and program them myself with C code written in the Arduino platform by using another Dandroid as a bootloader.
Arduino code example:
#include
AStar32U4Buzzer buzzer;
int ledPin = 10;
int buttonCheckerPin = 11;
int val = 0;
boolean play = false;
void setup()
{
pinMode(ledPin,OUTPUT);
pinMode(buttonCheckerPin,INPUT);
}
void loop() {
val = digitalRead(buttonCheckerPin);
if (val == 0) {
play = true;
}
if (play == true){
delay(1000);
digitalWrite(ledPin,HIGH);
buzzer.playFrequency(1568, 250, 15);
delay(250);
buzzer.playFrequency(1760, 500, 15);
delay(500);
buzzer.playFrequency(1568, 250, 15);
delay(250);
buzzer.playFrequency(1318, 500, 15);
delay(500);
buzzer.playFrequency(2093, 500, 15);
delay(500);
buzzer.playFrequency(1760, 500, 15);
delay(500);
buzzer.playFrequency(1568, 750, 15);
delay(1000);
buzzer.playFrequency(1568, 250, 15);
delay(250);
buzzer.playFrequency(1760, 250, 15);
delay(250);
buzzer.playFrequency(1568, 250, 15);
delay(250);
buzzer.playFrequency(1760, 250, 15);
delay(250);
buzzer.playFrequency(1568, 500, 15);
delay(500);
buzzer.playFrequency(209340, 500, 15);
delay(500);
buzzer.playFrequency(1975, 750, 15);
delay(750);
/*
buzzer.playNote(NOTE_G(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_A(4), 500, 15);
delay(400);
buzzer.playNote(NOTE_G(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_E(4), 500, 15);
delay(800);
buzzer.playNote(NOTE_C(4), 250, 15);
delay(800);
buzzer.playNote(NOTE_A(4), 500, 15);
delay(800);
buzzer.playNote(NOTE_G(4), 750, 15);
delay(1000);
buzzer.playNote(NOTE_G(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_A(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_G(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_A(4), 250, 15);
delay(200);
buzzer.playNote(NOTE_G(4), 500, 15);
delay(400);
buzzer.playNote(NOTE_C(4), 500, 15);
delay(400);
buzzer.playNote(NOTE_B(4), 750, 15);
delay(800);
*/
digitalWrite(ledPin,LOW);
delay(2000);
play = false;
}
}
BASIC program
BASIC isn't exactly relevant these days, but it's part of my history as a programmer. I made this flashcard program in BASIC to help me learn Japanese and saved it as an .exe file to run on Windows.
BASIC code for Hiragana Tester 1.0:
dim character$(46)
character$(0) = "a"
character$(1) = "i"
character$(2) = "u"
character$(3) = "e"
character$(4) = "o"
character$(5) = "ka"
character$(6) = "ki"
character$(7) = "ku"
character$(8) = "ke"
character$(9) = "ko"
character$(10) = "sa"
character$(11) = "shi"
character$(12) = "su"
character$(13) = "se"
character$(14) = "so"
character$(15) = "ta"
character$(16) = "chi"
character$(17) = "tsu"
character$(18) = "te"
character$(19) = "to"
character$(20) = "na"
character$(21) = "ni"
character$(22) = "nu"
character$(23) = "ne"
character$(24) = "no"
character$(25) = "ha"
character$(26) = "hi"
character$(27) = "fu"
character$(28) = "he"
character$(29) = "ho"
character$(30) = "ma"
character$(31) = "mi"
character$(32) = "mu"
character$(33) = "me"
character$(34) = "mo"
character$(35) = "ya"
character$(36) = "yu"
character$(37) = "yo"
character$(38) = "ra"
character$(39) = "ri"
character$(40) = "ru"
character$(41) = "re"
character$(42) = "ro"
character$(43) = "wa"
character$(44) = "wo"
character$(45) = "n"
nomainwin
WindowWidth = 400
WindowHeight = 500
UpperLeftX = 500
UpperLeftY = 100
loadbmp "white", "white.bmp"
loadbmp "a", "a.bmp"
loadbmp "i", "i.bmp"
loadbmp "u", "u.bmp"
loadbmp "e", "e.bmp"
loadbmp "o", "o.bmp"
loadbmp "ka", "ka.bmp"
loadbmp "ki", "ki.bmp"
loadbmp "ku", "ku.bmp"
loadbmp "ke", "ke.bmp"
loadbmp "ko", "ko.bmp"
loadbmp "sa", "sa.bmp"
loadbmp "shi", "shi.bmp"
loadbmp "su", "su.bmp"
loadbmp "se", "se.bmp"
loadbmp "so", "so.bmp"
loadbmp "ta", "ta.bmp"
loadbmp "chi", "chi.bmp"
loadbmp "tsu", "tsu.bmp"
loadbmp "te", "te.bmp"
loadbmp "to", "to.bmp"
loadbmp "na", "na.bmp"
loadbmp "ni", "ni.bmp"
loadbmp "nu", "nu.bmp"
loadbmp "ne", "ne.bmp"
loadbmp "no", "no.bmp"
loadbmp "ha", "ha.bmp"
loadbmp "hi", "hi.bmp"
loadbmp "fu", "fu.bmp"
loadbmp "he", "he.bmp"
loadbmp "ho", "ho.bmp"
loadbmp "ma", "ma.bmp"
loadbmp "mi", "mi.bmp"
loadbmp "mu", "mu.bmp"
loadbmp "me", "me.bmp"
loadbmp "mo", "mo.bmp"
loadbmp "ya", "ya.bmp"
loadbmp "yu", "yu.bmp"
loadbmp "yo", "yo.bmp"
loadbmp "ra", "ra.bmp"
loadbmp "ri", "ri.bmp"
loadbmp "ru", "ru.bmp"
loadbmp "re", "re.bmp"
loadbmp "ro", "ro.bmp"
loadbmp "wa", "wa.bmp"
loadbmp "wo", "wo.bmp"
loadbmp "n", "n.bmp"
loadbmp "help", "chart.bmp"
loadbmp "man", "man.bmp"
loadbmp "man2", "man2.bmp"
help = 0
statictext #main.static, "", 10, 10, 200, 25
statictext #main.score, "", 10, 30, 200, 25
statictext #main.total, "", 150, 30, 200, 25
statictext #main.typesomething, "Which character: ", 10, 320, 200, 25
textbox #main.textbox, 10, 350, 66, 25
button #main.button1, "Start Over", [button1], UL, 10, 400
button #main.button1, "Exit", [quit], UL, 100, 400
button #main.button1, "Enter", [typed], UL, 90, 350
button #main.help, "Help", [help], UL, 150, 400
Open "Hiragana Tester 1.0" for graphics_nsb as #main
[mainstart]
print #main, "drawbmp man 230 50"
score = 0
count= 0
try = 5
[start]
print #main.total, total; " %"
print #main, "trapclose [quit]"
print #main.textbox, ""
r = int(rnd(0) * 45 ) + 1
text$ = "Hiragana Tester"
print #main.static, text$
print #main.score, "Correct: "; score; " / "; count
print #main, "drawbmp white 50 100"
print #main, "drawbmp ";character$(r);" 50 100"
print #main, "flush"
Wait
[typed]
a$ = character$(r)
count = count + 1
print #main.textbox, "!contents? answer$"
if answer$ = a$ then
score = score + 1
print #main, "drawbmp man 230 50"
goto [start]
end if
print #main, "drawbmp man2 230 50"
playwave "gasp.wav"; async$
notice "Try again. Errors left: ";try - 1
try= try -1
if try = 0 then goto [errors]
wait
[button1]
goto [mainstart]
wait
[errors]
notice "Too many errors!"
goto [quit]
[help]
help = help + 1
open "Chart" for graphics as #help
print #help, "drawbmp help 0 0"
print #help, "TrapClose [quithelp]"
print #help, "flush"
wait
[quithelp]
help = help - 1
close #help
wait
[quit]
if score > 0 then
total = int((score/count) * 100)
print #main.score, "Correct: "; score; " / "; count
notice "You scored "; total; " %"
end if
if help > 0 then
close #help
end if
close #main
end