From: Alexis Laferrière Date: Sun, 7 Jan 2018 14:50:55 +0000 (-0500) Subject: examples: delete the `shoot` game X-Git-Url: http://nitlanguage.org examples: delete the `shoot` game Signed-off-by: Alexis Laferrière --- diff --git a/benchmarks/bench_engines.sh b/benchmarks/bench_engines.sh index 6710807..dfe66ae 100755 --- a/benchmarks/bench_engines.sh +++ b/benchmarks/bench_engines.sh @@ -43,8 +43,6 @@ function run_compiler() bench_command "nitc-g" "nitc --global ../src/test_parser.nit" "./nitc.$title.bin" -v --global --no-cc ../src/test_parser.nit run_command "$@" ../src/nit.nit -o "nit.$title.bin" bench_command "nit" "nit ../src/test_parser.nit ../src/location.nit" "./nit.$title.bin" -v ../src/test_parser.nit -- -n ../src/location.nit - run_command "$@" ../examples/shoot/src/shoot_logic.nit -o "shoot.$title.bin" - bench_command "shoot" "shoot_logic" "./shoot.$title.bin" run_command "$@" ../tests/bench_bintree_gen.nit -o "bintrees.$title.bin" bench_command "bintrees" "bench_bintree_gen 16" "./bintrees.$title.bin" 16 else @@ -61,8 +59,6 @@ function run_compiler() bench_command "nitdoc" "nitdoc ../src/nitls.nit" "./nitdoc.$title.bin" -v ../src/nitls.nit -d out run_command "$@" ../src/nitlight.nit -o "nitlight.$title.bin" bench_command "nitlight" "nitlight ../lib/[a-f]*/" "./nitlight.$title.bin" ../lib/[a-f]*/ -d out - run_command "$@" ../examples/shoot/src/shoot_logic.nit -o "shoot.$title.bin" - bench_command "shoot" "shoot_logic 15" "./shoot.$title.bin" 15 run_command "$@" ../tests/bench_bintree_gen.nit -o "bintrees.$title.bin" bench_command "bintrees" "bench_bintree_gen 17" "./bintrees.$title.bin" 17 #run_command "$@" "../contrib/pep8analysis/src/pep8analysis.nit" -o "pep8a.$title.bin" diff --git a/examples/shoot/Makefile b/examples/shoot/Makefile deleted file mode 100644 index a42ffde..0000000 --- a/examples/shoot/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -default: linux - -linux: - mkdir -p bin - ../../bin/nitc -o bin/shoot src/shoot_linux.nit - -android: - mkdir -p bin - ../../bin/nitc -o bin/shoot.apk src/shoot_android.nit - -android-release: - mkdir -p bin - ../../bin/nitc -o bin/shoot.apk src/shoot_android.nit --release - -null: - mkdir -p bin - ../../bin/nitc -o bin/shoot_null src/shoot_null.nit - -images: - mkdir -p assets/images - ../mnit_dino/tools/svg-to-pngs art/ships.svg assets/ - -clean: - rm -rf bin diff --git a/examples/shoot/README.md b/examples/shoot/README.md deleted file mode 100644 index 9dae94d..0000000 --- a/examples/shoot/README.md +++ /dev/null @@ -1,3 +0,0 @@ -A multi-platform shoot'em up in space - -This unfinished game is an example of the use of `mnit` and `scene2d` to develop a simple multi-platform game. diff --git a/examples/shoot/art/bio.png b/examples/shoot/art/bio.png deleted file mode 100644 index db53c55..0000000 Binary files a/examples/shoot/art/bio.png and /dev/null differ diff --git a/examples/shoot/art/blue.png b/examples/shoot/art/blue.png deleted file mode 100644 index 703d02f..0000000 Binary files a/examples/shoot/art/blue.png and /dev/null differ diff --git a/examples/shoot/art/fighter.png b/examples/shoot/art/fighter.png deleted file mode 100755 index f22213b..0000000 Binary files a/examples/shoot/art/fighter.png and /dev/null differ diff --git a/examples/shoot/art/ships.svg b/examples/shoot/art/ships.svg deleted file mode 100644 index 6d90fee..0000000 --- a/examples/shoot/art/ships.svg +++ /dev/null @@ -1,41377 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/shoot/assets/boss.png b/examples/shoot/assets/boss.png deleted file mode 100644 index 49cf0c2..0000000 Binary files a/examples/shoot/assets/boss.png and /dev/null differ diff --git a/examples/shoot/assets/boss_left.png b/examples/shoot/assets/boss_left.png deleted file mode 100644 index c9de48a..0000000 Binary files a/examples/shoot/assets/boss_left.png and /dev/null differ diff --git a/examples/shoot/assets/boss_right.png b/examples/shoot/assets/boss_right.png deleted file mode 100644 index 7901bdf..0000000 Binary files a/examples/shoot/assets/boss_right.png and /dev/null differ diff --git a/examples/shoot/assets/enemy.png b/examples/shoot/assets/enemy.png deleted file mode 100644 index 893a4d8..0000000 Binary files a/examples/shoot/assets/enemy.png and /dev/null differ diff --git a/examples/shoot/assets/enemy0.png b/examples/shoot/assets/enemy0.png deleted file mode 100644 index 088d683..0000000 Binary files a/examples/shoot/assets/enemy0.png and /dev/null differ diff --git a/examples/shoot/assets/enemy1.png b/examples/shoot/assets/enemy1.png deleted file mode 100644 index c250e0b..0000000 Binary files a/examples/shoot/assets/enemy1.png and /dev/null differ diff --git a/examples/shoot/assets/enemy2.png b/examples/shoot/assets/enemy2.png deleted file mode 100644 index 28e1ab1..0000000 Binary files a/examples/shoot/assets/enemy2.png and /dev/null differ diff --git a/examples/shoot/assets/enemy3.png b/examples/shoot/assets/enemy3.png deleted file mode 100644 index da510e4..0000000 Binary files a/examples/shoot/assets/enemy3.png and /dev/null differ diff --git a/examples/shoot/assets/enemy4.png b/examples/shoot/assets/enemy4.png deleted file mode 100644 index c4c2ac3..0000000 Binary files a/examples/shoot/assets/enemy4.png and /dev/null differ diff --git a/examples/shoot/assets/enemy4_turret.png b/examples/shoot/assets/enemy4_turret.png deleted file mode 100644 index 1afd8a4..0000000 Binary files a/examples/shoot/assets/enemy4_turret.png and /dev/null differ diff --git a/examples/shoot/assets/enemy_kamikaze.png b/examples/shoot/assets/enemy_kamikaze.png deleted file mode 100644 index d2f64e3..0000000 Binary files a/examples/shoot/assets/enemy_kamikaze.png and /dev/null differ diff --git a/examples/shoot/assets/enemy_missile.png b/examples/shoot/assets/enemy_missile.png deleted file mode 100644 index 8a167bc..0000000 Binary files a/examples/shoot/assets/enemy_missile.png and /dev/null differ diff --git a/examples/shoot/assets/enemy_shoot.png b/examples/shoot/assets/enemy_shoot.png deleted file mode 100644 index 6282d8e..0000000 Binary files a/examples/shoot/assets/enemy_shoot.png and /dev/null differ diff --git a/examples/shoot/assets/explosion.png b/examples/shoot/assets/explosion.png deleted file mode 100644 index eac7821..0000000 Binary files a/examples/shoot/assets/explosion.png and /dev/null differ diff --git a/examples/shoot/assets/hitbox.png b/examples/shoot/assets/hitbox.png deleted file mode 100644 index 1c382c9..0000000 Binary files a/examples/shoot/assets/hitbox.png and /dev/null differ diff --git a/examples/shoot/assets/money.png b/examples/shoot/assets/money.png deleted file mode 100644 index c34b8e4..0000000 Binary files a/examples/shoot/assets/money.png and /dev/null differ diff --git a/examples/shoot/assets/player.png b/examples/shoot/assets/player.png deleted file mode 100644 index d522fcc..0000000 Binary files a/examples/shoot/assets/player.png and /dev/null differ diff --git a/examples/shoot/assets/player_missile.png b/examples/shoot/assets/player_missile.png deleted file mode 100644 index 0ea26ca..0000000 Binary files a/examples/shoot/assets/player_missile.png and /dev/null differ diff --git a/examples/shoot/assets/player_shoot.png b/examples/shoot/assets/player_shoot.png deleted file mode 100755 index db5d808..0000000 Binary files a/examples/shoot/assets/player_shoot.png and /dev/null differ diff --git a/examples/shoot/assets/splash.png b/examples/shoot/assets/splash.png deleted file mode 100644 index 8b6a04e..0000000 Binary files a/examples/shoot/assets/splash.png and /dev/null differ diff --git a/examples/shoot/assets/splash_play.png b/examples/shoot/assets/splash_play.png deleted file mode 100644 index bdd0b7e..0000000 Binary files a/examples/shoot/assets/splash_play.png and /dev/null differ diff --git a/examples/shoot/assets/star0.png b/examples/shoot/assets/star0.png deleted file mode 100644 index 405bbb2..0000000 Binary files a/examples/shoot/assets/star0.png and /dev/null differ diff --git a/examples/shoot/assets/star1.png b/examples/shoot/assets/star1.png deleted file mode 100644 index 4ba64b6..0000000 Binary files a/examples/shoot/assets/star1.png and /dev/null differ diff --git a/examples/shoot/assets/star2.png b/examples/shoot/assets/star2.png deleted file mode 100644 index 2a254f2..0000000 Binary files a/examples/shoot/assets/star2.png and /dev/null differ diff --git a/examples/shoot/assets/up_missile.png b/examples/shoot/assets/up_missile.png deleted file mode 100644 index 06ebe21..0000000 Binary files a/examples/shoot/assets/up_missile.png and /dev/null differ diff --git a/examples/shoot/org.nitlanguage.shoot_android.txt b/examples/shoot/org.nitlanguage.shoot_android.txt deleted file mode 100644 index d43de74..0000000 --- a/examples/shoot/org.nitlanguage.shoot_android.txt +++ /dev/null @@ -1,10 +0,0 @@ -Categories:Nit,Games -License:Apache2 -Web Site:http://nitlanguage.org -Source Code:http://nitlanguage.org/nit.git/tree/HEAD:/examples/shoot -Issue Tracker:https://github.com/nitlang/nit/issues - -Summary:A shoot'em up in space -Description: -*piew* *piew* *boom* *piew* *boom* etc. -. diff --git a/examples/shoot/package.ini b/examples/shoot/package.ini deleted file mode 100644 index 099ba60..0000000 --- a/examples/shoot/package.ini +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name=shoot -tags=game -maintainer=Jean Privat -license=Apache-2.0 -[upstream] -browse=https://github.com/nitlang/nit/tree/master/examples/shoot/ -git=https://github.com/nitlang/nit.git -git.directory=examples/shoot/ -homepage=http://nitlanguage.org -issues=https://github.com/nitlang/nit/issues -apk=http://nitlanguage.org/fdroid/apk/shoot_android.apk diff --git a/examples/shoot/src/shoot.nit b/examples/shoot/src/shoot.nit deleted file mode 100644 index fd94447..0000000 --- a/examples/shoot/src/shoot.nit +++ /dev/null @@ -1,413 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Space shooter. -# This program is a fun game but also a good example of the scene2d module -module shoot is - app_name("Space Shooter") - app_version(0, 1, git_revision) -end - -import mnit -import shoot_logic - -redef class Sprite - # mnit specific method to draw a sprite - # app is used to optain the assets and the display - # Each sprite should implements this method - fun draw_on_display(app: App) do end - - # Helper function to draw an image centered on the current sprite position - fun draw_image(app: App, img: Image) - do - app.display.blit_centered(img, (self.x.to_f/app.scale).to_i, (self.y.to_f/app.scale).to_i) - end - - # Helper function to draw an image translated and rotated on the current sprite position - fun draw_rotated_image(app: App, img: Image, dx, dy: Int, angle: Float) - do - app.display.blit_rotated(img, self.x.to_f/app.scale, self.y.to_f/app.scale, angle) - end -end - -redef class Player - redef fun draw_on_display(app) - do - if protected_ttl > 30 and protected_ttl%10 > 5 then return # blink on protected - draw_image(app, app.img_player) - end -end - -redef class Shoot - redef fun draw_on_display(app) - do - var img = if enemy then app.img_enemy_shoot else app.img_player_shoot - draw_image(app, img) - end -end - -redef class Missile - redef fun draw_on_display(app) - do - var angle = velocity_angle - var img = if enemy then app.img_enemy_missile else app.img_player_missile - draw_rotated_image(app, img, 0, 0, angle) - end -end - -redef class Enemy0 - redef fun draw_on_display(app) - do - draw_image(app, app.img_enemy0) - end -end - -redef class Enemy1 - redef fun draw_on_display(app) - do - draw_image(app, app.img_enemy1) - end -end - -redef class Enemy2 - redef fun draw_on_display(app) - do - draw_image(app, app.img_enemy2) - end -end - -redef class Enemy3 - redef fun draw_on_display(app) - do - draw_image(app, app.img_enemy3) - end -end - -redef class Enemy4 - redef fun draw_on_display(app) - do - draw_image(app, app.img_enemy4) - draw_rotated_image(app, app.img_enemy4_turret, 0, 0, self.angle) - end -end - -redef class EnemyKamikaze - redef fun draw_on_display(app) - do - var angle = self.velocity_angle - draw_rotated_image(app, app.img_enemy_kamikaze, 0, 0, angle) - end -end - -redef class Boss - redef fun draw_on_display(app) - do - if flick_ttl > 0 then return - draw_image(app, app.img_boss) - end -end - -redef class BossPart - redef fun draw_on_display(app) - do - if flick_ttl > 0 then return - if relx > 0 then - self.boss.draw_image(app, app.img_boss_right) - else - self.boss.draw_image(app, app.img_boss_left) - end - end -end - -redef class Money - redef fun draw_on_display(app) - do - draw_image(app, app.img_money) - end -end - -redef class UpMissile - redef fun draw_on_display(app) - do - draw_image(app, app.img_upmissile) - end -end - -redef class Explosion - redef fun draw_on_display(app) - do - draw_image(app, app.img_explosion) - end -end - -redef class Star - redef fun draw_on_display(app) - do - # Simulate depth: - # More a star is fast, more it requires a bright image - var img: Image - if self.vy < 20 then - img = app.img_star0 - else if self.vy < 40 then - img = app.img_star1 - else - img = app.img_star2 - end - draw_image(app, img) - end -end - -redef class Scene - fun draw_on_display(app: App) do end - fun input(app: App, input_event: InputEvent): Bool do return false -end - -redef class PlayScene - redef fun draw_on_display(app) - do - app.display.clear( 0.0, 0.0, 0.0 ) - self.sprites.draw(app) - for i in [0..player.money[ - do - app.display.blit(app.img_money, 10, app.display.height-10-i) - end - for i in [1..player.nbshoots] - do - app.display.blit(app.img_player_shoot, 30, app.display.height-10 - i*10) - end - for i in [1..player.nbmissiles] - do - app.display.blit(app.img_player_missile, 40, app.display.height-10 - i*20) - end - end - - redef fun input(app, input_event) - do - var speed = 400 - if input_event isa KeyEvent then - if input_event.is_arrow_down then - if input_event.is_down then - player.vy = speed - else - player.vy = 0 - end - else if input_event.is_arrow_up then - if input_event.is_down then - player.vy = -speed - else - player.vy = 0 - end - else if input_event.is_arrow_left then - if input_event.is_down then - player.vx = -speed - else - player.vx = 0 - end - else if input_event.is_arrow_right then - if input_event.is_down then - player.vx = speed - else - player.vx = 0 - end - end - return true - else if input_event isa PointerEvent and input_event.pressed then - var x = (input_event.x * app.scale).to_i - var y = (input_event.y * app.scale).to_i - player.goes_to(x, y, speed) - return true - end - return false # unknown event, can be handled by something else - end -end - -### - -redef class MenuScene - redef fun draw_on_display(app) - do - var display = app.display - assert display != null - blit_fs(display, app.img_splash) - sprites.draw(app) - if not play or ttl%10 > 5 then - blit_fs(display, app.img_splash_play) - end - end - - fun blit_fs(d: Display, img: Image) - do - var w = d.width.to_f - var h = d.height.to_f - d.blit_stretched(img, 0.0,0.0, 0.0,h, w,h, w,0.0) - end - - redef fun input(app, input_event) - do - if input_event isa KeyEvent then - play = true - return true - else if input_event isa PointerEvent then - play = true - return true - end - return false - end -end - -### - -redef class App - super View - - var debug: Bool = false - - redef fun draw_sprite(s: Sprite) - do - s.draw_on_display(self) - if debug and s.width != 0 and s.height != 0 then - var left = s.left.to_f/scale - var right = s.right.to_f/scale - var top = s.top.to_f/scale - var bot = s.bottom.to_f/scale - display.blit_stretched(img_hitbox, right, top, right, bot, left, bot, left, top) - end - end - - var scene: ShotScene - - var img_hitbox: Image - - var img_splash: Image - var img_splash_play: Image - - var img_player: Image - var img_player_shoot: Image - var img_player_missile: Image - var img_enemy0: Image - var img_enemy1: Image - var img_enemy2: Image - var img_enemy3: Image - var img_enemy4: Image - var img_enemy4_turret: Image - var img_enemy_kamikaze: Image - var img_enemy_shoot: Image - var img_enemy_missile: Image - var img_money: Image - var img_upmissile: Image - var img_explosion: Image - var img_star0: Image - var img_star1: Image - var img_star2: Image - - var img_boss: Image - var img_boss_left: Image - var img_boss_right: Image - - redef fun on_create - do - super - - scale = (800.0 * 600.0 / display.width.to_f / display.height.to_f).sqrt * 100.0 - - debug = args.length > 0 and args.first == "--debug" - - # TODO load assets here - # ex: img = load_image( "img.png" ) - # to get file located at assets/img.png before deployement - self.img_hitbox = load_image("hitbox.png") - - self.img_splash = load_image("splash.png") - self.img_splash_play = load_image("splash_play.png") - - self.img_player = load_image("player.png") - self.img_player_shoot = load_image("player_shoot.png") - self.img_player_missile = load_image("player_missile.png") - self.img_enemy0 = load_image("enemy0.png") - self.img_enemy1 = load_image("enemy1.png") - self.img_enemy2 = load_image("enemy2.png") - self.img_enemy3 = load_image("enemy3.png") - self.img_enemy4 = load_image("enemy4.png") - self.img_enemy4_turret = load_image("enemy4_turret.png") - self.img_enemy_kamikaze = load_image("enemy_kamikaze.png") - self.img_enemy_shoot = load_image("enemy_shoot.png") - self.img_enemy_missile = load_image("enemy_missile.png") - self.img_money = load_image("money.png") - self.img_upmissile = load_image("up_missile.png") - self.img_explosion = load_image("explosion.png") - self.img_star0 = load_image("star0.png") - self.img_star1 = load_image("star1.png") - self.img_star2 = load_image("star2.png") - self.img_boss = load_image("boss.png") - self.img_boss_left = load_image("boss_left.png") - self.img_boss_right = load_image("boss_right.png") - - var w = (display.width.to_f * scale).to_i - var h = (display.height.to_f * scale).to_i - self.scene = new MenuScene(w, h) - end - - # Whole scaling to convert display pixels to game pixels - var scale: Float = 200.0 - - redef fun load_image(filename) - do - var res = super - res.scale = 100.0 / self.scale - return res - end - - redef fun frame_core( display ) - # the arg display is not null but otherwise the same than self.display - do - if not paused then - self.scene.update - var next = self.scene.next_scene - if next != null then - self.scene = next - end - if not self.scene.exists then quit = true - end - self.scene.draw_on_display(self) - end - - var paused: Bool = false - - redef fun input( input_event ) - do - if input_event isa QuitEvent then # close window button - quit = true # orders system to quit - return true # this event has been handled - else if input_event isa KeyEvent then - if input_event.to_c == 'p' then - paused = input_event.is_down - return true # this event has been handled - else if input_event.to_c == 'q' then - quit = true # orders system to quit - return true # this event has been handled - end - end - - # Maybe the event is specific to the scene - return self.scene.input(self, input_event) - end -end - -if args.length > 0 and args.first == "--headless" then - headless_run - return -end - -app.setup -app.run diff --git a/examples/shoot/src/shoot_android.nit b/examples/shoot/src/shoot_android.nit deleted file mode 100644 index 4de7f66..0000000 --- a/examples/shoot/src/shoot_android.nit +++ /dev/null @@ -1,21 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Android version of the shoot program -module shoot_android - -import shoot -import mnit::android - -super diff --git a/examples/shoot/src/shoot_linux.nit b/examples/shoot/src/shoot_linux.nit deleted file mode 100644 index 5ca2dca..0000000 --- a/examples/shoot/src/shoot_linux.nit +++ /dev/null @@ -1,21 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Linux version of the shoot program -module shoot_linux - -import shoot -import mnit::linux - -super diff --git a/examples/shoot/src/shoot_logic.nit b/examples/shoot/src/shoot_logic.nit deleted file mode 100644 index 824af57..0000000 --- a/examples/shoot/src/shoot_logic.nit +++ /dev/null @@ -1,1077 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Space shooter. -# This program is a fun game but also a good example of the scene2d module -module shoot_logic - -import scene2d - -# The ship of the player -class Player - super Sprite - - # Where the player is going - var going_target = new GoingTarget - - # Activate the `going_target` - fun goes_to(x,y: Int, speed: Int) - do - going_target.x = x - going_target.y = y - going_target.active = true - var angle = angle_to(going_target) - set_velocity(angle, speed) - end - - # Current forture of the player - var money: Int = 0 is writable - - # Number of basic bullets fired together - var nbshoots: Int = 1 is writable - - # Time bebore the player shoot again a basic bullet (cooldown) - # Shoot if 0 - var shoot_ttl = 0 - - # Number of missiles - var nbmissiles: Int = 0 is writable - - # Time bebore the player shoot again a missile (cooldown) - # Shoot if 0 - var missile_ttl = 0 - - # Remainind time when the player is protected from impacts - var protected_ttl = 0 - - # The associated play scene - # (mainly used to registed shoots) - var scene: PlayScene - - init(scene: PlayScene) do - self.scene = scene - self.width = 2400 - self.height = 2400 - end - - redef fun update - do - super - - # Out of screen? - if self.y < 0 then - self.y = 0 - self.vy = 0 - else if self.y > scene.height then - self.y = scene.height - self.vy = 0 - end - if self.x < 0 then - self.x = 0 - self.vx = 0 - else if self.x > scene.width then - self.x = scene.width - self.vx = 0 - end - - # Update of the player protection if any - if protected_ttl > 0 then protected_ttl -= 1 - - # Need to shoot basic bullets? - if shoot_ttl > 0 then - shoot_ttl -= 1 - else - shoot_ttl = 30 - for i in [0..nbshoots[ do - var shoot = new Shoot(scene) - shoot.x = x - shoot.y = top - shoot.vy = -500 - shoot.vx = (i - nbshoots / 2) * 100 - scene.player_shoots.add(shoot) - end - end - - # Need to shoot missiles? - if missile_ttl > 0 then - missile_ttl -= 1 - else if nbmissiles > 0 then - missile_ttl = 500 / nbmissiles - var shoot = new Missile(scene) - shoot.x = x - shoot.y = top - shoot.vy = -300 - shoot.vx = 0 - scene.player_shoots.add(shoot) - end - - end - - # Time before the player is respawned by the scene - var respawn_ttl: Int = 0 - - fun hit - do - if self.protected_ttl > 0 then return - self.scene.explosion(self.x, self.y, 10) - self.exists = false - - # Reset the position for respawn - self.x = scene.width / 2 - self.y = scene.height - 10000 - self.vx = 0 - self.vy = 0 - self.respawn_ttl = 50 - end - -end - -# Sprites that may be hit by the player. -# Eq. enemies, bullets, loots, etc. -class Hitable - super Sprite - - # What do do when self is hit by the player. - # By defaut, do nothing - fun hit_by_player(player: Player) do end -end - -# Destination for the player (pointer position) -class GoingTarget - super Hitable - - # true in on move, false if player is at rest - var active = false is writable - - init do - self.width = 500 - self.height = 500 - end - - redef fun hit_by_player(player) - do - if not active then return - active = false - player.vx = 0 - player.vy = 0 - end -end - -# A bullet shooted by a ship -class Shoot - super Hitable - - # Was the shoot fired by an enemy. - # Since there is no frendly fire, it is important to distinguish ownership - var enemy: Bool = false - - # The scene of the sprite - # Is used with bound limits - var scene: PlayScene - - init(scene: PlayScene) - do - self.scene = scene - self.width = 800 - self.height = 800 - end - - redef fun update - do - super - - # Out of screen ? - if self.y < -100 * 100 or self.y > scene.height + 10000 or self.x < -100 * 100 or self.x > scene.width + 10000 then - self.exists = false - end - end - - redef fun hit_by_player(player) - do - player.hit - self.exists = false - end -end - -# A advanced bullet that aims a target (player or enemy) -class Missile - super Shoot - - # The target aquired by the missile - var target: nullable Sprite = null - - # When ttl is 0 then the angle stay fixed - # The angle is updated toward the target if ttl>0 - var ttl: Int = 200 - - redef fun update - do - super - - # Do we still update the angle ? - if ttl <= 0 then return - ttl -= 1 - - # Do we have a target? - var target = self.target - if target == null or not target.exists then return - - # Just update the angle - var angle = self.angle_to(target) - self.set_velocity(angle, 300) - end -end - -# A enemy ship -# Various enemies exists, each kind has its own subclass -abstract class Enemy - super Hitable - - # The scene of the ship - # Is used to store created bullets or to get info about the player - var scene: PlayScene - - # Time bebore the enemy shoot again (cooldown) - # Shoot if 0 - # The default value is used as a grace period to avoid a first shoot on - # the first update - var shoot_ttl = 50 - - init(scene: PlayScene) - do - self.width = 2400 - self.height = 2400 - self.scene = scene - scene.enemies.add(self) - end - - redef fun update - do - super - - # Out of screen ? - if self.y > scene.height + 10000 or self.x < -100 * 100 or self.x > scene.width + 10000 then - # Note: no control on the top to let ennemies appear - self.exists = false - end - - # Need to shoot? - if shoot_ttl > 0 then - shoot_ttl -= 1 - else - shoot - end - end - - # Each enemy has its own kind of shoot strategy - # Note: is automatically called by update when shoot_ttl is expired - fun shoot do end - - # Money given when the enemy is destroyed - fun loot: Int is abstract - - # What to do when the enemy is hit by a player shoot (or by the player himself)? - # By default it kill the enemy in an explosion and generate a loot - fun hit - do - self.exists = false - scene.explosion(self.x, self.y, 5) - if 100.rand < 3 then - var upmissile = new UpMissile(scene) - upmissile.x = self.x - upmissile.y = self.y - upmissile.vx = 0 - upmissile.vy = 0 - scene.loots.add(upmissile) - scene.hitables.add(new LootArea(upmissile, 2000)) - else - for i in [0..self.loot[ do - var money = new Money(scene) - money.x = self.x - money.y = self.y - money.set_velocity(100.rand.to_f*pi/50.0, (500+self.loot).rand) - scene.loots.add(money) - scene.hitables.add(new LootArea(money, 2000)) - end - end - end - - redef fun hit_by_player(player) - do - player.hit - hit - end -end - -# Basic enemy, do not shoot -class Enemy0 - super Enemy - - redef fun loot do return 3 - - redef init(scene) - do - self.width = 3600 - self.height = 3600 - end -end - -# Simple shooter of pairs of basic bullets -class Enemy1 - super Enemy - - redef init(scene) - do - self.width = 4400 - self.height = 4400 - end - - redef fun shoot - do - # Next shoot - shoot_ttl = 50 - - # two bullets shoot each time - for dx in [-11, 11] do - var shoot = new Shoot(scene) - shoot.enemy = true - shoot.x = self.x + dx * 100 - shoot.y = self.bottom - shoot.vy = 500 - scene.enemy_shoots.add(shoot) - end - end - - redef fun loot do return 5 -end - -# Enemy that shoot missiles -class Enemy2 - super Enemy - - redef init(scene) - do - self.width = 6000 - self.height = 6000 - end - - redef fun shoot - do - # Next shoot - shoot_ttl = 200 - - # The missile targets the player - var shoot = new Missile(scene) - shoot.enemy = true - shoot.x = self.x - shoot.y = self.bottom - shoot.vy = 500 - shoot.target = scene.player - scene.enemy_shoots.add(shoot) - end - - redef fun loot do return 10 -end - -# Enemy that shoot rings of basic bullets -class Enemy3 - super Enemy - - redef init(scene) - do - self.width = 5800 - self.height = 5800 - end - - redef fun shoot - do - # Next shoot - shoot_ttl = 50 - - for i in [0..10[ do - var shoot = new Shoot(scene) - shoot.enemy = true - shoot.x = self.x - shoot.y = self.bottom - shoot.set_velocity(pi/5.0*i.to_f, 500) - scene.enemy_shoots.add(shoot) - end - end - - redef fun loot do return 20 -end - -# Enemy with a turret that shoot burst of bullets toward the player -class Enemy4 - super Enemy - - # The angle of the turret - var angle: Float = 0.0 - - redef init(scene) - do - self.width = 4200 - self.height = 4200 - end - - redef fun update - do - super - - # Rotate the turret toward the player - var target = scene.player - if target.exists then - angle = self.angle_to(target) - end - end - - # Shoots come in burst - var nbshoots: Int = 0 - - redef fun shoot - do - # Next shoot: is there still bullets in the burst? - if self.nbshoots < 10 then - # Is ther - self.nbshoots += 1 - shoot_ttl = 5 - else - self.nbshoots = 0 - shoot_ttl = 80 - end - - # Shoot with the turret angle - var shoot = new Shoot(scene) - shoot.enemy = true - shoot.x = self.x - shoot.y = self.y - shoot.set_velocity(angle, 500) - scene.enemy_shoots.add(shoot) - end - - redef fun loot do return 20 -end - -# Enemy that rush directly on the player -class EnemyKamikaze - super Enemy - - redef init(scene) - do - self.width = 3200 - self.height = 3200 - end - - redef fun update - do - super - - # Try to target the player - var target = scene.player - if not target.exists then return - - var angle = self.angle_to(target) - self.set_velocity(angle, 600) - end - - redef fun loot do return 5 -end - -# The boss has two semi-independent arms -class Boss - super Enemy - - # Left arm - var left_part: BossPart - - # Right arm - var right_part: BossPart - - init(scene) - do - super - self.width = 140 * 100 - self.height = 96 * 100 - self.x = scene.width / 2 - self.y = -100 * 100 - self.left_part = new BossPart(self, -66*100) - self.right_part = new BossPart(self, 66*100) - end - - var flick_ttl: Int = 0 - - redef fun update - do - if flick_ttl > 0 then flick_ttl -= 1 - - # Path of the boss (down then left<->right) - if self.y < 20000 then - self.vx = 0 - self.vy = 100 - else if self.vx == 0 then - self.vx = 100 - self.vy = 0 - else if self.x > scene.width - 10000 and self.vx > 0 then - self.vx = -self.vx - else if self.x < 10000 and self.vx < 0 then - self.vx = -self.vx - end - - super - end - - redef fun shoot - do - # Do not shoot if not ready - if self.vy != 0 then return - - # Try to target the player - var target = scene.player - if not target.exists then return - - # Next shoot: burst if no arms remains - if left_part.exists or right_part.exists then - shoot_ttl = 60 - else - shoot_ttl = 20 - end - - # Shoot the player with a basic bullet - var shoot = new Shoot(scene) - shoot.enemy = true - shoot.x = self.x - shoot.y = self.bottom - var angle = shoot.angle_to(target) - shoot.set_velocity(angle, 500) - scene.enemy_shoots.add(shoot) - end - - redef fun loot do return 100 - - var live: Int = 20 - - redef fun hit - do - # Protected while an arm remains - if left_part.exists or right_part.exists then return - - if live > 0 then - live -= 1 - flick_ttl = 2 - else - super - scene.explosion(self.x, self.y, 30) - end - end -end - -# An arm of a boss -class BossPart - super Enemy - - # The associated boss - var boss: Boss - - # Relative x coordonate (center to center) of the arm - var relx: Int - - # Relative y coordonate (center to center) of the arm - var rely: Int = 36 * 100 - - var live: Int = 10 - - init(boss: Boss, relx: Int) - do - self.boss = boss - self.relx = relx - super(boss.scene) - self.width = 38 * 100 - self.height = 48 * 100 - - # Alternate the shoots of the arms - if relx > 0 then - shoot_ttl += 300 - end - self.x = boss.x + relx - self.y = boss.y + rely - end - - redef fun update - do - self.x = boss.x + relx - self.y = boss.y + rely - - super - - if flick_ttl > 0 then flick_ttl -= 1 - end - - redef fun shoot - do - # Do not shoot if not ready - if self.boss.vy != 0 then return - - # Next shoot - shoot_ttl = 600 - - # Shoot a missile that targets the player - var shoot = new Missile(scene) - shoot.enemy = true - shoot.x = self.x - shoot.y = self.bottom - shoot.vy = 500 - shoot.target = scene.player - scene.enemy_shoots.add(shoot) - end - - var flick_ttl: Int = 0 - - redef fun hit - do - if live > 0 then - live -= 1 - flick_ttl = 2 - else - super - end - end - - redef fun loot do return 10 -end - -# Whatever reward or bonus that can be picked by the player -abstract class Loot - super Hitable - - var scene: PlayScene - - init(scene: PlayScene) - do - self.scene = scene - self.width = 400 - self.height = 400 - end - - # Magnet effect: The loot will move to the target if set - # See LootArea for details - var target: nullable Sprite = null - - redef fun update - do - super - - # Out of screen ? - if self.y > scene.height + 10000 then - self.exists = false - end - - var target = self.target - if target == null then - # Not magneted: deploy - - # Heavy fuild friction to stops the explosion - # Loots are placed with a explosion, see `Enemy::hit' - self.vx = self.vx*7/8 - self.vy = self.vy*7/8 - - # Background scroling - self.y += 50 - - else if target.exists then - # Magneted: rush toward the target - var angle = self.angle_to(target) - self.set_velocity(angle, 800) - - else - # Magneted but dead target: reset the loot - self.vx = 0 - self.vy = 0 - self.target = null - end - end -end - -# Basic money loot -class Money - super Loot - - redef fun hit_by_player(player) - do - self.exists = false - player.money += 1 - if player.money > 100 then - player.money -= 100 - player.nbshoots += 1 - end - end -end - -# Increase the number of missiles -class UpMissile - super Loot - - redef fun hit_by_player(player) - do - self.exists = false - player.nbmissiles += 1 - end -end - -# A loot area is an invisible field used to implement the magnet effets of loots -# The principle is: -# * the loot is an invisible sprite with a hitbox larger than the loot hitbox -# * the lootbox remains centered on the loot -# * when the player hit the lootarea, then the loot is set to target the player -# * when the player hit the loot, then the player gains effectively the loot -class LootArea - super Hitable - - # The associated loot - var loot: Loot - - init(loot: Loot, radius: Int) - do - self.loot = loot - self.width = radius * 2 + loot.width - self.height = radius * 2 + loot.height - end - - redef fun update - do - # position remains centered on the loot - self.x = loot.x - self.y = loot.y - - # No area if no loot - if not loot.exists then self.exists = false - - # the super is useless but it is a good practice to call it - super - end - - redef fun hit_by_player(player) - do - # Kill the area - self.exists = false - - # The loot now targets the player - loot.target = player - end -end - -# A non interactive element of an explosion -# A real explosion is made of many Explosion object -# Use the `PlayScene::explosion` method to generate a full explosion -class Explosion - super Sprite - - # Time before the sprite vanishes - var ttl: Int = 10 - - redef fun update - do - # Heavy fuild friction to stops the explosion - self.vx = self.vx*7/8 - self.vy = self.vy*7/8 - - # Background scrolling - self.y += 50 - - super - - # Vanishes? - if ttl > 0 then - ttl -= 1 - else - exists = false - end - end -end - -# A star is a non-interactive background element -# Stars are used to simulate a continuous global scroling -class Star - super Sprite - - # The scene of the sprite - # Is used with bound limits - var scene: ShotScene - - init(scene: ShotScene) - do - self.scene = scene - # Randomely places stars on the plane - self.x = scene.width.rand - self.y = scene.height.rand - self.vy = 40.rand + 11 - end - - redef fun update - do - super - - # Replace the star on the top - if self.y > scene.height then - self.y = 200.rand * -100 - self.x = scene.width.rand - self.vy = 40.rand + 11 - end - end -end - -class ShotScene - super Scene - - # When a scene need to be replaced, just assign the next_scene to a non null value - var next_scene: nullable ShotScene = null is writable - - # The width of the whole scene - var width: Int is writable - - # The height of the whole scene - var height: Int is writable - - init(w,h: Int) - do - width = w - height = h - end -end - -# The main play state -class PlayScene - super ShotScene - - # The player ship - var player: Player - - # Shoots of the player - var player_shoots = new LiveGroup[Shoot] - - # Enemy ships - var enemies = new LiveGroup[Enemy] - - # Soots of the enemy - var enemy_shoots = new LiveGroup[Shoot] - - # Collectible loots - var loots = new LiveGroup[Loot] - - # Non active stuff like explosions - var pasive_stuff = new LiveGroup[LiveObject] - - # Background stuff like stars - var background = new LiveGroup[LiveObject] - - # All other hitable sprites - var hitables = new LiveGroup[Hitable] - - # All sprites - var sprites = new LiveGroup[LiveObject] - - init(w,h) - do - super - self.player = new Player(self) - player.x = self.width / 2 - player.y = self.height - 10000 - self.sprites.add(background) - self.sprites.add(pasive_stuff) - self.sprites.add(loots) - self.sprites.add(player_shoots) - self.sprites.add(enemy_shoots) - self.sprites.add(enemies) - self.sprites.add(self.player) - self.sprites.add(hitables) - - for i in [0..100[ do - background.add(new Star(self)) - end - - hitables.add(player.going_target) - end - - # Generate an explosion - fun explosion(x, y: Int, radius: Int) - do - # Project explosion parts from the given position - # The strong friction and the short ttl of each part will achieve the effect - for i in [0..radius[ do - var ex = new Explosion - ex.x = x - ex.y = y - ex.set_velocity(100.rand.to_f*pi/50.0, (50*radius).rand) - ex.ttl += radius.rand - pasive_stuff.add(ex) - end - end - - var enemy_remains: Int = 15 - var boss_wait_ttl: Int = 0 - var boss: nullable Boss - - redef fun update - do - sprites.gc - sprites.update - - if enemy_remains == 0 then - if boss_wait_ttl > 0 then - boss_wait_ttl -= 1 - else if boss == null then - boss = new Boss(self) - enemy_remains = 15 - else if not boss.exists then - boss = null - end - else if 100.rand < 1 then - enemy_remains -= 1 - if enemy_remains == 0 then - boss_wait_ttl = 500 - end - var rnd = 100.rand - var enemy: Enemy - if rnd < 40 then - enemy = new Enemy0(self) - else if rnd < 60 then - enemy = new Enemy1(self) - else if rnd < 70 then - enemy = new EnemyKamikaze(self) - else if rnd < 90 then - enemy = new Enemy2(self) - else if rnd < 95 then - enemy = new Enemy3(self) - else - enemy = new Enemy4(self) - end - enemy.x = (self.width - 20000).rand + 10000 - enemy.vy = 200.rand + 100 - if 10.rand < 3 then - enemy.vx = 200.rand - 100 - end - end - - for ps in player_shoots do - if not ps.exists then continue - var target: nullable Enemy = null - var td = 100000 # big int - for e in enemies do - if not e.exists then continue - if ps.overlaps(e) then - ps.exists = false - e.hit - end - var d = (e.x - ps.x).abs + (e.y - ps.y).abs - if td > d then - target = e - td = d - end - end - if ps isa Missile and (ps.target == null or not ps.target.exists) then - ps.target = target - end - end - - for e in enemies do - if not e.exists then continue - if player.exists and player.overlaps(e) then - e.hit_by_player(player) - end - end - for s in enemy_shoots do - if not s.exists then continue - if player.exists and player.overlaps(s) then - s.hit_by_player(player) - end - end - for l in loots do - if not l.exists then continue - if player.exists and player.overlaps(l) then - l.hit_by_player(player) - end - end - for l in hitables do - if not l.exists then continue - if player.exists and player.overlaps(l) then - l.hit_by_player(player) - end - end - if not player.exists then - if player.respawn_ttl > 0 then - player.respawn_ttl -= 1 - else - player.exists = true - player.protected_ttl = 100 - self.sprites.add(self.player) - end - end - end -end - -### - -class MenuScene - super ShotScene - - var sprites = new LiveGroup[LiveObject] - - init(w,h) - do - super - for i in [0..100[ do - sprites.add(new Star(self)) - end - end - - var play: Bool = false is writable - var ttl: Int = 50 - - redef fun update - do - sprites.update - - if not play then return - if ttl > 0 then - ttl -= 1 - return - end - next_scene = new PlayScene(width,height) - end -end - -fun headless_run -do - srand_from 0 - print "Headless run" - # Only run the playscene - var scene = new PlayScene(80000,60000) - # beefup the player - scene.player.nbshoots = 5 - scene.player.nbmissiles = 5 - # play - print "Play" - var turns = 10 - if args.length > 0 then - turns = args.first.to_i - end - for i in [0..turns[ do - for j in [0..10000[ do - scene.update - end - print "{i}: money={scene.player.money} enemies={scene.enemies.length} shoots={scene.player_shoots.length}" - end - print "Game Over" -end - -headless_run diff --git a/examples/shoot/src/shoot_null.nit b/examples/shoot/src/shoot_null.nit deleted file mode 100644 index 4f6f3bb..0000000 --- a/examples/shoot/src/shoot_null.nit +++ /dev/null @@ -1,19 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Dummy (null) version of the shoot program -module shoot_null - -import shoot -import mnit::mnit_null diff --git a/tests/sav/shoot_null.res b/tests/sav/shoot_null.res deleted file mode 100644 index 0738479..0000000 --- a/tests/sav/shoot_null.res +++ /dev/null @@ -1,2451 +0,0 @@ -GET injected_input_stream shoot_null.inputs -LOAD hitbox.png -LOAD splash.png -LOAD splash_play.png -LOAD player.png -LOAD player_shoot.png -LOAD player_missile.png -LOAD enemy0.png -LOAD enemy1.png -LOAD enemy2.png -LOAD enemy3.png -LOAD enemy4.png -LOAD enemy4_turret.png -LOAD enemy_kamikaze.png -LOAD enemy_shoot.png -LOAD enemy_missile.png -LOAD money.png -LOAD up_missile.png -LOAD explosion.png -LOAD star0.png -LOAD star1.png -LOAD star2.png -LOAD boss.png -LOAD boss_left.png -LOAD boss_right.png -read 84 click 492.0 356.0 -WAIT 84 for click 492.0 356.0 -INPUT click 492.0 356.0 -read 179 click 472.0 428.0 -WAIT 179 for click 472.0 428.0 -BLIT splash.png (0.0,0.0) -- (0.0,480.0) -- (640.0,480.0) -- (640.0,0.0) -BLIT star2.png CENTERED (0,413) -BLIT star1.png CENTERED (68,390) -BLIT star1.png CENTERED (561,-74) -BLIT star1.png CENTERED (213,142) -BLIT star1.png CENTERED (155,182) -BLIT star1.png CENTERED (177,393) -BLIT star0.png CENTERED (314,-98) -BLIT star1.png CENTERED (96,408) -BLIT star1.png CENTERED (616,472) -BLIT star2.png CENTERED (626,476) -BLIT star1.png CENTERED (583,436) -BLIT star0.png CENTERED (622,37) -BLIT star1.png CENTERED (572,267) -BLIT star1.png CENTERED (86,456) -BLIT star1.png CENTERED (402,321) -BLIT star1.png CENTERED (629,312) -BLIT star2.png CENTERED (478,392) -BLIT star1.png CENTERED (575,388) -BLIT star1.png CENTERED (306,344) -BLIT star1.png CENTERED (605,197) -BLIT star1.png CENTERED (626,244) -BLIT star1.png CENTERED (47,181) -BLIT star2.png CENTERED (30,-48) -BLIT star1.png CENTERED (320,214) -BLIT star1.png CENTERED (6,350) -BLIT star1.png CENTERED (409,295) -BLIT star1.png CENTERED (386,247) -BLIT star2.png CENTERED (181,324) -BLIT star1.png CENTERED (282,439) -BLIT star0.png CENTERED (551,246) -BLIT star2.png CENTERED (199,415) -BLIT star0.png CENTERED (261,345) -BLIT star1.png CENTERED (457,219) -BLIT star1.png CENTERED (324,448) -BLIT star1.png CENTERED (152,273) -BLIT star1.png CENTERED (501,388) -BLIT star2.png CENTERED (482,78) -BLIT star1.png CENTERED (411,372) -BLIT star1.png CENTERED (250,272) -BLIT star2.png CENTERED (494,90) -BLIT star1.png CENTERED (47,286) -BLIT star1.png CENTERED (341,209) -BLIT star1.png CENTERED (163,387) -BLIT star2.png CENTERED (450,473) -BLIT star2.png CENTERED (546,83) -BLIT star1.png CENTERED (84,168) -BLIT star1.png CENTERED (425,234) -BLIT star0.png CENTERED (457,421) -BLIT star0.png CENTERED (310,144) -BLIT star1.png CENTERED (425,415) -BLIT star1.png CENTERED (570,335) -BLIT star2.png CENTERED (287,372) -BLIT star1.png CENTERED (54,477) -BLIT star0.png CENTERED (513,129) -BLIT star0.png CENTERED (293,440) -BLIT star1.png CENTERED (61,57) -BLIT star2.png CENTERED (302,34) -BLIT star1.png CENTERED (603,32) -BLIT star0.png CENTERED (109,302) -BLIT star2.png CENTERED (166,369) -BLIT star2.png CENTERED (83,330) -BLIT star1.png CENTERED (42,189) -BLIT star1.png CENTERED (549,218) -BLIT star2.png CENTERED (130,185) -BLIT star2.png CENTERED (393,106) -BLIT star2.png CENTERED (449,382) -BLIT star1.png CENTERED (225,87) -BLIT star2.png CENTERED (574,434) -BLIT star1.png CENTERED (610,310) -BLIT star1.png CENTERED (301,50) -BLIT star1.png CENTERED (100,473) -BLIT star2.png CENTERED (283,60) -BLIT star1.png CENTERED (316,372) -BLIT star0.png CENTERED (477,308) -BLIT star0.png CENTERED (233,471) -BLIT star0.png CENTERED (210,443) -BLIT star1.png CENTERED (471,335) -BLIT star1.png CENTERED (562,269) -BLIT star2.png CENTERED (178,65) -BLIT star1.png CENTERED (13,25) -BLIT star1.png CENTERED (400,106) -BLIT star1.png CENTERED (347,132) -BLIT star0.png CENTERED (158,140) -BLIT star1.png CENTERED (269,472) -BLIT star1.png CENTERED (521,259) -BLIT star2.png CENTERED (420,218) -BLIT star1.png CENTERED (147,79) -BLIT star2.png CENTERED (406,334) -BLIT star2.png CENTERED (254,434) -BLIT star1.png CENTERED (262,415) -BLIT star1.png CENTERED (370,429) -BLIT star1.png CENTERED (398,343) -BLIT star0.png CENTERED (392,184) -BLIT star0.png CENTERED (557,389) -BLIT star0.png CENTERED (338,219) -BLIT star2.png CENTERED (101,306) -BLIT star1.png CENTERED (6,425) -BLIT star2.png CENTERED (449,223) -BLIT star1.png CENTERED (591,193) -BLIT star1.png CENTERED (219,-61) -BLIT splash_play.png (0.0,0.0) -- (0.0,480.0) -- (640.0,480.0) -- (640.0,0.0) -INPUT click 472.0 428.0 -read 31 click 94.0 412.0 -WAIT 31 for click 94.0 412.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,78) -BLIT star1.png CENTERED (286,204) -BLIT star0.png CENTERED (145,28) -BLIT star2.png CENTERED (188,440) -BLIT star1.png CENTERED (287,450) -BLIT star1.png CENTERED (377,157) -BLIT star0.png CENTERED (426,442) -BLIT star2.png CENTERED (55,71) -BLIT star1.png CENTERED (372,353) -BLIT star1.png CENTERED (25,157) -BLIT star1.png CENTERED (461,95) -BLIT star1.png CENTERED (112,380) -BLIT star0.png CENTERED (388,450) -BLIT star1.png CENTERED (304,306) -BLIT star1.png CENTERED (168,159) -BLIT star1.png CENTERED (61,48) -BLIT star1.png CENTERED (24,161) -BLIT star1.png CENTERED (363,250) -BLIT star0.png CENTERED (452,427) -BLIT star1.png CENTERED (13,289) -BLIT star0.png CENTERED (388,165) -BLIT star1.png CENTERED (347,112) -BLIT star2.png CENTERED (579,272) -BLIT star1.png CENTERED (523,332) -BLIT star1.png CENTERED (285,471) -BLIT star1.png CENTERED (63,-97) -BLIT star0.png CENTERED (319,108) -BLIT star1.png CENTERED (491,-132) -BLIT star0.png CENTERED (313,304) -BLIT star2.png CENTERED (118,100) -BLIT star1.png CENTERED (163,458) -BLIT star2.png CENTERED (262,362) -BLIT star1.png CENTERED (382,375) -BLIT star0.png CENTERED (23,336) -BLIT star0.png CENTERED (542,455) -BLIT star2.png CENTERED (117,61) -BLIT star2.png CENTERED (575,184) -BLIT star1.png CENTERED (120,202) -BLIT star1.png CENTERED (405,226) -BLIT star2.png CENTERED (25,86) -BLIT star2.png CENTERED (547,69) -BLIT star1.png CENTERED (464,329) -BLIT star1.png CENTERED (560,216) -BLIT star1.png CENTERED (561,476) -BLIT star2.png CENTERED (482,-28) -BLIT star0.png CENTERED (271,31) -BLIT star2.png CENTERED (608,49) -BLIT star2.png CENTERED (43,398) -BLIT star1.png CENTERED (382,407) -BLIT star2.png CENTERED (141,294) -BLIT star1.png CENTERED (10,67) -BLIT star2.png CENTERED (428,168) -BLIT star0.png CENTERED (353,262) -BLIT star1.png CENTERED (343,407) -BLIT star2.png CENTERED (414,237) -BLIT star1.png CENTERED (148,252) -BLIT star2.png CENTERED (415,277) -BLIT star1.png CENTERED (597,167) -BLIT star2.png CENTERED (608,251) -BLIT star0.png CENTERED (440,294) -BLIT star2.png CENTERED (37,252) -BLIT star2.png CENTERED (401,300) -BLIT star0.png CENTERED (404,445) -BLIT star1.png CENTERED (93,-113) -BLIT star2.png CENTERED (468,286) -BLIT star0.png CENTERED (211,133) -BLIT star1.png CENTERED (349,273) -BLIT star2.png CENTERED (620,367) -BLIT star0.png CENTERED (321,407) -BLIT star1.png CENTERED (605,279) -BLIT star1.png CENTERED (136,462) -BLIT star1.png CENTERED (619,384) -BLIT star2.png CENTERED (568,167) -BLIT star0.png CENTERED (391,402) -BLIT star2.png CENTERED (508,299) -BLIT star1.png CENTERED (417,159) -BLIT star2.png CENTERED (81,371) -BLIT star0.png CENTERED (367,66) -BLIT star2.png CENTERED (30,396) -BLIT star1.png CENTERED (390,61) -BLIT star1.png CENTERED (590,226) -BLIT star2.png CENTERED (265,424) -BLIT star1.png CENTERED (476,417) -BLIT star1.png CENTERED (102,110) -BLIT star1.png CENTERED (263,66) -BLIT star1.png CENTERED (74,457) -BLIT star1.png CENTERED (41,139) -BLIT star2.png CENTERED (582,478) -BLIT star0.png CENTERED (541,473) -BLIT star1.png CENTERED (309,425) -BLIT star1.png CENTERED (285,103) -BLIT star1.png CENTERED (252,479) -BLIT star0.png CENTERED (322,196) -BLIT star1.png CENTERED (247,225) -BLIT star1.png CENTERED (265,281) -BLIT star2.png CENTERED (207,420) -BLIT star2.png CENTERED (194,345) -BLIT star1.png CENTERED (237,435) -BLIT star0.png CENTERED (564,414) -BLIT star2.png CENTERED (586,108) -BLIT player_shoot.png CENTERED (320,2) -BLIT player_shoot.png CENTERED (320,126) -BLIT player_shoot.png CENTERED (320,250) -BLIT player_shoot.png CENTERED (320,374) -BLIT enemy0.png CENTERED (510,169) -BLIT enemy4.png CENTERED (295,25) -BLIT enemy4_turret.png CENTERED (295.888,25.056) ROTATED 3.077 -BLIT player.png CENTERED (323,400) -BLIT player_shoot.png (30,460) -INPUT click 94.0 412.0 -read 31 click 261.0 512.0 -WAIT 31 for click 261.0 512.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,84) -BLIT star1.png CENTERED (286,212) -BLIT star0.png CENTERED (145,33) -BLIT star2.png CENTERED (188,450) -BLIT star1.png CENTERED (287,457) -BLIT star1.png CENTERED (377,167) -BLIT star0.png CENTERED (426,447) -BLIT star2.png CENTERED (55,81) -BLIT star1.png CENTERED (372,360) -BLIT star1.png CENTERED (25,164) -BLIT star1.png CENTERED (461,103) -BLIT star1.png CENTERED (112,390) -BLIT star0.png CENTERED (388,453) -BLIT star1.png CENTERED (304,313) -BLIT star1.png CENTERED (168,167) -BLIT star1.png CENTERED (61,57) -BLIT star1.png CENTERED (24,168) -BLIT star1.png CENTERED (363,257) -BLIT star0.png CENTERED (452,430) -BLIT star1.png CENTERED (13,296) -BLIT star0.png CENTERED (388,169) -BLIT star1.png CENTERED (347,122) -BLIT star2.png CENTERED (579,284) -BLIT star1.png CENTERED (523,340) -BLIT star1.png CENTERED (285,478) -BLIT star1.png CENTERED (63,-91) -BLIT star0.png CENTERED (319,111) -BLIT star1.png CENTERED (491,-126) -BLIT star0.png CENTERED (313,308) -BLIT star2.png CENTERED (118,110) -BLIT star1.png CENTERED (163,464) -BLIT star2.png CENTERED (262,371) -BLIT star1.png CENTERED (382,384) -BLIT star0.png CENTERED (23,339) -BLIT star0.png CENTERED (542,458) -BLIT star2.png CENTERED (117,73) -BLIT star2.png CENTERED (575,195) -BLIT star1.png CENTERED (120,207) -BLIT star1.png CENTERED (405,232) -BLIT star2.png CENTERED (25,99) -BLIT star2.png CENTERED (547,81) -BLIT star1.png CENTERED (464,339) -BLIT star1.png CENTERED (560,226) -BLIT star1.png CENTERED (578,-16) -BLIT star2.png CENTERED (482,-18) -BLIT star0.png CENTERED (271,36) -BLIT star2.png CENTERED (608,61) -BLIT star2.png CENTERED (43,410) -BLIT star1.png CENTERED (382,413) -BLIT star2.png CENTERED (141,304) -BLIT star1.png CENTERED (10,76) -BLIT star2.png CENTERED (428,180) -BLIT star0.png CENTERED (353,265) -BLIT star1.png CENTERED (343,412) -BLIT star2.png CENTERED (414,247) -BLIT star1.png CENTERED (148,260) -BLIT star2.png CENTERED (415,288) -BLIT star1.png CENTERED (597,176) -BLIT star2.png CENTERED (608,261) -BLIT star0.png CENTERED (440,299) -BLIT star2.png CENTERED (37,263) -BLIT star2.png CENTERED (401,311) -BLIT star0.png CENTERED (404,450) -BLIT star1.png CENTERED (93,-105) -BLIT star2.png CENTERED (468,297) -BLIT star0.png CENTERED (211,138) -BLIT star1.png CENTERED (349,282) -BLIT star2.png CENTERED (620,379) -BLIT star0.png CENTERED (321,410) -BLIT star1.png CENTERED (605,284) -BLIT star1.png CENTERED (136,469) -BLIT star1.png CENTERED (619,391) -BLIT star2.png CENTERED (568,178) -BLIT star0.png CENTERED (391,405) -BLIT star2.png CENTERED (508,310) -BLIT star1.png CENTERED (417,165) -BLIT star2.png CENTERED (81,382) -BLIT star0.png CENTERED (367,70) -BLIT star2.png CENTERED (30,407) -BLIT star1.png CENTERED (390,68) -BLIT star1.png CENTERED (590,235) -BLIT star2.png CENTERED (265,436) -BLIT star1.png CENTERED (476,427) -BLIT star1.png CENTERED (102,117) -BLIT star1.png CENTERED (263,72) -BLIT star1.png CENTERED (74,463) -BLIT star1.png CENTERED (41,144) -BLIT star2.png CENTERED (4,-18) -BLIT star0.png CENTERED (541,475) -BLIT star1.png CENTERED (309,435) -BLIT star1.png CENTERED (285,111) -BLIT star2.png CENTERED (246,-43) -BLIT star0.png CENTERED (322,200) -BLIT star1.png CENTERED (247,231) -BLIT star1.png CENTERED (265,287) -BLIT star2.png CENTERED (207,430) -BLIT star2.png CENTERED (194,357) -BLIT star1.png CENTERED (237,445) -BLIT star0.png CENTERED (564,417) -BLIT star2.png CENTERED (586,119) -BLIT player_shoot.png CENTERED (320,2) -BLIT player_shoot.png CENTERED (320,126) -BLIT player_shoot.png CENTERED (320,250) -BLIT player_shoot.png CENTERED (408,390) -BLIT enemy0.png CENTERED (532,224) -BLIT enemy4.png CENTERED (295,68) -BLIT enemy4_turret.png CENTERED (295.888,68.208) ROTATED 2.807 -BLIT player.png CENTERED (414,417) -BLIT player_shoot.png (30,460) -INPUT click 261.0 512.0 -read 22 click 274.0 530.0 -WAIT 22 for click 274.0 530.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,90) -BLIT star1.png CENTERED (286,220) -BLIT star0.png CENTERED (145,38) -BLIT star2.png CENTERED (188,460) -BLIT star1.png CENTERED (287,465) -BLIT star1.png CENTERED (377,176) -BLIT star0.png CENTERED (426,451) -BLIT star2.png CENTERED (55,92) -BLIT star1.png CENTERED (372,367) -BLIT star1.png CENTERED (25,171) -BLIT star1.png CENTERED (461,111) -BLIT star1.png CENTERED (112,399) -BLIT star0.png CENTERED (388,457) -BLIT star1.png CENTERED (304,319) -BLIT star1.png CENTERED (168,175) -BLIT star1.png CENTERED (61,66) -BLIT star1.png CENTERED (24,176) -BLIT star1.png CENTERED (363,264) -BLIT star0.png CENTERED (452,433) -BLIT star1.png CENTERED (13,304) -BLIT star0.png CENTERED (388,173) -BLIT star1.png CENTERED (347,131) -BLIT star2.png CENTERED (579,296) -BLIT star1.png CENTERED (523,349) -BLIT star1.png CENTERED (531,-151) -BLIT star1.png CENTERED (63,-85) -BLIT star0.png CENTERED (319,115) -BLIT star1.png CENTERED (491,-120) -BLIT star0.png CENTERED (313,311) -BLIT star2.png CENTERED (118,119) -BLIT star1.png CENTERED (163,471) -BLIT star2.png CENTERED (262,381) -BLIT star1.png CENTERED (382,392) -BLIT star0.png CENTERED (23,342) -BLIT star0.png CENTERED (542,461) -BLIT star2.png CENTERED (117,85) -BLIT star2.png CENTERED (575,207) -BLIT star1.png CENTERED (120,212) -BLIT star1.png CENTERED (405,238) -BLIT star2.png CENTERED (25,111) -BLIT star2.png CENTERED (547,92) -BLIT star1.png CENTERED (464,348) -BLIT star1.png CENTERED (560,236) -BLIT star1.png CENTERED (578,-6) -BLIT star2.png CENTERED (482,-8) -BLIT star0.png CENTERED (271,41) -BLIT star2.png CENTERED (608,73) -BLIT star2.png CENTERED (43,422) -BLIT star1.png CENTERED (382,419) -BLIT star2.png CENTERED (141,315) -BLIT star1.png CENTERED (10,85) -BLIT star2.png CENTERED (428,192) -BLIT star0.png CENTERED (353,269) -BLIT star1.png CENTERED (343,418) -BLIT star2.png CENTERED (414,258) -BLIT star1.png CENTERED (148,269) -BLIT star2.png CENTERED (415,299) -BLIT star1.png CENTERED (597,186) -BLIT star2.png CENTERED (608,271) -BLIT star0.png CENTERED (440,303) -BLIT star2.png CENTERED (37,273) -BLIT star2.png CENTERED (401,322) -BLIT star0.png CENTERED (404,454) -BLIT star1.png CENTERED (93,-97) -BLIT star2.png CENTERED (468,309) -BLIT star0.png CENTERED (211,143) -BLIT star1.png CENTERED (349,291) -BLIT star2.png CENTERED (620,391) -BLIT star0.png CENTERED (321,413) -BLIT star1.png CENTERED (605,289) -BLIT star1.png CENTERED (136,476) -BLIT star1.png CENTERED (619,398) -BLIT star2.png CENTERED (568,189) -BLIT star0.png CENTERED (391,408) -BLIT star2.png CENTERED (508,321) -BLIT star1.png CENTERED (417,171) -BLIT star2.png CENTERED (81,393) -BLIT star0.png CENTERED (367,73) -BLIT star2.png CENTERED (30,418) -BLIT star1.png CENTERED (390,74) -BLIT star1.png CENTERED (590,245) -BLIT star2.png CENTERED (265,448) -BLIT star1.png CENTERED (476,437) -BLIT star1.png CENTERED (102,125) -BLIT star1.png CENTERED (263,78) -BLIT star1.png CENTERED (74,469) -BLIT star1.png CENTERED (41,148) -BLIT star2.png CENTERED (4,-6) -BLIT star0.png CENTERED (541,478) -BLIT star1.png CENTERED (309,445) -BLIT star1.png CENTERED (285,119) -BLIT star2.png CENTERED (246,-31) -BLIT star0.png CENTERED (322,205) -BLIT star1.png CENTERED (247,236) -BLIT star1.png CENTERED (265,293) -BLIT star2.png CENTERED (207,440) -BLIT star2.png CENTERED (194,368) -BLIT star1.png CENTERED (237,454) -BLIT star0.png CENTERED (564,420) -BLIT star2.png CENTERED (586,130) -BLIT player_shoot.png CENTERED (320,2) -BLIT player_shoot.png CENTERED (320,126) -BLIT player_shoot.png CENTERED (408,266) -BLIT player_shoot.png CENTERED (328,390) -BLIT enemy_shoot.png CENTERED (333,180) -BLIT enemy_shoot.png CENTERED (321,167) -BLIT enemy_shoot.png CENTERED (311,153) -BLIT enemy_shoot.png CENTERED (303,139) -BLIT enemy_shoot.png CENTERED (298,124) -BLIT enemy0.png CENTERED (555,279) -BLIT enemy4.png CENTERED (295,111) -BLIT enemy4_turret.png CENTERED (295.888,111.36) ROTATED 3.067 -BLIT player.png CENTERED (316,418) -BLIT player_shoot.png (30,460) -INPUT click 274.0 530.0 -read 27 click 501.0 556.0 -WAIT 27 for click 501.0 556.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,95) -BLIT star1.png CENTERED (286,225) -BLIT star0.png CENTERED (145,41) -BLIT star2.png CENTERED (188,467) -BLIT star1.png CENTERED (287,470) -BLIT star1.png CENTERED (377,182) -BLIT star0.png CENTERED (426,455) -BLIT star2.png CENTERED (55,99) -BLIT star1.png CENTERED (372,371) -BLIT star1.png CENTERED (25,176) -BLIT star1.png CENTERED (461,116) -BLIT star1.png CENTERED (112,406) -BLIT star0.png CENTERED (388,460) -BLIT star1.png CENTERED (304,324) -BLIT star1.png CENTERED (168,181) -BLIT star1.png CENTERED (61,73) -BLIT star1.png CENTERED (24,181) -BLIT star1.png CENTERED (363,269) -BLIT star0.png CENTERED (452,435) -BLIT star1.png CENTERED (13,309) -BLIT star0.png CENTERED (388,177) -BLIT star1.png CENTERED (347,137) -BLIT star2.png CENTERED (579,305) -BLIT star1.png CENTERED (523,355) -BLIT star1.png CENTERED (531,-147) -BLIT star1.png CENTERED (63,-81) -BLIT star0.png CENTERED (319,117) -BLIT star1.png CENTERED (491,-116) -BLIT star0.png CENTERED (313,314) -BLIT star2.png CENTERED (118,127) -BLIT star1.png CENTERED (163,476) -BLIT star2.png CENTERED (262,388) -BLIT star1.png CENTERED (382,398) -BLIT star0.png CENTERED (23,345) -BLIT star0.png CENTERED (542,463) -BLIT star2.png CENTERED (117,94) -BLIT star2.png CENTERED (575,215) -BLIT star1.png CENTERED (120,215) -BLIT star1.png CENTERED (405,242) -BLIT star2.png CENTERED (25,120) -BLIT star2.png CENTERED (547,100) -BLIT star1.png CENTERED (464,355) -BLIT star1.png CENTERED (560,243) -BLIT star1.png CENTERED (578,0) -BLIT star2.png CENTERED (482,-1) -BLIT star0.png CENTERED (271,44) -BLIT star2.png CENTERED (608,81) -BLIT star2.png CENTERED (43,431) -BLIT star1.png CENTERED (382,424) -BLIT star2.png CENTERED (141,323) -BLIT star1.png CENTERED (10,92) -BLIT star2.png CENTERED (428,200) -BLIT star0.png CENTERED (353,271) -BLIT star1.png CENTERED (343,421) -BLIT star2.png CENTERED (414,265) -BLIT star1.png CENTERED (148,275) -BLIT star2.png CENTERED (415,306) -BLIT star1.png CENTERED (597,192) -BLIT star2.png CENTERED (608,279) -BLIT star0.png CENTERED (440,307) -BLIT star2.png CENTERED (37,280) -BLIT star2.png CENTERED (401,329) -BLIT star0.png CENTERED (404,457) -BLIT star1.png CENTERED (93,-91) -BLIT star2.png CENTERED (468,316) -BLIT star0.png CENTERED (211,146) -BLIT star1.png CENTERED (349,297) -BLIT star2.png CENTERED (620,400) -BLIT star0.png CENTERED (321,416) -BLIT star1.png CENTERED (605,293) -BLIT star0.png CENTERED (517,-46) -BLIT star1.png CENTERED (619,403) -BLIT star2.png CENTERED (568,197) -BLIT star0.png CENTERED (391,411) -BLIT star2.png CENTERED (508,328) -BLIT star1.png CENTERED (417,175) -BLIT star2.png CENTERED (81,401) -BLIT star0.png CENTERED (367,76) -BLIT star2.png CENTERED (30,425) -BLIT star1.png CENTERED (390,79) -BLIT star1.png CENTERED (590,252) -BLIT star2.png CENTERED (265,456) -BLIT star1.png CENTERED (476,443) -BLIT star1.png CENTERED (102,130) -BLIT star1.png CENTERED (263,82) -BLIT star1.png CENTERED (74,473) -BLIT star1.png CENTERED (41,152) -BLIT star2.png CENTERED (4,1) -BLIT star0.png CENTERED (18,-109) -BLIT star1.png CENTERED (309,452) -BLIT star1.png CENTERED (285,125) -BLIT star2.png CENTERED (246,-23) -BLIT star0.png CENTERED (322,208) -BLIT star1.png CENTERED (247,240) -BLIT star1.png CENTERED (265,298) -BLIT star2.png CENTERED (207,447) -BLIT star2.png CENTERED (194,376) -BLIT star1.png CENTERED (237,461) -BLIT star0.png CENTERED (564,422) -BLIT star2.png CENTERED (586,139) -BLIT player_shoot.png CENTERED (320,38) -BLIT player_shoot.png CENTERED (408,178) -BLIT player_shoot.png CENTERED (328,302) -BLIT enemy_shoot.png CENTERED (361,263) -BLIT enemy_shoot.png CENTERED (346,251) -BLIT enemy_shoot.png CENTERED (332,239) -BLIT enemy_shoot.png CENTERED (320,225) -BLIT enemy_shoot.png CENTERED (310,211) -BLIT enemy_shoot.png CENTERED (302,196) -BLIT enemy_shoot.png CENTERED (298,180) -BLIT enemy_shoot.png CENTERED (296,165) -BLIT enemy_shoot.png CENTERED (295,149) -BLIT enemy0.png CENTERED (570,318) -BLIT enemy4.png CENTERED (295,141) -BLIT enemy4_turret.png CENTERED (295.888,141.984) ROTATED -3.101 -BLIT player.png CENTERED (281,479) -BLIT player_shoot.png (30,460) -INPUT click 501.0 556.0 -read 34 click 465.0 517.0 -WAIT 34 for click 465.0 517.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,100) -BLIT star1.png CENTERED (286,232) -BLIT star0.png CENTERED (145,45) -BLIT star2.png CENTERED (188,476) -BLIT star1.png CENTERED (287,477) -BLIT star1.png CENTERED (377,190) -BLIT star0.png CENTERED (426,459) -BLIT star2.png CENTERED (55,108) -BLIT star1.png CENTERED (372,378) -BLIT star1.png CENTERED (25,183) -BLIT star1.png CENTERED (461,123) -BLIT star1.png CENTERED (112,415) -BLIT star0.png CENTERED (388,463) -BLIT star1.png CENTERED (304,330) -BLIT star1.png CENTERED (168,188) -BLIT star1.png CENTERED (61,80) -BLIT star1.png CENTERED (24,187) -BLIT star1.png CENTERED (363,275) -BLIT star0.png CENTERED (452,437) -BLIT star1.png CENTERED (13,316) -BLIT star0.png CENTERED (388,180) -BLIT star1.png CENTERED (347,145) -BLIT star2.png CENTERED (579,315) -BLIT star1.png CENTERED (523,363) -BLIT star1.png CENTERED (531,-141) -BLIT star1.png CENTERED (63,-76) -BLIT star0.png CENTERED (319,120) -BLIT star1.png CENTERED (491,-111) -BLIT star0.png CENTERED (313,317) -BLIT star2.png CENTERED (118,135) -BLIT star2.png CENTERED (179,-144) -BLIT star2.png CENTERED (262,397) -BLIT star1.png CENTERED (382,406) -BLIT star0.png CENTERED (23,347) -BLIT star0.png CENTERED (542,466) -BLIT star2.png CENTERED (117,104) -BLIT star2.png CENTERED (575,226) -BLIT star1.png CENTERED (120,220) -BLIT star1.png CENTERED (405,247) -BLIT star2.png CENTERED (25,131) -BLIT star2.png CENTERED (547,110) -BLIT star1.png CENTERED (464,363) -BLIT star1.png CENTERED (560,251) -BLIT star1.png CENTERED (578,8) -BLIT star2.png CENTERED (482,6) -BLIT star0.png CENTERED (271,48) -BLIT star2.png CENTERED (608,92) -BLIT star2.png CENTERED (43,441) -BLIT star1.png CENTERED (382,429) -BLIT star2.png CENTERED (141,332) -BLIT star1.png CENTERED (10,100) -BLIT star2.png CENTERED (428,210) -BLIT star0.png CENTERED (353,274) -BLIT star1.png CENTERED (343,426) -BLIT star2.png CENTERED (414,274) -BLIT star1.png CENTERED (148,283) -BLIT star2.png CENTERED (415,316) -BLIT star1.png CENTERED (597,200) -BLIT star2.png CENTERED (608,288) -BLIT star0.png CENTERED (440,310) -BLIT star2.png CENTERED (37,289) -BLIT star2.png CENTERED (401,339) -BLIT star0.png CENTERED (404,461) -BLIT star1.png CENTERED (93,-84) -BLIT star2.png CENTERED (468,326) -BLIT star0.png CENTERED (211,150) -BLIT star1.png CENTERED (349,305) -BLIT star2.png CENTERED (620,410) -BLIT star0.png CENTERED (321,418) -BLIT star1.png CENTERED (605,298) -BLIT star0.png CENTERED (517,-43) -BLIT star1.png CENTERED (619,410) -BLIT star2.png CENTERED (568,206) -BLIT star0.png CENTERED (391,413) -BLIT star2.png CENTERED (508,338) -BLIT star1.png CENTERED (417,180) -BLIT star2.png CENTERED (81,410) -BLIT star0.png CENTERED (367,80) -BLIT star2.png CENTERED (30,435) -BLIT star1.png CENTERED (390,84) -BLIT star1.png CENTERED (590,260) -BLIT star2.png CENTERED (265,467) -BLIT star1.png CENTERED (476,452) -BLIT star1.png CENTERED (102,137) -BLIT star1.png CENTERED (263,87) -BLIT star1.png CENTERED (74,478) -BLIT star1.png CENTERED (41,156) -BLIT star2.png CENTERED (4,11) -BLIT star0.png CENTERED (18,-106) -BLIT star1.png CENTERED (309,460) -BLIT star1.png CENTERED (285,132) -BLIT star2.png CENTERED (246,-12) -BLIT star0.png CENTERED (322,211) -BLIT star1.png CENTERED (247,244) -BLIT star1.png CENTERED (265,303) -BLIT star2.png CENTERED (207,456) -BLIT star2.png CENTERED (194,386) -BLIT star1.png CENTERED (237,469) -BLIT star0.png CENTERED (564,425) -BLIT star2.png CENTERED (586,148) -BLIT player_shoot.png CENTERED (320,-69) -BLIT player_shoot.png CENTERED (408,70) -BLIT player_shoot.png CENTERED (328,194) -BLIT player_shoot.png CENTERED (279,382) -BLIT enemy_shoot.png CENTERED (395,366) -BLIT enemy_shoot.png CENTERED (376,355) -BLIT enemy_shoot.png CENTERED (357,343) -BLIT enemy_shoot.png CENTERED (340,331) -BLIT enemy_shoot.png CENTERED (324,318) -BLIT enemy_shoot.png CENTERED (310,303) -BLIT enemy_shoot.png CENTERED (302,288) -BLIT enemy_shoot.png CENTERED (297,273) -BLIT enemy_shoot.png CENTERED (293,257) -BLIT enemy_shoot.png CENTERED (291,241) -BLIT enemy_shoot.png CENTERED (292,226) -BLIT enemy0.png CENTERED (589,365) -BLIT enemy4.png CENTERED (295,179) -BLIT enemy4_turret.png CENTERED (295.888,179.568) ROTATED -3.052 -BLIT enemy2.png CENTERED (217,15) -BLIT player.png CENTERED (272,480) -BLIT player_shoot.png (30,460) -INPUT click 465.0 517.0 -read 23 click 262.0 401.0 -WAIT 23 for click 262.0 401.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,106) -BLIT star1.png CENTERED (286,241) -BLIT star0.png CENTERED (145,50) -BLIT star1.png CENTERED (125,-140) -BLIT star1.png CENTERED (184,-28) -BLIT star1.png CENTERED (377,200) -BLIT star0.png CENTERED (426,464) -BLIT star2.png CENTERED (55,120) -BLIT star1.png CENTERED (372,385) -BLIT star1.png CENTERED (25,190) -BLIT star1.png CENTERED (461,132) -BLIT star1.png CENTERED (112,425) -BLIT star0.png CENTERED (388,467) -BLIT star1.png CENTERED (304,338) -BLIT star1.png CENTERED (168,197) -BLIT star1.png CENTERED (61,90) -BLIT star1.png CENTERED (24,195) -BLIT star1.png CENTERED (363,283) -BLIT star0.png CENTERED (452,440) -BLIT star1.png CENTERED (13,324) -BLIT star0.png CENTERED (388,185) -BLIT star1.png CENTERED (347,155) -BLIT star2.png CENTERED (579,329) -BLIT star1.png CENTERED (523,372) -BLIT star1.png CENTERED (531,-134) -BLIT star1.png CENTERED (63,-69) -BLIT star0.png CENTERED (319,123) -BLIT star1.png CENTERED (491,-105) -BLIT star0.png CENTERED (313,321) -BLIT star2.png CENTERED (118,146) -BLIT star2.png CENTERED (179,-131) -BLIT star2.png CENTERED (262,408) -BLIT star1.png CENTERED (382,415) -BLIT star0.png CENTERED (23,351) -BLIT star0.png CENTERED (542,469) -BLIT star2.png CENTERED (117,117) -BLIT star2.png CENTERED (575,238) -BLIT star1.png CENTERED (120,225) -BLIT star1.png CENTERED (405,254) -BLIT star2.png CENTERED (25,144) -BLIT star2.png CENTERED (547,122) -BLIT star1.png CENTERED (464,374) -BLIT star1.png CENTERED (560,262) -BLIT star1.png CENTERED (578,19) -BLIT star2.png CENTERED (482,17) -BLIT star0.png CENTERED (271,53) -BLIT star2.png CENTERED (608,105) -BLIT star2.png CENTERED (43,455) -BLIT star1.png CENTERED (382,436) -BLIT star2.png CENTERED (141,344) -BLIT star1.png CENTERED (10,110) -BLIT star2.png CENTERED (428,223) -BLIT star0.png CENTERED (353,277) -BLIT star1.png CENTERED (343,432) -BLIT star2.png CENTERED (414,285) -BLIT star1.png CENTERED (148,292) -BLIT star2.png CENTERED (415,327) -BLIT star1.png CENTERED (597,211) -BLIT star2.png CENTERED (608,299) -BLIT star0.png CENTERED (440,315) -BLIT star2.png CENTERED (37,301) -BLIT star2.png CENTERED (401,351) -BLIT star0.png CENTERED (404,465) -BLIT star1.png CENTERED (93,-75) -BLIT star2.png CENTERED (468,338) -BLIT star0.png CENTERED (211,155) -BLIT star1.png CENTERED (349,314) -BLIT star2.png CENTERED (620,423) -BLIT star0.png CENTERED (321,422) -BLIT star1.png CENTERED (605,303) -BLIT star0.png CENTERED (517,-40) -BLIT star1.png CENTERED (619,418) -BLIT star2.png CENTERED (568,218) -BLIT star0.png CENTERED (391,417) -BLIT star2.png CENTERED (508,349) -BLIT star1.png CENTERED (417,187) -BLIT star2.png CENTERED (81,422) -BLIT star0.png CENTERED (367,84) -BLIT star2.png CENTERED (30,446) -BLIT star1.png CENTERED (390,91) -BLIT star1.png CENTERED (590,270) -BLIT star1.png CENTERED (322,-116) -BLIT star1.png CENTERED (476,463) -BLIT star1.png CENTERED (102,146) -BLIT star1.png CENTERED (263,94) -BLIT star1.png CENTERED (381,-8) -BLIT star1.png CENTERED (41,162) -BLIT star2.png CENTERED (4,24) -BLIT star0.png CENTERED (18,-102) -BLIT star1.png CENTERED (309,471) -BLIT star1.png CENTERED (285,141) -BLIT star2.png CENTERED (246,0) -BLIT star0.png CENTERED (322,216) -BLIT star1.png CENTERED (247,250) -BLIT star1.png CENTERED (265,310) -BLIT star2.png CENTERED (207,467) -BLIT star2.png CENTERED (194,399) -BLIT star1.png CENTERED (429,-140) -BLIT star0.png CENTERED (564,428) -BLIT star2.png CENTERED (586,161) -BLIT explosion.png CENTERED (295,226) -BLIT explosion.png CENTERED (295,226) -BLIT explosion.png CENTERED (295,226) -BLIT explosion.png CENTERED (295,226) -BLIT explosion.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT money.png CENTERED (295,226) -BLIT player_shoot.png CENTERED (408,-65) -BLIT player_shoot.png CENTERED (328,58) -BLIT player_shoot.png CENTERED (299,370) -BLIT enemy_shoot.png CENTERED (439,494) -BLIT enemy_shoot.png CENTERED (414,485) -BLIT enemy_shoot.png CENTERED (389,475) -BLIT enemy_shoot.png CENTERED (365,465) -BLIT enemy_shoot.png CENTERED (342,452) -BLIT enemy_shoot.png CENTERED (320,439) -BLIT enemy_shoot.png CENTERED (308,424) -BLIT enemy_shoot.png CENTERED (298,408) -BLIT enemy_shoot.png CENTERED (290,393) -BLIT enemy_shoot.png CENTERED (286,377) -BLIT enemy_shoot.png CENTERED (285,362) -BLIT enemy0.png CENTERED (614,426) -BLIT enemy2.png CENTERED (232,66) -BLIT enemy0.png CENTERED (290,21) -BLIT player.png CENTERED (375,480) -BLIT player_shoot.png (30,460) -INPUT click 262.0 401.0 -read 44 click 204.0 273.0 -WAIT 44 for click 204.0 273.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,111) -BLIT star1.png CENTERED (286,247) -BLIT star0.png CENTERED (145,54) -BLIT star1.png CENTERED (125,-134) -BLIT star1.png CENTERED (184,-22) -BLIT star1.png CENTERED (377,207) -BLIT star0.png CENTERED (426,468) -BLIT star2.png CENTERED (55,127) -BLIT star1.png CENTERED (372,390) -BLIT star1.png CENTERED (25,196) -BLIT star1.png CENTERED (461,138) -BLIT star1.png CENTERED (112,432) -BLIT star0.png CENTERED (388,470) -BLIT star1.png CENTERED (304,343) -BLIT star1.png CENTERED (168,202) -BLIT star1.png CENTERED (61,97) -BLIT star1.png CENTERED (24,200) -BLIT star1.png CENTERED (363,289) -BLIT star0.png CENTERED (452,442) -BLIT star1.png CENTERED (13,329) -BLIT star0.png CENTERED (388,189) -BLIT star1.png CENTERED (347,162) -BLIT star2.png CENTERED (579,338) -BLIT star1.png CENTERED (523,379) -BLIT star1.png CENTERED (531,-129) -BLIT star1.png CENTERED (63,-65) -BLIT star0.png CENTERED (319,126) -BLIT star1.png CENTERED (491,-101) -BLIT star0.png CENTERED (313,323) -BLIT star2.png CENTERED (118,153) -BLIT star2.png CENTERED (179,-122) -BLIT star2.png CENTERED (262,415) -BLIT star1.png CENTERED (382,421) -BLIT star0.png CENTERED (23,353) -BLIT star0.png CENTERED (542,472) -BLIT star2.png CENTERED (117,126) -BLIT star2.png CENTERED (575,247) -BLIT star1.png CENTERED (120,229) -BLIT star1.png CENTERED (405,258) -BLIT star2.png CENTERED (25,153) -BLIT star2.png CENTERED (547,131) -BLIT star1.png CENTERED (464,381) -BLIT star1.png CENTERED (560,269) -BLIT star1.png CENTERED (578,26) -BLIT star2.png CENTERED (482,25) -BLIT star0.png CENTERED (271,57) -BLIT star2.png CENTERED (608,114) -BLIT star2.png CENTERED (43,464) -BLIT star1.png CENTERED (382,441) -BLIT star2.png CENTERED (141,351) -BLIT star1.png CENTERED (10,117) -BLIT star2.png CENTERED (428,232) -BLIT star0.png CENTERED (353,280) -BLIT star1.png CENTERED (343,435) -BLIT star2.png CENTERED (414,293) -BLIT star1.png CENTERED (148,299) -BLIT star2.png CENTERED (415,335) -BLIT star1.png CENTERED (597,218) -BLIT star2.png CENTERED (608,307) -BLIT star0.png CENTERED (440,319) -BLIT star2.png CENTERED (37,309) -BLIT star2.png CENTERED (401,359) -BLIT star0.png CENTERED (404,468) -BLIT star1.png CENTERED (93,-69) -BLIT star2.png CENTERED (468,347) -BLIT star0.png CENTERED (211,159) -BLIT star1.png CENTERED (349,321) -BLIT star2.png CENTERED (620,432) -BLIT star0.png CENTERED (321,424) -BLIT star1.png CENTERED (605,307) -BLIT star0.png CENTERED (517,-38) -BLIT star1.png CENTERED (619,423) -BLIT star2.png CENTERED (568,226) -BLIT star0.png CENTERED (391,419) -BLIT star2.png CENTERED (508,357) -BLIT star1.png CENTERED (417,191) -BLIT star2.png CENTERED (81,430) -BLIT star0.png CENTERED (367,87) -BLIT star2.png CENTERED (30,454) -BLIT star1.png CENTERED (390,96) -BLIT star1.png CENTERED (590,277) -BLIT star1.png CENTERED (322,-110) -BLIT star1.png CENTERED (476,470) -BLIT star1.png CENTERED (102,151) -BLIT star1.png CENTERED (263,98) -BLIT star1.png CENTERED (381,-4) -BLIT star1.png CENTERED (41,165) -BLIT star2.png CENTERED (4,33) -BLIT star0.png CENTERED (18,-100) -BLIT star1.png CENTERED (309,478) -BLIT star1.png CENTERED (285,146) -BLIT star2.png CENTERED (246,9) -BLIT star0.png CENTERED (322,219) -BLIT star1.png CENTERED (247,254) -BLIT star1.png CENTERED (265,315) -BLIT star2.png CENTERED (207,475) -BLIT star2.png CENTERED (194,407) -BLIT star1.png CENTERED (429,-135) -BLIT star0.png CENTERED (564,430) -BLIT star2.png CENTERED (586,169) -BLIT money.png CENTERED (296,255) -BLIT money.png CENTERED (296,237) -BLIT money.png CENTERED (289,239) -BLIT money.png CENTERED (300,234) -BLIT money.png CENTERED (311,232) -BLIT money.png CENTERED (302,244) -BLIT money.png CENTERED (272,248) -BLIT money.png CENTERED (278,220) -BLIT money.png CENTERED (272,255) -BLIT money.png CENTERED (306,246) -BLIT money.png CENTERED (302,240) -BLIT money.png CENTERED (292,255) -BLIT money.png CENTERED (296,232) -BLIT money.png CENTERED (292,226) -BLIT money.png CENTERED (291,235) -BLIT money.png CENTERED (288,238) -BLIT money.png CENTERED (310,222) -BLIT money.png CENTERED (321,222) -BLIT money.png CENTERED (287,218) -BLIT money.png CENTERED (317,251) -BLIT player_shoot.png CENTERED (328,-33) -BLIT player_shoot.png CENTERED (299,278) -BLIT enemy_shoot.png CENTERED (382,555) -BLIT enemy_shoot.png CENTERED (354,543) -BLIT enemy_shoot.png CENTERED (326,531) -BLIT enemy_shoot.png CENTERED (311,516) -BLIT enemy_shoot.png CENTERED (298,500) -BLIT enemy_shoot.png CENTERED (288,485) -BLIT enemy_shoot.png CENTERED (282,469) -BLIT enemy_shoot.png CENTERED (280,453) -BLIT enemy_missile.png CENTERED (235.952,165.52) ROTATED 3.142 -BLIT enemy0.png CENTERED (630,466) -BLIT enemy2.png CENTERED (243,101) -BLIT enemy0.png CENTERED (289,58) -BLIT player_shoot.png (30,460) -INPUT click 204.0 273.0 -read 27 click 522.0 447.0 -WAIT 27 for click 522.0 447.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,119) -BLIT star1.png CENTERED (286,258) -BLIT star0.png CENTERED (145,61) -BLIT star1.png CENTERED (125,-124) -BLIT star1.png CENTERED (184,-11) -BLIT star1.png CENTERED (377,220) -BLIT star0.png CENTERED (426,474) -BLIT star2.png CENTERED (55,142) -BLIT star1.png CENTERED (372,400) -BLIT star1.png CENTERED (25,206) -BLIT star1.png CENTERED (461,149) -BLIT star1.png CENTERED (112,446) -BLIT star0.png CENTERED (388,475) -BLIT star1.png CENTERED (304,353) -BLIT star1.png CENTERED (168,214) -BLIT star1.png CENTERED (61,109) -BLIT star1.png CENTERED (24,210) -BLIT star1.png CENTERED (363,299) -BLIT star0.png CENTERED (452,446) -BLIT star1.png CENTERED (13,340) -BLIT star0.png CENTERED (388,195) -BLIT star1.png CENTERED (347,175) -BLIT star2.png CENTERED (579,355) -BLIT star1.png CENTERED (523,391) -BLIT star1.png CENTERED (531,-120) -BLIT star1.png CENTERED (63,-56) -BLIT star0.png CENTERED (319,130) -BLIT star1.png CENTERED (491,-93) -BLIT star0.png CENTERED (313,328) -BLIT star2.png CENTERED (118,167) -BLIT star2.png CENTERED (179,-106) -BLIT star2.png CENTERED (262,429) -BLIT star1.png CENTERED (382,433) -BLIT star0.png CENTERED (23,358) -BLIT star0.png CENTERED (542,476) -BLIT star2.png CENTERED (117,144) -BLIT star2.png CENTERED (575,264) -BLIT star1.png CENTERED (120,236) -BLIT star1.png CENTERED (405,267) -BLIT star2.png CENTERED (25,171) -BLIT star2.png CENTERED (547,147) -BLIT star1.png CENTERED (464,394) -BLIT star1.png CENTERED (560,283) -BLIT star1.png CENTERED (578,39) -BLIT star2.png CENTERED (482,39) -BLIT star0.png CENTERED (271,64) -BLIT star2.png CENTERED (608,131) -BLIT star0.png CENTERED (137,-73) -BLIT star1.png CENTERED (382,449) -BLIT star2.png CENTERED (141,367) -BLIT star1.png CENTERED (10,130) -BLIT star2.png CENTERED (428,248) -BLIT star0.png CENTERED (353,284) -BLIT star1.png CENTERED (343,443) -BLIT star2.png CENTERED (414,308) -BLIT star1.png CENTERED (148,311) -BLIT star2.png CENTERED (415,350) -BLIT star1.png CENTERED (597,231) -BLIT star2.png CENTERED (608,322) -BLIT star0.png CENTERED (440,325) -BLIT star2.png CENTERED (37,323) -BLIT star2.png CENTERED (401,374) -BLIT star0.png CENTERED (404,474) -BLIT star1.png CENTERED (93,-57) -BLIT star2.png CENTERED (468,363) -BLIT star0.png CENTERED (211,165) -BLIT star1.png CENTERED (349,333) -BLIT star2.png CENTERED (620,449) -BLIT star0.png CENTERED (321,429) -BLIT star1.png CENTERED (605,315) -BLIT star0.png CENTERED (517,-34) -BLIT star1.png CENTERED (619,433) -BLIT star2.png CENTERED (568,242) -BLIT star0.png CENTERED (391,424) -BLIT star2.png CENTERED (508,372) -BLIT star1.png CENTERED (417,199) -BLIT star2.png CENTERED (81,446) -BLIT star0.png CENTERED (367,93) -BLIT star2.png CENTERED (30,469) -BLIT star1.png CENTERED (390,105) -BLIT star1.png CENTERED (590,290) -BLIT star1.png CENTERED (322,-99) -BLIT star0.png CENTERED (195,-151) -BLIT star1.png CENTERED (102,162) -BLIT star1.png CENTERED (263,107) -BLIT star1.png CENTERED (381,3) -BLIT star1.png CENTERED (41,172) -BLIT star2.png CENTERED (4,49) -BLIT star0.png CENTERED (18,-95) -BLIT star1.png CENTERED (193,-11) -BLIT star1.png CENTERED (285,158) -BLIT star2.png CENTERED (246,27) -BLIT star0.png CENTERED (322,225) -BLIT star1.png CENTERED (247,261) -BLIT star1.png CENTERED (265,323) -BLIT star2.png CENTERED (628,-101) -BLIT star2.png CENTERED (194,423) -BLIT star1.png CENTERED (429,-125) -BLIT star0.png CENTERED (564,435) -BLIT star2.png CENTERED (586,186) -BLIT explosion.png CENTERED (286,126) -BLIT explosion.png CENTERED (281,125) -BLIT explosion.png CENTERED (288,129) -BLIT explosion.png CENTERED (292,126) -BLIT explosion.png CENTERED (282,126) -BLIT money.png CENTERED (296,274) -BLIT money.png CENTERED (296,255) -BLIT money.png CENTERED (289,257) -BLIT money.png CENTERED (300,252) -BLIT money.png CENTERED (312,249) -BLIT money.png CENTERED (302,262) -BLIT money.png CENTERED (272,266) -BLIT money.png CENTERED (278,237) -BLIT money.png CENTERED (271,273) -BLIT money.png CENTERED (306,263) -BLIT money.png CENTERED (302,257) -BLIT money.png CENTERED (292,273) -BLIT money.png CENTERED (296,250) -BLIT money.png CENTERED (292,243) -BLIT money.png CENTERED (291,252) -BLIT money.png CENTERED (288,256) -BLIT money.png CENTERED (311,239) -BLIT money.png CENTERED (322,239) -BLIT money.png CENTERED (287,235) -BLIT money.png CENTERED (317,269) -BLIT money.png CENTERED (284,140) -BLIT money.png CENTERED (287,119) -BLIT money.png CENTERED (287,120) -BLIT player_shoot.png CENTERED (304,346) -BLIT enemy_missile.png CENTERED (251.704,313.56) ROTATED 2.913 -BLIT enemy0.png CENTERED (661,544) -BLIT enemy2.png CENTERED (263,168) -BLIT player.png CENTERED (270,397) -BLIT player_shoot.png (30,460) -INPUT click 522.0 447.0 -read 24 click 32.0 459.0 -WAIT 24 for click 32.0 459.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,124) -BLIT star1.png CENTERED (286,265) -BLIT star0.png CENTERED (145,65) -BLIT star1.png CENTERED (125,-118) -BLIT star1.png CENTERED (184,-4) -BLIT star1.png CENTERED (377,228) -BLIT star0.png CENTERED (426,478) -BLIT star2.png CENTERED (55,151) -BLIT star1.png CENTERED (372,406) -BLIT star1.png CENTERED (25,212) -BLIT star1.png CENTERED (461,156) -BLIT star1.png CENTERED (112,454) -BLIT star0.png CENTERED (388,478) -BLIT star1.png CENTERED (304,359) -BLIT star1.png CENTERED (168,221) -BLIT star1.png CENTERED (61,117) -BLIT star1.png CENTERED (24,217) -BLIT star1.png CENTERED (363,305) -BLIT star0.png CENTERED (452,448) -BLIT star1.png CENTERED (13,346) -BLIT star0.png CENTERED (388,199) -BLIT star1.png CENTERED (347,183) -BLIT star2.png CENTERED (579,365) -BLIT star1.png CENTERED (523,399) -BLIT star1.png CENTERED (531,-114) -BLIT star1.png CENTERED (63,-51) -BLIT star0.png CENTERED (319,133) -BLIT star1.png CENTERED (491,-88) -BLIT star0.png CENTERED (313,331) -BLIT star2.png CENTERED (118,176) -BLIT star2.png CENTERED (179,-96) -BLIT star2.png CENTERED (262,438) -BLIT star1.png CENTERED (382,440) -BLIT star0.png CENTERED (23,361) -BLIT star0.png CENTERED (542,478) -BLIT star2.png CENTERED (117,154) -BLIT star2.png CENTERED (575,274) -BLIT star1.png CENTERED (120,240) -BLIT star1.png CENTERED (405,272) -BLIT star2.png CENTERED (25,182) -BLIT star2.png CENTERED (547,157) -BLIT star1.png CENTERED (464,402) -BLIT star1.png CENTERED (560,291) -BLIT star1.png CENTERED (578,48) -BLIT star2.png CENTERED (482,47) -BLIT star0.png CENTERED (271,68) -BLIT star2.png CENTERED (608,141) -BLIT star0.png CENTERED (137,-69) -BLIT star1.png CENTERED (382,455) -BLIT star2.png CENTERED (141,376) -BLIT star1.png CENTERED (10,138) -BLIT star2.png CENTERED (428,258) -BLIT star0.png CENTERED (353,287) -BLIT star1.png CENTERED (343,447) -BLIT star2.png CENTERED (414,317) -BLIT star1.png CENTERED (148,318) -BLIT star2.png CENTERED (415,360) -BLIT star1.png CENTERED (597,239) -BLIT star2.png CENTERED (608,331) -BLIT star0.png CENTERED (440,329) -BLIT star2.png CENTERED (37,332) -BLIT star2.png CENTERED (401,384) -BLIT star0.png CENTERED (404,478) -BLIT star1.png CENTERED (93,-50) -BLIT star2.png CENTERED (468,372) -BLIT star0.png CENTERED (211,169) -BLIT star1.png CENTERED (349,340) -BLIT star2.png CENTERED (620,459) -BLIT star0.png CENTERED (321,432) -BLIT star1.png CENTERED (605,319) -BLIT star0.png CENTERED (517,-31) -BLIT star1.png CENTERED (619,439) -BLIT star2.png CENTERED (568,251) -BLIT star0.png CENTERED (391,427) -BLIT star2.png CENTERED (508,382) -BLIT star1.png CENTERED (417,205) -BLIT star2.png CENTERED (81,455) -BLIT star0.png CENTERED (367,96) -BLIT star2.png CENTERED (30,479) -BLIT star1.png CENTERED (390,111) -BLIT star1.png CENTERED (590,299) -BLIT star1.png CENTERED (322,-92) -BLIT star0.png CENTERED (195,-147) -BLIT star1.png CENTERED (102,169) -BLIT star1.png CENTERED (263,112) -BLIT star1.png CENTERED (381,8) -BLIT star1.png CENTERED (41,177) -BLIT star2.png CENTERED (4,59) -BLIT star0.png CENTERED (18,-92) -BLIT star1.png CENTERED (193,-5) -BLIT star1.png CENTERED (285,165) -BLIT star2.png CENTERED (246,37) -BLIT star0.png CENTERED (322,229) -BLIT star1.png CENTERED (247,266) -BLIT star1.png CENTERED (265,329) -BLIT star2.png CENTERED (628,-90) -BLIT star2.png CENTERED (194,433) -BLIT star1.png CENTERED (429,-119) -BLIT star0.png CENTERED (564,437) -BLIT star2.png CENTERED (586,196) -BLIT money.png CENTERED (296,284) -BLIT money.png CENTERED (296,266) -BLIT money.png CENTERED (289,267) -BLIT money.png CENTERED (300,263) -BLIT money.png CENTERED (312,260) -BLIT money.png CENTERED (302,273) -BLIT money.png CENTERED (272,277) -BLIT money.png CENTERED (278,248) -BLIT money.png CENTERED (271,284) -BLIT money.png CENTERED (306,274) -BLIT money.png CENTERED (302,268) -BLIT money.png CENTERED (292,284) -BLIT money.png CENTERED (296,260) -BLIT money.png CENTERED (292,254) -BLIT money.png CENTERED (291,263) -BLIT money.png CENTERED (288,267) -BLIT money.png CENTERED (311,250) -BLIT money.png CENTERED (322,250) -BLIT money.png CENTERED (287,246) -BLIT money.png CENTERED (317,279) -BLIT money.png CENTERED (284,160) -BLIT money.png CENTERED (287,129) -BLIT money.png CENTERED (287,131) -BLIT player_shoot.png CENTERED (304,238) -BLIT player_shoot.png CENTERED (240,303) -BLIT enemy2.png CENTERED (275,209) -BLIT player_shoot.png (30,460) -INPUT click 32.0 459.0 -read 19 click 325.0 515.0 -WAIT 19 for click 325.0 515.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,129) -BLIT star1.png CENTERED (286,271) -BLIT star0.png CENTERED (145,68) -BLIT star1.png CENTERED (125,-112) -BLIT star1.png CENTERED (184,2) -BLIT star1.png CENTERED (377,235) -BLIT star0.png CENTERED (199,-157) -BLIT star2.png CENTERED (55,159) -BLIT star1.png CENTERED (372,412) -BLIT star1.png CENTERED (25,218) -BLIT star1.png CENTERED (461,162) -BLIT star1.png CENTERED (112,462) -BLIT star1.png CENTERED (140,-148) -BLIT star1.png CENTERED (304,364) -BLIT star1.png CENTERED (168,227) -BLIT star1.png CENTERED (61,124) -BLIT star1.png CENTERED (24,222) -BLIT star1.png CENTERED (363,311) -BLIT star0.png CENTERED (452,450) -BLIT star1.png CENTERED (13,352) -BLIT star0.png CENTERED (388,202) -BLIT star1.png CENTERED (347,190) -BLIT star2.png CENTERED (579,375) -BLIT star1.png CENTERED (523,405) -BLIT star1.png CENTERED (531,-109) -BLIT star1.png CENTERED (63,-47) -BLIT star0.png CENTERED (319,136) -BLIT star1.png CENTERED (491,-83) -BLIT star0.png CENTERED (313,334) -BLIT star2.png CENTERED (118,184) -BLIT star2.png CENTERED (179,-87) -BLIT star2.png CENTERED (262,446) -BLIT star1.png CENTERED (382,447) -BLIT star0.png CENTERED (23,363) -BLIT star1.png CENTERED (302,-70) -BLIT star2.png CENTERED (117,164) -BLIT star2.png CENTERED (575,283) -BLIT star1.png CENTERED (120,244) -BLIT star1.png CENTERED (405,277) -BLIT star2.png CENTERED (25,191) -BLIT star2.png CENTERED (547,166) -BLIT star1.png CENTERED (464,409) -BLIT star1.png CENTERED (560,298) -BLIT star1.png CENTERED (578,55) -BLIT star2.png CENTERED (482,55) -BLIT star0.png CENTERED (271,71) -BLIT star2.png CENTERED (608,150) -BLIT star0.png CENTERED (137,-65) -BLIT star1.png CENTERED (382,460) -BLIT star2.png CENTERED (141,384) -BLIT star1.png CENTERED (10,145) -BLIT star2.png CENTERED (428,267) -BLIT star0.png CENTERED (353,290) -BLIT star1.png CENTERED (343,451) -BLIT star2.png CENTERED (414,325) -BLIT star1.png CENTERED (148,325) -BLIT star2.png CENTERED (415,368) -BLIT star1.png CENTERED (597,247) -BLIT star2.png CENTERED (608,339) -BLIT star0.png CENTERED (440,332) -BLIT star2.png CENTERED (37,340) -BLIT star2.png CENTERED (401,392) -BLIT star0.png CENTERED (463,-98) -BLIT star1.png CENTERED (93,-44) -BLIT star2.png CENTERED (468,381) -BLIT star0.png CENTERED (211,173) -BLIT star1.png CENTERED (349,347) -BLIT star2.png CENTERED (620,468) -BLIT star0.png CENTERED (321,434) -BLIT star1.png CENTERED (605,323) -BLIT star0.png CENTERED (517,-29) -BLIT star1.png CENTERED (619,445) -BLIT star2.png CENTERED (568,260) -BLIT star0.png CENTERED (391,429) -BLIT star2.png CENTERED (508,390) -BLIT star1.png CENTERED (417,209) -BLIT star2.png CENTERED (81,464) -BLIT star0.png CENTERED (367,99) -BLIT star1.png CENTERED (280,-126) -BLIT star1.png CENTERED (390,116) -BLIT star1.png CENTERED (590,306) -BLIT star1.png CENTERED (322,-86) -BLIT star0.png CENTERED (195,-144) -BLIT star1.png CENTERED (102,175) -BLIT star1.png CENTERED (263,116) -BLIT star1.png CENTERED (381,12) -BLIT star1.png CENTERED (41,181) -BLIT star2.png CENTERED (4,69) -BLIT star0.png CENTERED (18,-90) -BLIT star1.png CENTERED (193,0) -BLIT star1.png CENTERED (285,171) -BLIT star2.png CENTERED (246,47) -BLIT star0.png CENTERED (322,232) -BLIT star1.png CENTERED (247,270) -BLIT star1.png CENTERED (265,334) -BLIT star2.png CENTERED (628,-81) -BLIT star2.png CENTERED (194,442) -BLIT star1.png CENTERED (429,-114) -BLIT star0.png CENTERED (564,440) -BLIT star2.png CENTERED (586,204) -BLIT money.png CENTERED (296,294) -BLIT money.png CENTERED (296,275) -BLIT money.png CENTERED (289,277) -BLIT money.png CENTERED (300,272) -BLIT money.png CENTERED (312,270) -BLIT money.png CENTERED (302,282) -BLIT money.png CENTERED (272,286) -BLIT money.png CENTERED (278,257) -BLIT money.png CENTERED (271,294) -BLIT money.png CENTERED (306,284) -BLIT money.png CENTERED (302,278) -BLIT money.png CENTERED (292,294) -BLIT money.png CENTERED (296,270) -BLIT money.png CENTERED (292,263) -BLIT money.png CENTERED (291,273) -BLIT money.png CENTERED (288,276) -BLIT money.png CENTERED (311,259) -BLIT money.png CENTERED (322,259) -BLIT money.png CENTERED (287,256) -BLIT money.png CENTERED (317,289) -BLIT money.png CENTERED (284,169) -BLIT money.png CENTERED (287,139) -BLIT money.png CENTERED (287,141) -BLIT money.png CENTERED (286,244) -BLIT money.png CENTERED (283,209) -BLIT money.png CENTERED (278,225) -BLIT money.png CENTERED (287,221) -BLIT money.png CENTERED (281,237) -BLIT money.png CENTERED (296,243) -BLIT money.png CENTERED (286,215) -BLIT money.png CENTERED (276,229) -BLIT money.png CENTERED (276,224) -BLIT money.png CENTERED (276,205) -BLIT player_shoot.png CENTERED (240,207) -BLIT player_shoot.png CENTERED (299,346) -BLIT player.png CENTERED (299,355) -BLIT player_shoot.png (30,460) -INPUT click 325.0 515.0 -read 15 click 333.0 554.0 -WAIT 15 for click 333.0 554.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,133) -BLIT star1.png CENTERED (286,276) -BLIT star0.png CENTERED (145,71) -BLIT star1.png CENTERED (125,-108) -BLIT star1.png CENTERED (184,7) -BLIT star1.png CENTERED (377,241) -BLIT star0.png CENTERED (199,-154) -BLIT star2.png CENTERED (55,166) -BLIT star1.png CENTERED (372,416) -BLIT star1.png CENTERED (25,222) -BLIT star1.png CENTERED (461,167) -BLIT star1.png CENTERED (112,468) -BLIT star1.png CENTERED (140,-143) -BLIT star1.png CENTERED (304,369) -BLIT star1.png CENTERED (168,232) -BLIT star1.png CENTERED (61,130) -BLIT star1.png CENTERED (24,227) -BLIT star1.png CENTERED (363,315) -BLIT star0.png CENTERED (452,452) -BLIT star1.png CENTERED (13,357) -BLIT star0.png CENTERED (388,205) -BLIT star1.png CENTERED (347,196) -BLIT star2.png CENTERED (579,382) -BLIT star1.png CENTERED (523,411) -BLIT star1.png CENTERED (531,-105) -BLIT star1.png CENTERED (63,-43) -BLIT star0.png CENTERED (319,138) -BLIT star1.png CENTERED (491,-80) -BLIT star0.png CENTERED (313,336) -BLIT star2.png CENTERED (118,190) -BLIT star2.png CENTERED (179,-79) -BLIT star2.png CENTERED (262,452) -BLIT star1.png CENTERED (382,452) -BLIT star0.png CENTERED (23,365) -BLIT star1.png CENTERED (302,-64) -BLIT star2.png CENTERED (117,171) -BLIT star2.png CENTERED (575,290) -BLIT star1.png CENTERED (120,247) -BLIT star1.png CENTERED (405,280) -BLIT star2.png CENTERED (25,199) -BLIT star2.png CENTERED (547,173) -BLIT star1.png CENTERED (464,415) -BLIT star1.png CENTERED (560,304) -BLIT star1.png CENTERED (578,61) -BLIT star2.png CENTERED (482,61) -BLIT star0.png CENTERED (271,74) -BLIT star2.png CENTERED (608,157) -BLIT star0.png CENTERED (137,-62) -BLIT star1.png CENTERED (382,463) -BLIT star2.png CENTERED (141,391) -BLIT star1.png CENTERED (10,151) -BLIT star2.png CENTERED (428,274) -BLIT star0.png CENTERED (353,292) -BLIT star1.png CENTERED (343,455) -BLIT star2.png CENTERED (414,331) -BLIT star1.png CENTERED (148,330) -BLIT star2.png CENTERED (415,374) -BLIT star1.png CENTERED (597,252) -BLIT star2.png CENTERED (608,345) -BLIT star0.png CENTERED (440,335) -BLIT star2.png CENTERED (37,347) -BLIT star2.png CENTERED (401,399) -BLIT star0.png CENTERED (463,-96) -BLIT star1.png CENTERED (93,-39) -BLIT star2.png CENTERED (468,388) -BLIT star0.png CENTERED (211,176) -BLIT star1.png CENTERED (349,352) -BLIT star2.png CENTERED (620,476) -BLIT star0.png CENTERED (321,436) -BLIT star1.png CENTERED (605,326) -BLIT star0.png CENTERED (517,-27) -BLIT star1.png CENTERED (619,449) -BLIT star2.png CENTERED (568,266) -BLIT star0.png CENTERED (391,431) -BLIT star2.png CENTERED (508,396) -BLIT star1.png CENTERED (417,213) -BLIT star2.png CENTERED (81,470) -BLIT star0.png CENTERED (367,102) -BLIT star1.png CENTERED (280,-122) -BLIT star1.png CENTERED (390,120) -BLIT star1.png CENTERED (590,312) -BLIT star1.png CENTERED (322,-81) -BLIT star0.png CENTERED (195,-142) -BLIT star1.png CENTERED (102,180) -BLIT star1.png CENTERED (263,120) -BLIT star1.png CENTERED (381,15) -BLIT star1.png CENTERED (41,184) -BLIT star2.png CENTERED (4,76) -BLIT star0.png CENTERED (18,-88) -BLIT star1.png CENTERED (193,3) -BLIT star1.png CENTERED (285,176) -BLIT star2.png CENTERED (246,54) -BLIT star0.png CENTERED (322,235) -BLIT star1.png CENTERED (247,273) -BLIT star1.png CENTERED (265,337) -BLIT star2.png CENTERED (628,-73) -BLIT star2.png CENTERED (194,449) -BLIT star1.png CENTERED (429,-110) -BLIT star0.png CENTERED (564,441) -BLIT star2.png CENTERED (586,211) -BLIT money.png CENTERED (296,302) -BLIT money.png CENTERED (296,283) -BLIT money.png CENTERED (289,285) -BLIT money.png CENTERED (300,280) -BLIT money.png CENTERED (312,277) -BLIT money.png CENTERED (302,290) -BLIT money.png CENTERED (272,294) -BLIT money.png CENTERED (278,265) -BLIT money.png CENTERED (271,301) -BLIT money.png CENTERED (306,291) -BLIT money.png CENTERED (302,285) -BLIT money.png CENTERED (292,301) -BLIT money.png CENTERED (296,278) -BLIT money.png CENTERED (292,271) -BLIT money.png CENTERED (291,280) -BLIT money.png CENTERED (288,284) -BLIT money.png CENTERED (311,267) -BLIT money.png CENTERED (322,267) -BLIT money.png CENTERED (287,263) -BLIT money.png CENTERED (317,297) -BLIT money.png CENTERED (284,177) -BLIT money.png CENTERED (287,146) -BLIT money.png CENTERED (287,148) -BLIT money.png CENTERED (287,252) -BLIT money.png CENTERED (283,216) -BLIT money.png CENTERED (278,232) -BLIT money.png CENTERED (288,229) -BLIT money.png CENTERED (281,245) -BLIT money.png CENTERED (297,251) -BLIT money.png CENTERED (286,222) -BLIT money.png CENTERED (276,237) -BLIT money.png CENTERED (276,231) -BLIT money.png CENTERED (276,212) -BLIT player_shoot.png CENTERED (240,131) -BLIT player_shoot.png CENTERED (299,270) -BLIT enemy1.png CENTERED (272,3) -BLIT enemy1.png CENTERED (174,0) -BLIT player.png CENTERED (247,379) -BLIT player_shoot.png (30,460) -INPUT click 333.0 554.0 -read 12 click 293.0 558.0 -WAIT 12 for click 293.0 558.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,135) -BLIT star1.png CENTERED (286,280) -BLIT star0.png CENTERED (145,73) -BLIT star1.png CENTERED (125,-105) -BLIT star1.png CENTERED (184,11) -BLIT star1.png CENTERED (377,245) -BLIT star0.png CENTERED (199,-152) -BLIT star2.png CENTERED (55,171) -BLIT star1.png CENTERED (372,419) -BLIT star1.png CENTERED (25,226) -BLIT star1.png CENTERED (461,171) -BLIT star1.png CENTERED (112,473) -BLIT star1.png CENTERED (140,-138) -BLIT star1.png CENTERED (304,372) -BLIT star1.png CENTERED (168,235) -BLIT star1.png CENTERED (61,134) -BLIT star1.png CENTERED (24,230) -BLIT star1.png CENTERED (363,319) -BLIT star0.png CENTERED (452,453) -BLIT star1.png CENTERED (13,360) -BLIT star0.png CENTERED (388,207) -BLIT star1.png CENTERED (347,200) -BLIT star2.png CENTERED (579,388) -BLIT star1.png CENTERED (523,415) -BLIT star1.png CENTERED (531,-102) -BLIT star1.png CENTERED (63,-40) -BLIT star0.png CENTERED (319,139) -BLIT star1.png CENTERED (491,-77) -BLIT star0.png CENTERED (313,338) -BLIT star2.png CENTERED (118,195) -BLIT star2.png CENTERED (179,-74) -BLIT star2.png CENTERED (262,457) -BLIT star1.png CENTERED (382,456) -BLIT star0.png CENTERED (23,367) -BLIT star1.png CENTERED (302,-59) -BLIT star2.png CENTERED (117,177) -BLIT star2.png CENTERED (575,295) -BLIT star1.png CENTERED (120,249) -BLIT star1.png CENTERED (405,283) -BLIT star2.png CENTERED (25,205) -BLIT star2.png CENTERED (547,178) -BLIT star1.png CENTERED (464,420) -BLIT star1.png CENTERED (560,309) -BLIT star1.png CENTERED (578,66) -BLIT star2.png CENTERED (482,66) -BLIT star0.png CENTERED (271,76) -BLIT star2.png CENTERED (608,163) -BLIT star0.png CENTERED (137,-60) -BLIT star1.png CENTERED (382,466) -BLIT star2.png CENTERED (141,396) -BLIT star1.png CENTERED (10,155) -BLIT star2.png CENTERED (428,280) -BLIT star0.png CENTERED (353,293) -BLIT star1.png CENTERED (343,457) -BLIT star2.png CENTERED (414,336) -BLIT star1.png CENTERED (148,335) -BLIT star2.png CENTERED (415,380) -BLIT star1.png CENTERED (597,257) -BLIT star2.png CENTERED (608,350) -BLIT star0.png CENTERED (440,337) -BLIT star2.png CENTERED (37,352) -BLIT star2.png CENTERED (401,404) -BLIT star0.png CENTERED (463,-94) -BLIT star1.png CENTERED (93,-35) -BLIT star2.png CENTERED (468,393) -BLIT star0.png CENTERED (211,178) -BLIT star1.png CENTERED (349,357) -BLIT star0.png CENTERED (370,-158) -BLIT star0.png CENTERED (321,438) -BLIT star1.png CENTERED (605,329) -BLIT star0.png CENTERED (517,-25) -BLIT star1.png CENTERED (619,453) -BLIT star2.png CENTERED (568,272) -BLIT star0.png CENTERED (391,433) -BLIT star2.png CENTERED (508,402) -BLIT star1.png CENTERED (417,216) -BLIT star2.png CENTERED (81,476) -BLIT star0.png CENTERED (367,104) -BLIT star1.png CENTERED (280,-119) -BLIT star1.png CENTERED (390,123) -BLIT star1.png CENTERED (590,316) -BLIT star1.png CENTERED (322,-77) -BLIT star0.png CENTERED (195,-140) -BLIT star1.png CENTERED (102,183) -BLIT star1.png CENTERED (263,123) -BLIT star1.png CENTERED (381,18) -BLIT star1.png CENTERED (41,186) -BLIT star2.png CENTERED (4,81) -BLIT star0.png CENTERED (18,-86) -BLIT star1.png CENTERED (193,6) -BLIT star1.png CENTERED (285,179) -BLIT star2.png CENTERED (246,60) -BLIT star0.png CENTERED (322,237) -BLIT star1.png CENTERED (247,275) -BLIT star1.png CENTERED (265,340) -BLIT star2.png CENTERED (628,-68) -BLIT star2.png CENTERED (194,455) -BLIT star1.png CENTERED (429,-107) -BLIT star0.png CENTERED (564,443) -BLIT star2.png CENTERED (586,217) -BLIT money.png CENTERED (296,308) -BLIT money.png CENTERED (296,289) -BLIT money.png CENTERED (289,291) -BLIT money.png CENTERED (300,286) -BLIT money.png CENTERED (312,283) -BLIT money.png CENTERED (302,296) -BLIT money.png CENTERED (272,300) -BLIT money.png CENTERED (278,271) -BLIT money.png CENTERED (271,307) -BLIT money.png CENTERED (306,297) -BLIT money.png CENTERED (302,291) -BLIT money.png CENTERED (292,307) -BLIT money.png CENTERED (296,284) -BLIT money.png CENTERED (292,277) -BLIT money.png CENTERED (291,286) -BLIT money.png CENTERED (288,290) -BLIT money.png CENTERED (311,273) -BLIT money.png CENTERED (322,273) -BLIT money.png CENTERED (287,269) -BLIT money.png CENTERED (317,303) -BLIT money.png CENTERED (284,183) -BLIT money.png CENTERED (287,152) -BLIT money.png CENTERED (287,154) -BLIT money.png CENTERED (287,258) -BLIT money.png CENTERED (283,222) -BLIT money.png CENTERED (278,238) -BLIT money.png CENTERED (288,235) -BLIT money.png CENTERED (281,251) -BLIT money.png CENTERED (297,257) -BLIT money.png CENTERED (286,228) -BLIT money.png CENTERED (276,243) -BLIT money.png CENTERED (276,237) -BLIT money.png CENTERED (276,218) -BLIT player_shoot.png CENTERED (240,71) -BLIT player_shoot.png CENTERED (299,210) -BLIT player_shoot.png CENTERED (266,390) -BLIT enemy1.png CENTERED (270,31) -BLIT enemy1.png CENTERED (176,25) -BLIT player.png CENTERED (270,420) -BLIT player_shoot.png (30,460) -INPUT click 293.0 558.0 -read 21 click 385.0 549.0 -WAIT 21 for click 385.0 549.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,138) -BLIT star1.png CENTERED (286,283) -BLIT star0.png CENTERED (145,75) -BLIT star1.png CENTERED (125,-102) -BLIT star1.png CENTERED (184,14) -BLIT star1.png CENTERED (377,249) -BLIT star0.png CENTERED (199,-151) -BLIT star2.png CENTERED (55,175) -BLIT star1.png CENTERED (372,422) -BLIT star1.png CENTERED (25,228) -BLIT star1.png CENTERED (461,174) -BLIT star1.png CENTERED (112,476) -BLIT star1.png CENTERED (140,-135) -BLIT star1.png CENTERED (304,375) -BLIT star1.png CENTERED (168,239) -BLIT star1.png CENTERED (61,137) -BLIT star1.png CENTERED (24,233) -BLIT star1.png CENTERED (363,321) -BLIT star0.png CENTERED (452,454) -BLIT star1.png CENTERED (13,363) -BLIT star0.png CENTERED (388,209) -BLIT star1.png CENTERED (347,204) -BLIT star2.png CENTERED (579,393) -BLIT star1.png CENTERED (523,418) -BLIT star1.png CENTERED (531,-100) -BLIT star1.png CENTERED (63,-38) -BLIT star0.png CENTERED (319,140) -BLIT star1.png CENTERED (491,-75) -BLIT star0.png CENTERED (313,339) -BLIT star2.png CENTERED (118,199) -BLIT star2.png CENTERED (179,-69) -BLIT star2.png CENTERED (262,460) -BLIT star1.png CENTERED (382,459) -BLIT star0.png CENTERED (23,368) -BLIT star1.png CENTERED (302,-55) -BLIT star2.png CENTERED (117,182) -BLIT star2.png CENTERED (575,300) -BLIT star1.png CENTERED (120,251) -BLIT star1.png CENTERED (405,285) -BLIT star2.png CENTERED (25,210) -BLIT star2.png CENTERED (547,183) -BLIT star1.png CENTERED (464,423) -BLIT star1.png CENTERED (560,313) -BLIT star1.png CENTERED (578,70) -BLIT star2.png CENTERED (482,70) -BLIT star0.png CENTERED (271,78) -BLIT star2.png CENTERED (608,168) -BLIT star0.png CENTERED (137,-58) -BLIT star1.png CENTERED (382,469) -BLIT star2.png CENTERED (141,400) -BLIT star1.png CENTERED (10,159) -BLIT star2.png CENTERED (428,285) -BLIT star0.png CENTERED (353,294) -BLIT star1.png CENTERED (343,459) -BLIT star2.png CENTERED (414,341) -BLIT star1.png CENTERED (148,338) -BLIT star2.png CENTERED (415,384) -BLIT star1.png CENTERED (597,261) -BLIT star2.png CENTERED (608,354) -BLIT star0.png CENTERED (440,339) -BLIT star2.png CENTERED (37,356) -BLIT star2.png CENTERED (401,409) -BLIT star0.png CENTERED (463,-92) -BLIT star1.png CENTERED (93,-31) -BLIT star2.png CENTERED (468,397) -BLIT star0.png CENTERED (211,180) -BLIT star1.png CENTERED (349,360) -BLIT star0.png CENTERED (370,-157) -BLIT star0.png CENTERED (321,439) -BLIT star1.png CENTERED (605,331) -BLIT star0.png CENTERED (517,-24) -BLIT star1.png CENTERED (619,456) -BLIT star2.png CENTERED (568,276) -BLIT star0.png CENTERED (391,434) -BLIT star2.png CENTERED (508,406) -BLIT star1.png CENTERED (417,218) -BLIT star2.png CENTERED (531,-9) -BLIT star0.png CENTERED (367,105) -BLIT star1.png CENTERED (280,-117) -BLIT star1.png CENTERED (390,126) -BLIT star1.png CENTERED (590,320) -BLIT star1.png CENTERED (322,-74) -BLIT star0.png CENTERED (195,-138) -BLIT star1.png CENTERED (102,186) -BLIT star1.png CENTERED (263,125) -BLIT star1.png CENTERED (381,20) -BLIT star1.png CENTERED (41,188) -BLIT star2.png CENTERED (4,86) -BLIT star0.png CENTERED (18,-85) -BLIT star1.png CENTERED (193,8) -BLIT star1.png CENTERED (285,183) -BLIT star2.png CENTERED (246,65) -BLIT star0.png CENTERED (322,238) -BLIT star1.png CENTERED (247,277) -BLIT star1.png CENTERED (265,343) -BLIT star2.png CENTERED (628,-63) -BLIT star2.png CENTERED (194,459) -BLIT star1.png CENTERED (429,-104) -BLIT star0.png CENTERED (564,444) -BLIT star2.png CENTERED (586,221) -BLIT money.png CENTERED (296,312) -BLIT money.png CENTERED (296,294) -BLIT money.png CENTERED (289,295) -BLIT money.png CENTERED (300,291) -BLIT money.png CENTERED (312,288) -BLIT money.png CENTERED (302,301) -BLIT money.png CENTERED (272,305) -BLIT money.png CENTERED (278,276) -BLIT money.png CENTERED (271,312) -BLIT money.png CENTERED (306,302) -BLIT money.png CENTERED (302,296) -BLIT money.png CENTERED (292,312) -BLIT money.png CENTERED (296,288) -BLIT money.png CENTERED (292,282) -BLIT money.png CENTERED (291,291) -BLIT money.png CENTERED (288,295) -BLIT money.png CENTERED (311,278) -BLIT money.png CENTERED (322,278) -BLIT money.png CENTERED (287,274) -BLIT money.png CENTERED (317,307) -BLIT money.png CENTERED (284,188) -BLIT money.png CENTERED (287,157) -BLIT money.png CENTERED (287,159) -BLIT money.png CENTERED (287,263) -BLIT money.png CENTERED (283,227) -BLIT money.png CENTERED (278,243) -BLIT money.png CENTERED (288,240) -BLIT money.png CENTERED (281,256) -BLIT money.png CENTERED (297,262) -BLIT money.png CENTERED (286,233) -BLIT money.png CENTERED (276,247) -BLIT money.png CENTERED (276,242) -BLIT money.png CENTERED (276,223) -BLIT player_shoot.png CENTERED (240,23) -BLIT player_shoot.png CENTERED (299,162) -BLIT player_shoot.png CENTERED (266,342) -BLIT enemy1.png CENTERED (269,53) -BLIT enemy1.png CENTERED (177,46) -BLIT player.png CENTERED (285,455) -BLIT player_shoot.png (30,460) -INPUT click 385.0 549.0 -read 13 click 318.0 545.0 -WAIT 13 for click 318.0 545.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,142) -BLIT star1.png CENTERED (286,288) -BLIT star0.png CENTERED (145,79) -BLIT star1.png CENTERED (125,-97) -BLIT star1.png CENTERED (184,19) -BLIT star1.png CENTERED (377,255) -BLIT star0.png CENTERED (199,-148) -BLIT star2.png CENTERED (55,182) -BLIT star1.png CENTERED (372,427) -BLIT star1.png CENTERED (25,233) -BLIT star1.png CENTERED (461,179) -BLIT star0.png CENTERED (465,-7) -BLIT star1.png CENTERED (140,-129) -BLIT star1.png CENTERED (304,379) -BLIT star1.png CENTERED (168,244) -BLIT star1.png CENTERED (61,143) -BLIT star1.png CENTERED (24,238) -BLIT star1.png CENTERED (363,326) -BLIT star0.png CENTERED (452,456) -BLIT star1.png CENTERED (13,368) -BLIT star0.png CENTERED (388,212) -BLIT star1.png CENTERED (347,210) -BLIT star2.png CENTERED (579,401) -BLIT star1.png CENTERED (523,424) -BLIT star1.png CENTERED (531,-95) -BLIT star1.png CENTERED (63,-34) -BLIT star0.png CENTERED (319,143) -BLIT star1.png CENTERED (491,-71) -BLIT star0.png CENTERED (313,341) -BLIT star2.png CENTERED (118,205) -BLIT star2.png CENTERED (179,-61) -BLIT star2.png CENTERED (262,467) -BLIT star1.png CENTERED (382,465) -BLIT star0.png CENTERED (23,370) -BLIT star1.png CENTERED (302,-49) -BLIT star2.png CENTERED (117,190) -BLIT star2.png CENTERED (575,308) -BLIT star1.png CENTERED (120,255) -BLIT star1.png CENTERED (405,289) -BLIT star2.png CENTERED (25,218) -BLIT star2.png CENTERED (547,191) -BLIT star1.png CENTERED (464,430) -BLIT star1.png CENTERED (560,319) -BLIT star1.png CENTERED (578,76) -BLIT star2.png CENTERED (482,76) -BLIT star0.png CENTERED (271,81) -BLIT star2.png CENTERED (608,176) -BLIT star0.png CENTERED (137,-55) -BLIT star1.png CENTERED (382,473) -BLIT star2.png CENTERED (141,407) -BLIT star1.png CENTERED (10,165) -BLIT star2.png CENTERED (428,292) -BLIT star0.png CENTERED (353,296) -BLIT star1.png CENTERED (343,463) -BLIT star2.png CENTERED (414,348) -BLIT star1.png CENTERED (148,344) -BLIT star2.png CENTERED (415,391) -BLIT star1.png CENTERED (597,267) -BLIT star2.png CENTERED (608,361) -BLIT star0.png CENTERED (440,342) -BLIT star2.png CENTERED (37,363) -BLIT star2.png CENTERED (401,416) -BLIT star0.png CENTERED (463,-89) -BLIT star1.png CENTERED (93,-26) -BLIT star2.png CENTERED (468,405) -BLIT star0.png CENTERED (211,183) -BLIT star1.png CENTERED (349,366) -BLIT star0.png CENTERED (370,-155) -BLIT star0.png CENTERED (321,441) -BLIT star1.png CENTERED (605,334) -BLIT star0.png CENTERED (517,-22) -BLIT star1.png CENTERED (619,460) -BLIT star2.png CENTERED (568,283) -BLIT star0.png CENTERED (391,436) -BLIT star2.png CENTERED (508,413) -BLIT star1.png CENTERED (417,222) -BLIT star2.png CENTERED (531,-1) -BLIT star0.png CENTERED (367,108) -BLIT star1.png CENTERED (280,-113) -BLIT star1.png CENTERED (390,130) -BLIT star1.png CENTERED (590,326) -BLIT star1.png CENTERED (322,-69) -BLIT star0.png CENTERED (195,-136) -BLIT star1.png CENTERED (102,192) -BLIT star1.png CENTERED (263,129) -BLIT star1.png CENTERED (381,24) -BLIT star1.png CENTERED (41,191) -BLIT star2.png CENTERED (4,94) -BLIT star0.png CENTERED (18,-83) -BLIT star1.png CENTERED (193,13) -BLIT star1.png CENTERED (285,188) -BLIT star2.png CENTERED (246,73) -BLIT star0.png CENTERED (322,241) -BLIT star1.png CENTERED (247,281) -BLIT star1.png CENTERED (265,347) -BLIT star2.png CENTERED (628,-55) -BLIT star2.png CENTERED (194,467) -BLIT star1.png CENTERED (429,-100) -BLIT star0.png CENTERED (564,446) -BLIT star2.png CENTERED (586,229) -BLIT money.png CENTERED (296,321) -BLIT money.png CENTERED (296,302) -BLIT money.png CENTERED (289,304) -BLIT money.png CENTERED (300,299) -BLIT money.png CENTERED (312,297) -BLIT money.png CENTERED (302,309) -BLIT money.png CENTERED (272,313) -BLIT money.png CENTERED (278,284) -BLIT money.png CENTERED (271,320) -BLIT money.png CENTERED (306,310) -BLIT money.png CENTERED (302,304) -BLIT money.png CENTERED (292,320) -BLIT money.png CENTERED (296,297) -BLIT money.png CENTERED (292,290) -BLIT money.png CENTERED (291,300) -BLIT money.png CENTERED (288,303) -BLIT money.png CENTERED (311,286) -BLIT money.png CENTERED (322,286) -BLIT money.png CENTERED (287,283) -BLIT money.png CENTERED (317,316) -BLIT money.png CENTERED (284,196) -BLIT money.png CENTERED (287,165) -BLIT money.png CENTERED (287,167) -BLIT money.png CENTERED (287,272) -BLIT money.png CENTERED (283,236) -BLIT money.png CENTERED (278,251) -BLIT money.png CENTERED (288,248) -BLIT money.png CENTERED (281,264) -BLIT money.png CENTERED (297,270) -BLIT money.png CENTERED (286,242) -BLIT money.png CENTERED (276,256) -BLIT money.png CENTERED (276,250) -BLIT money.png CENTERED (276,231) -BLIT player_shoot.png CENTERED (240,-60) -BLIT player_shoot.png CENTERED (299,78) -BLIT player_shoot.png CENTERED (266,258) -BLIT player_shoot.png CENTERED (289,450) -BLIT enemy1.png CENTERED (266,92) -BLIT enemy1.png CENTERED (179,82) -BLIT player.png CENTERED (292,480) -BLIT player_shoot.png (30,460) -INPUT click 318.0 545.0 -read 8 click 329.0 555.0 -WAIT 8 for click 329.0 555.0 -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,144) -BLIT star1.png CENTERED (286,292) -BLIT star0.png CENTERED (145,80) -BLIT star1.png CENTERED (125,-94) -BLIT star1.png CENTERED (184,23) -BLIT star1.png CENTERED (377,259) -BLIT star0.png CENTERED (199,-146) -BLIT star2.png CENTERED (55,186) -BLIT star1.png CENTERED (372,430) -BLIT star1.png CENTERED (25,236) -BLIT star1.png CENTERED (461,183) -BLIT star0.png CENTERED (465,-5) -BLIT star1.png CENTERED (140,-125) -BLIT star1.png CENTERED (304,382) -BLIT star1.png CENTERED (168,247) -BLIT star1.png CENTERED (61,147) -BLIT star1.png CENTERED (24,241) -BLIT star1.png CENTERED (363,329) -BLIT star0.png CENTERED (452,457) -BLIT star1.png CENTERED (13,371) -BLIT star0.png CENTERED (388,214) -BLIT star1.png CENTERED (347,214) -BLIT star2.png CENTERED (579,406) -BLIT star1.png CENTERED (523,428) -BLIT star1.png CENTERED (531,-93) -BLIT star1.png CENTERED (63,-31) -BLIT star0.png CENTERED (319,144) -BLIT star1.png CENTERED (491,-69) -BLIT star0.png CENTERED (313,343) -BLIT star2.png CENTERED (118,209) -BLIT star2.png CENTERED (179,-57) -BLIT star2.png CENTERED (262,471) -BLIT star1.png CENTERED (382,469) -BLIT star0.png CENTERED (23,372) -BLIT star1.png CENTERED (302,-45) -BLIT star2.png CENTERED (117,195) -BLIT star2.png CENTERED (575,313) -BLIT star1.png CENTERED (120,257) -BLIT star1.png CENTERED (405,292) -BLIT star2.png CENTERED (25,223) -BLIT star2.png CENTERED (547,195) -BLIT star1.png CENTERED (464,434) -BLIT star1.png CENTERED (560,323) -BLIT star1.png CENTERED (578,80) -BLIT star2.png CENTERED (482,81) -BLIT star0.png CENTERED (271,83) -BLIT star2.png CENTERED (608,181) -BLIT star0.png CENTERED (137,-53) -BLIT star1.png CENTERED (382,476) -BLIT star2.png CENTERED (141,412) -BLIT star1.png CENTERED (10,169) -BLIT star2.png CENTERED (428,297) -BLIT star0.png CENTERED (353,298) -BLIT star1.png CENTERED (343,465) -BLIT star2.png CENTERED (414,352) -BLIT star1.png CENTERED (148,348) -BLIT star2.png CENTERED (415,395) -BLIT star1.png CENTERED (597,271) -BLIT star2.png CENTERED (608,366) -BLIT star0.png CENTERED (440,344) -BLIT star2.png CENTERED (37,367) -BLIT star2.png CENTERED (401,421) -BLIT star0.png CENTERED (463,-88) -BLIT star1.png CENTERED (93,-22) -BLIT star2.png CENTERED (468,410) -BLIT star0.png CENTERED (211,185) -BLIT star1.png CENTERED (349,370) -BLIT star0.png CENTERED (370,-154) -BLIT star0.png CENTERED (321,443) -BLIT star1.png CENTERED (605,337) -BLIT star0.png CENTERED (517,-21) -BLIT star1.png CENTERED (619,463) -BLIT star2.png CENTERED (568,288) -BLIT star0.png CENTERED (391,437) -BLIT star2.png CENTERED (508,417) -BLIT star1.png CENTERED (417,225) -BLIT star2.png CENTERED (531,3) -BLIT star0.png CENTERED (367,109) -BLIT star1.png CENTERED (280,-111) -BLIT star1.png CENTERED (390,133) -BLIT star1.png CENTERED (590,330) -BLIT star1.png CENTERED (322,-66) -BLIT star0.png CENTERED (195,-134) -BLIT star1.png CENTERED (102,195) -BLIT star1.png CENTERED (263,132) -BLIT star1.png CENTERED (381,26) -BLIT star1.png CENTERED (41,193) -BLIT star2.png CENTERED (4,99) -BLIT star0.png CENTERED (18,-82) -BLIT star1.png CENTERED (193,15) -BLIT star1.png CENTERED (285,191) -BLIT star2.png CENTERED (246,78) -BLIT star0.png CENTERED (322,243) -BLIT star1.png CENTERED (247,283) -BLIT star1.png CENTERED (265,350) -BLIT star2.png CENTERED (628,-50) -BLIT star2.png CENTERED (194,472) -BLIT star1.png CENTERED (429,-97) -BLIT star0.png CENTERED (564,447) -BLIT star2.png CENTERED (586,234) -BLIT money.png CENTERED (296,326) -BLIT money.png CENTERED (296,307) -BLIT money.png CENTERED (289,309) -BLIT money.png CENTERED (300,304) -BLIT money.png CENTERED (312,302) -BLIT money.png CENTERED (302,314) -BLIT money.png CENTERED (272,318) -BLIT money.png CENTERED (278,289) -BLIT money.png CENTERED (271,326) -BLIT money.png CENTERED (306,316) -BLIT money.png CENTERED (302,310) -BLIT money.png CENTERED (292,326) -BLIT money.png CENTERED (296,302) -BLIT money.png CENTERED (292,295) -BLIT money.png CENTERED (291,305) -BLIT money.png CENTERED (288,308) -BLIT money.png CENTERED (311,291) -BLIT money.png CENTERED (322,291) -BLIT money.png CENTERED (287,288) -BLIT money.png CENTERED (317,321) -BLIT money.png CENTERED (284,201) -BLIT money.png CENTERED (287,171) -BLIT money.png CENTERED (287,173) -BLIT money.png CENTERED (287,277) -BLIT money.png CENTERED (283,241) -BLIT money.png CENTERED (278,257) -BLIT money.png CENTERED (288,253) -BLIT money.png CENTERED (281,270) -BLIT money.png CENTERED (297,275) -BLIT money.png CENTERED (286,247) -BLIT money.png CENTERED (276,261) -BLIT money.png CENTERED (276,256) -BLIT money.png CENTERED (276,236) -BLIT player_shoot.png CENTERED (299,26) -BLIT player_shoot.png CENTERED (266,206) -BLIT player_shoot.png CENTERED (289,398) -BLIT enemy_shoot.png CENTERED (257,159) -BLIT enemy_shoot.png CENTERED (275,159) -BLIT enemy_shoot.png CENTERED (170,144) -BLIT enemy_shoot.png CENTERED (188,144) -BLIT enemy1.png CENTERED (265,115) -BLIT enemy1.png CENTERED (180,104) -BLIT player.png CENTERED (323,480) -BLIT player_shoot.png (30,460) -INPUT click 329.0 555.0 -read 106 quit -WAIT 106 for quit -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,146) -BLIT star1.png CENTERED (286,294) -BLIT star0.png CENTERED (145,82) -BLIT star1.png CENTERED (125,-92) -BLIT star1.png CENTERED (184,25) -BLIT star1.png CENTERED (377,261) -BLIT star0.png CENTERED (199,-145) -BLIT star2.png CENTERED (55,189) -BLIT star1.png CENTERED (372,431) -BLIT star1.png CENTERED (25,238) -BLIT star1.png CENTERED (461,185) -BLIT star0.png CENTERED (465,-4) -BLIT star1.png CENTERED (140,-123) -BLIT star1.png CENTERED (304,384) -BLIT star1.png CENTERED (168,249) -BLIT star1.png CENTERED (61,149) -BLIT star1.png CENTERED (24,243) -BLIT star1.png CENTERED (363,331) -BLIT star0.png CENTERED (452,458) -BLIT star1.png CENTERED (13,373) -BLIT star0.png CENTERED (388,215) -BLIT star1.png CENTERED (347,216) -BLIT star2.png CENTERED (579,409) -BLIT star1.png CENTERED (523,430) -BLIT star1.png CENTERED (531,-91) -BLIT star1.png CENTERED (63,-30) -BLIT star0.png CENTERED (319,145) -BLIT star1.png CENTERED (491,-67) -BLIT star0.png CENTERED (313,344) -BLIT star2.png CENTERED (118,212) -BLIT star2.png CENTERED (179,-54) -BLIT star2.png CENTERED (262,474) -BLIT star1.png CENTERED (382,471) -BLIT star0.png CENTERED (23,372) -BLIT star1.png CENTERED (302,-42) -BLIT star2.png CENTERED (117,198) -BLIT star2.png CENTERED (575,316) -BLIT star1.png CENTERED (120,258) -BLIT star1.png CENTERED (405,293) -BLIT star2.png CENTERED (25,227) -BLIT star2.png CENTERED (547,198) -BLIT star1.png CENTERED (464,436) -BLIT star1.png CENTERED (560,326) -BLIT star1.png CENTERED (578,83) -BLIT star2.png CENTERED (482,83) -BLIT star0.png CENTERED (271,85) -BLIT star2.png CENTERED (608,184) -BLIT star0.png CENTERED (137,-52) -BLIT star1.png CENTERED (382,477) -BLIT star2.png CENTERED (141,414) -BLIT star1.png CENTERED (10,171) -BLIT star2.png CENTERED (428,300) -BLIT star0.png CENTERED (353,299) -BLIT star1.png CENTERED (343,466) -BLIT star2.png CENTERED (414,355) -BLIT star1.png CENTERED (148,350) -BLIT star2.png CENTERED (415,398) -BLIT star1.png CENTERED (597,273) -BLIT star2.png CENTERED (608,368) -BLIT star0.png CENTERED (440,345) -BLIT star2.png CENTERED (37,370) -BLIT star2.png CENTERED (401,423) -BLIT star0.png CENTERED (463,-87) -BLIT star1.png CENTERED (93,-20) -BLIT star2.png CENTERED (468,413) -BLIT star0.png CENTERED (211,187) -BLIT star1.png CENTERED (349,372) -BLIT star0.png CENTERED (370,-154) -BLIT star0.png CENTERED (321,443) -BLIT star1.png CENTERED (605,338) -BLIT star0.png CENTERED (517,-20) -BLIT star1.png CENTERED (619,465) -BLIT star2.png CENTERED (568,291) -BLIT star0.png CENTERED (391,438) -BLIT star2.png CENTERED (508,420) -BLIT star1.png CENTERED (417,226) -BLIT star2.png CENTERED (531,6) -BLIT star0.png CENTERED (367,110) -BLIT star1.png CENTERED (280,-109) -BLIT star1.png CENTERED (390,134) -BLIT star1.png CENTERED (590,333) -BLIT star1.png CENTERED (322,-64) -BLIT star0.png CENTERED (195,-133) -BLIT star1.png CENTERED (102,197) -BLIT star1.png CENTERED (263,133) -BLIT star1.png CENTERED (381,28) -BLIT star1.png CENTERED (41,195) -BLIT star2.png CENTERED (4,102) -BLIT star0.png CENTERED (18,-81) -BLIT star1.png CENTERED (193,17) -BLIT star1.png CENTERED (285,193) -BLIT star2.png CENTERED (246,81) -BLIT star0.png CENTERED (322,244) -BLIT star1.png CENTERED (247,284) -BLIT star1.png CENTERED (265,351) -BLIT star2.png CENTERED (628,-46) -BLIT star2.png CENTERED (194,475) -BLIT star1.png CENTERED (429,-95) -BLIT star0.png CENTERED (564,448) -BLIT star2.png CENTERED (586,237) -BLIT money.png CENTERED (296,329) -BLIT money.png CENTERED (296,310) -BLIT money.png CENTERED (289,312) -BLIT money.png CENTERED (300,308) -BLIT money.png CENTERED (312,305) -BLIT money.png CENTERED (302,317) -BLIT money.png CENTERED (272,321) -BLIT money.png CENTERED (278,293) -BLIT money.png CENTERED (271,329) -BLIT money.png CENTERED (306,319) -BLIT money.png CENTERED (302,313) -BLIT money.png CENTERED (292,329) -BLIT money.png CENTERED (296,305) -BLIT money.png CENTERED (292,299) -BLIT money.png CENTERED (291,308) -BLIT money.png CENTERED (288,312) -BLIT money.png CENTERED (311,294) -BLIT money.png CENTERED (322,294) -BLIT money.png CENTERED (287,291) -BLIT money.png CENTERED (317,324) -BLIT money.png CENTERED (284,205) -BLIT money.png CENTERED (287,174) -BLIT money.png CENTERED (287,176) -BLIT money.png CENTERED (287,280) -BLIT money.png CENTERED (283,244) -BLIT money.png CENTERED (278,260) -BLIT money.png CENTERED (288,256) -BLIT money.png CENTERED (281,273) -BLIT money.png CENTERED (297,279) -BLIT money.png CENTERED (286,250) -BLIT money.png CENTERED (276,264) -BLIT money.png CENTERED (276,259) -BLIT money.png CENTERED (276,240) -BLIT player_shoot.png CENTERED (299,-6) -BLIT player_shoot.png CENTERED (266,174) -BLIT player_shoot.png CENTERED (289,366) -BLIT enemy_shoot.png CENTERED (257,191) -BLIT enemy_shoot.png CENTERED (275,191) -BLIT enemy_shoot.png CENTERED (170,176) -BLIT enemy_shoot.png CENTERED (188,176) -BLIT enemy1.png CENTERED (264,130) -BLIT enemy1.png CENTERED (181,118) -BLIT enemy1.png CENTERED (205,0) -BLIT player.png CENTERED (321,480) -BLIT player_shoot.png (30,460) -INPUT quit -END OF INPUTS -CLEAR rgb(0.0;0.0;0.0) -BLIT star1.png CENTERED (278,166) -BLIT star1.png CENTERED (286,321) -BLIT star0.png CENTERED (145,98) -BLIT star1.png CENTERED (125,-67) -BLIT star1.png CENTERED (184,53) -BLIT star1.png CENTERED (377,293) -BLIT star0.png CENTERED (199,-132) -BLIT star2.png CENTERED (55,224) -BLIT star1.png CENTERED (372,455) -BLIT star1.png CENTERED (25,263) -BLIT star1.png CENTERED (461,212) -BLIT star0.png CENTERED (465,9) -BLIT star1.png CENTERED (140,-94) -BLIT star1.png CENTERED (304,408) -BLIT star1.png CENTERED (168,276) -BLIT star1.png CENTERED (61,180) -BLIT star1.png CENTERED (24,267) -BLIT star1.png CENTERED (363,356) -BLIT star0.png CENTERED (452,467) -BLIT star1.png CENTERED (13,399) -BLIT star0.png CENTERED (388,230) -BLIT star1.png CENTERED (347,248) -BLIT star2.png CENTERED (579,451) -BLIT star1.png CENTERED (523,460) -BLIT star1.png CENTERED (531,-69) -BLIT star1.png CENTERED (63,-9) -BLIT star0.png CENTERED (319,156) -BLIT star1.png CENTERED (491,-48) -BLIT star0.png CENTERED (313,356) -BLIT star2.png CENTERED (118,246) -BLIT star2.png CENTERED (179,-14) -BLIT star1.png CENTERED (573,-64) -BLIT star1.png CENTERED (235,-37) -BLIT star0.png CENTERED (23,383) -BLIT star1.png CENTERED (302,-9) -BLIT star2.png CENTERED (117,240) -BLIT star2.png CENTERED (575,356) -BLIT star1.png CENTERED (120,275) -BLIT star1.png CENTERED (405,314) -BLIT star2.png CENTERED (25,269) -BLIT star2.png CENTERED (547,237) -BLIT star1.png CENTERED (464,468) -BLIT star1.png CENTERED (560,359) -BLIT star1.png CENTERED (578,116) -BLIT star2.png CENTERED (482,117) -BLIT star0.png CENTERED (271,101) -BLIT star2.png CENTERED (608,225) -BLIT star0.png CENTERED (137,-35) -BLIT star1.png CENTERED (173,-43) -BLIT star2.png CENTERED (141,451) -BLIT star1.png CENTERED (10,202) -BLIT star2.png CENTERED (428,340) -BLIT star0.png CENTERED (353,310) -BLIT star1.png CENTERED (98,-12) -BLIT star2.png CENTERED (414,390) -BLIT star1.png CENTERED (148,379) -BLIT star2.png CENTERED (415,435) -BLIT star1.png CENTERED (597,306) -BLIT star2.png CENTERED (608,404) -BLIT star0.png CENTERED (440,360) -BLIT star2.png CENTERED (37,406) -BLIT star2.png CENTERED (401,461) -BLIT star0.png CENTERED (463,-73) -BLIT star1.png CENTERED (93,7) -BLIT star2.png CENTERED (468,451) -BLIT star0.png CENTERED (211,203) -BLIT star1.png CENTERED (349,401) -BLIT star0.png CENTERED (370,-144) -BLIT star0.png CENTERED (321,454) -BLIT star1.png CENTERED (605,356) -BLIT star0.png CENTERED (517,-10) -BLIT star1.png CENTERED (129,-64) -BLIT star2.png CENTERED (568,328) -BLIT star0.png CENTERED (391,449) -BLIT star2.png CENTERED (508,457) -BLIT star1.png CENTERED (417,246) -BLIT star2.png CENTERED (531,45) -BLIT star0.png CENTERED (367,124) -BLIT star1.png CENTERED (280,-89) -BLIT star1.png CENTERED (390,156) -BLIT star1.png CENTERED (590,365) -BLIT star1.png CENTERED (322,-36) -BLIT star0.png CENTERED (195,-119) -BLIT star1.png CENTERED (102,223) -BLIT star1.png CENTERED (263,154) -BLIT star1.png CENTERED (381,46) -BLIT star1.png CENTERED (41,212) -BLIT star2.png CENTERED (4,141) -BLIT star0.png CENTERED (18,-70) -BLIT star1.png CENTERED (193,39) -BLIT star1.png CENTERED (285,220) -BLIT star2.png CENTERED (246,123) -BLIT star0.png CENTERED (322,258) -BLIT star1.png CENTERED (247,302) -BLIT star1.png CENTERED (265,372) -BLIT star2.png CENTERED (628,-5) -BLIT star0.png CENTERED (106,-78) -BLIT star1.png CENTERED (429,-72) -BLIT star0.png CENTERED (564,458) -BLIT star2.png CENTERED (586,276) -BLIT money.png CENTERED (296,372) -BLIT money.png CENTERED (296,353) -BLIT money.png CENTERED (289,355) -BLIT money.png CENTERED (300,350) -BLIT money.png CENTERED (312,347) -BLIT money.png CENTERED (302,360) -BLIT money.png CENTERED (272,364) -BLIT money.png CENTERED (278,335) -BLIT money.png CENTERED (271,371) -BLIT money.png CENTERED (306,361) -BLIT money.png CENTERED (302,355) -BLIT money.png CENTERED (292,371) -BLIT money.png CENTERED (296,348) -BLIT money.png CENTERED (292,341) -BLIT money.png CENTERED (291,350) -BLIT money.png CENTERED (288,354) -BLIT money.png CENTERED (311,337) -BLIT money.png CENTERED (322,337) -BLIT money.png CENTERED (287,333) -BLIT money.png CENTERED (317,367) -BLIT money.png CENTERED (284,247) -BLIT money.png CENTERED (287,216) -BLIT money.png CENTERED (287,218) -BLIT money.png CENTERED (287,322) -BLIT money.png CENTERED (283,286) -BLIT money.png CENTERED (278,302) -BLIT money.png CENTERED (288,299) -BLIT money.png CENTERED (281,315) -BLIT money.png CENTERED (297,321) -BLIT money.png CENTERED (286,292) -BLIT money.png CENTERED (276,307) -BLIT money.png CENTERED (276,301) -BLIT money.png CENTERED (276,282) -BLIT money.png CENTERED (277,171) -BLIT money.png CENTERED (264,175) -BLIT money.png CENTERED (240,198) -BLIT money.png CENTERED (263,181) -BLIT money.png CENTERED (269,203) -BLIT player_shoot.png CENTERED (289,-57) -BLIT player_shoot.png CENTERED (323,66) -BLIT player_shoot.png CENTERED (333,190) -BLIT player_shoot.png CENTERED (342,314) -BLIT player_shoot.png CENTERED (352,438) -BLIT enemy_shoot.png CENTERED (175,484) -BLIT enemy_shoot.png CENTERED (193,484) -BLIT enemy_shoot.png CENTERED (197,283) -BLIT enemy_shoot.png CENTERED (214,283) -BLIT enemy_shoot.png CENTERED (180,367) -BLIT enemy_shoot.png CENTERED (198,367) -BLIT enemy_shoot.png CENTERED (197,121) -BLIT enemy_shoot.png CENTERED (214,121) -BLIT enemy1.png CENTERED (191,299) -BLIT enemy1.png CENTERED (205,88) -BLIT enemy0.png CENTERED (541,214) -BLIT player.png CENTERED (355,480) -BLIT player_shoot.png (30,460) diff --git a/tests/turing.skip b/tests/turing.skip index ea13024..e6ce3b1 100644 --- a/tests/turing.skip +++ b/tests/turing.skip @@ -2,7 +2,6 @@ nitx _linux android gles -shoot curl neo gtk