Author Topic: Bust-a-move on PRIZM, Bloxorz on 9860G  (Read 6527 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Bust-a-move on PRIZM, Bloxorz on 9860G
« on: August 01, 2012, 05:03:03 pm »
There are still some quite cool programs coming out lately on Casio calculators. While juju is busy working on PrizmIO and ruler501 on pSDL, which are ports of their respective TI-Nspire counterparts, NspireIO and nSDL, Eiyeron has just released a new version of his Bust-a-Move clone on the same platform!



The game is still in demo stages, but it's fully playable and you can already play through a bunch of levels. The topic about it, including the download, can be found here.

Meanwhile, on Planète-Casio, a new LuaFX game came out for the FX-9860G series: Bloxorz, a port of the popular computer game!



Although it's still in demo stages as well, it's also very playable and looks very promising. It can be downloaded here!

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #1 on: August 01, 2012, 05:08:28 pm »
Is the top one bubble shooter? it's looking cool!

And I like the lower game too, that thinking game :P

Now i just need a prizm
* Sorunome runs

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Scipi

  • Omni Kitten Meow~ =^ω^=
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1547
  • Rating: +192/-3
  • Meow :3
    • View Profile
    • ScipiSoftware
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #2 on: August 01, 2012, 08:20:51 pm »
* HOMER-16 really needs to dig out and recharge his prizm

I haven't touched it since the semester ended :/

Imma Cat! =^_^= :3 (It's an emoticon now!)
Spoiler For Things I find interesting:
Spoiler For AI Programming:
Spoiler For Shameless advertising:

Spoiler For OldSig:





Spoiler For IMPORTANT NEWS!:
Late last night, Quebec was invaded by a group calling themselves, "Omnimaga". Not much is known about these mysterious people except that they all carried calculators of some kind and they all seemed to converge on one house in particular. Experts estimate that the combined power of their fabled calculators is greater than all the worlds super computers put together. The group seems to be holding out in the home of a certain DJ_O, who the Omnimagians claim to be their founder. Such power has put the world at a standstill with everyone waiting to see what the Omnimagians will do...

Wait... This just in, the Omnimagians have sent the UN a list of demands that must be met or else the world will be "submitted to the wrath of Netham45's Lobster Army". Such demands include >9001 crates of peanuts, sacrificial blue lobsters, and a wide assortment of cherry flavored items. With such computing power stored in the hands of such people, we can only hope these demands are met.

In the wake of these events, we can only ask, Why? Why do these people make these demands, what caused them to gather, and what are their future plans...

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #3 on: August 01, 2012, 08:27:06 pm »
* HOMER-16 really needs to dig out and recharge his prizm
charge? are there rechargeable batteries for the prizm I've never seen them but I'd love to get some
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Offline Scipi

  • Omni Kitten Meow~ =^ω^=
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1547
  • Rating: +192/-3
  • Meow :3
    • View Profile
    • ScipiSoftware
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #4 on: August 01, 2012, 08:39:39 pm »
Oh, wait I thought the prizm was like the Nspire in that it's rechargeable :P

My bad. Looks like I'll just dig out some batteries then.

Imma Cat! =^_^= :3 (It's an emoticon now!)
Spoiler For Things I find interesting:
Spoiler For AI Programming:
Spoiler For Shameless advertising:

Spoiler For OldSig:





Spoiler For IMPORTANT NEWS!:
Late last night, Quebec was invaded by a group calling themselves, "Omnimaga". Not much is known about these mysterious people except that they all carried calculators of some kind and they all seemed to converge on one house in particular. Experts estimate that the combined power of their fabled calculators is greater than all the worlds super computers put together. The group seems to be holding out in the home of a certain DJ_O, who the Omnimagians claim to be their founder. Such power has put the world at a standstill with everyone waiting to see what the Omnimagians will do...

Wait... This just in, the Omnimagians have sent the UN a list of demands that must be met or else the world will be "submitted to the wrath of Netham45's Lobster Army". Such demands include >9001 crates of peanuts, sacrificial blue lobsters, and a wide assortment of cherry flavored items. With such computing power stored in the hands of such people, we can only hope these demands are met.

In the wake of these events, we can only ask, Why? Why do these people make these demands, what caused them to gather, and what are their future plans...

Offline mushmoom

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 119
  • Rating: +4/-1
  • THE EMINENT
    • View Profile
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #5 on: August 01, 2012, 08:46:00 pm »
 :crazy:
This is amazing!  I shall have to borrow my friend's Prizm and dance all over it  :w00t:  Keep up the awesome work!
the inner machinations of my mind are an enigma...


Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #6 on: August 02, 2012, 04:09:25 am »
Oo (a newsof my game)
Thanks guys, be surethat I'll finish it!

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #7 on: August 02, 2012, 04:09:42 am »
I wonder if that Bloxorg clone shares any code with the TI-Nspire Lua version.
Anyway cool :D

Offline Nick

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1166
  • Rating: +161/-3
  • You just got omnom'd
    • View Profile
    • Nick Steen
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #8 on: August 02, 2012, 04:17:40 am »
I wonder if that Bloxorg clone shares any code with the TI-Nspire Lua version.

i'm wondering too xp

i love the bust-a-move :o i tried it in lua, but didn't manage to get the collision detection to work nicely..great you got it working :) it looks amazing

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #9 on: August 02, 2012, 04:26:05 am »
Here is the code I found for it:

Spoiler For Code:


-- Bloxorz by Purobaz
-- 48h CPC #4
-- Planete-Casio.fr
-- Thanks to Vebveb for LuaFX
-- useful functions
local prt=graydraw.text
local sub=string.sub
local tonb=base.tonumber
local tostr=misc.tostring2
local wait=misc.wait
-- variables
local level=1
local loop,choice
local nb
local i,j,k
   -- map
local map
local map_info={} -- width, height, x, y
local map_end={}
   -- block
local block={} -- x, y, position (1~3)
local block_move={ -- depend on keys
      {0,-1,1},
      {2,0,3},
      {0,1,1},
      {-1,0,3}
      {0,-2,3},
      {1,0,2},
      {0,1,3},
      {-1,0,2}
      {0,-1,2},
      {1,0,1},
      {0,2,2},
      {-2,0,1}
local block_pst={
   {1,0},
   {0,-1},
   {0,0}
local block_size={
   {0,-6},
   {-3,-6},
   {0,-8}
-- sprites
local sprite_map={
local sprite_block={
--functions
function load_map()
   if level==1 then
      map="111114352333350511111233"
      map_info={8,3,25,30}
      block={1,2,3}
   elseif level==2 then
      map="111114511455555555435335555404114555233112333"
      map_info={9,5,25,30}
      block={6,1,1}
   elseif level==3 then
      map="111111111143555455111111145533404533333333311233311111111111"
      map_info={15,4,25,42}
      block={12,2,2}
   elseif level==4 then
      map="1145511455435334043123311"
      map_info={5,5,25,30}
      block={5,2,3}
   elseif level==5 then
      map="45555433334111141111411112553512504112333"
      map_info={5,8,25,30}
      block={5,2,2}
   elseif level==6 then
      map="1455514043143311411123333"
      map_info={5,5,25,30}
      block={5,5,3}
   elseif level==7 then
      map="455111111145555511112555555551123335535511111250431111112331"
      map_info={10,6,25,30}
      block={2,2,3}
   elseif level==8 then
      map="111111455335511455511455114511455533333114555455511111114504233311111112555111111111111233"
      map_info={15,6,25,40}
      block={2,3,3}
   elseif level==9 then
      map="1411111114111111455114554553350423311233"
      map_info={8,5,25,30}
      block={2,1,3}
   end
function draw_map()
   for j=1,map_info[2],1 do
      for i=1,map_info[1],1 do
         nb=tonb(sub(map,((j-1)*map_info[1]+i),((j-1)*map_info[1]+i)))
         if nb==0 then map_end={i,j}
         elseif nb>1 then
            spritexy map_info[3]+4*i+4*j,map_info[4]+4*j-3*i,sprite_map[nb-1]
            refresh
            wait(1)
         end
      end
   end
function intro()
local stage="
8p8p
8p8p
8p8p
?p?p
?p?p
?p?p
p80( (
P( (`
 0P8p
local number={
`5@=@
`5P=P
`5@=@
`5@=@
   clear nil
   spritexy 14, 20, stage
   spritexy 87, 20, number[int(level/10)+1]
   spritexy 100, 20, number[int(level%10)+1]
   refresh
   wait(30)
function menu()
local menu="
8888(
8888
8888(
@@@@
local cursor="
   clear nil
   spritexy 10, 2, menu
   state(false)
   choice=0
   i=1
   repeat
      clear nil
      state(true)
      spritexy 33, 13+13*i, cursor
      refresh
      repeat
         wait(5)
      until key(5) or key(39) or key(38) or key(36) or key(44)
      if key(39) and i>1 then i=i-1
      elseif key(38) and i<3 then i=i+1
      elseif key(5) then choice=i
      elseif key(36) or key(44) then choice=4
      end
   until choice~=0 -- end of the menu
-- game
function game()
   repeat
      intro()
      load_map()
      clear nil
      draw_map()
      state(false)
      loop=0
      repeat
         clear nil
         state(true)
         spritexy map_info[3]+4*block[1]+4*block[2]+block_size[block[3]][1],map_info[4]+4*block[2]-3*block[1]+block_size[block[3]][2],sprite_block[block[3]]
         refresh
         repeat
            wait(5)
         until key(39) or key(40) or key(38) or key(37) or key(36) or key(44) or key(1)
         if key(1) then
         level=level+1
         loop=1
         elseif key(36) or key(44) then -- exit or menu
            loop=3
         else
            if key(39) then k=1
            elseif key(40) then k=2
            elseif key(38) then k=3
            elseif key(37) then k=4
            end
            block={block[1]+block_move[block[3]][k][1],block[2]+block_move[block[3]][k][2],block_move[block[3]][k][3]} -- move the block
            
            if block[1]==map_end[1] and block[2]==map_end[2] and block[3]==3 then -- winner
               level=level+1
               loop=1
               if level>9 then loop=3 end
            elseif ((block[2]-1)*map_info[1]+block[1])>=1 and ((block[2]-1)*map_info[1]+block[1])<=#map  -- looser
               and ((block[2]-1+block_pst[block[3]][2])*map_info[1]+block[1]+block_pst[block[3]][1])>=1
               and ((block[2]-1+block_pst[block[3]][2])*map_info[1]+block[1]+block_pst[block[3]][1])<=#map then
               if tonb(sub(map,((block[2]-1)*map_info[1]+block[1]),((block[2]-1)*map_info[1]+block[1])))==1
               or tonb(sub(map,((block[2]+block_pst[block[3]][2]-1)*map_info[1]+block[1]+block_pst[block[3]][1]),((block[2]+block_pst[block[3]][2]-1)*map_info[1]+block[1]+block_pst[block[3]][1])))==1 then
                  loop=2
               end
            else loop=2
            end
         end
      until loop~=0 -- end of the stage
      clear nil
      state(true)
      spritexy map_info[3]+4*block[1]+4*block[2]+block_size[block[3]][1],map_info[4]+4*block[2]-3*block[1]+block_size[block[3]][2],sprite_block[block[3]]
      refresh
      wait(10)
   until loop==3 -- end of the game
-- main
graydraw.setcolor(true)
repeat
   menu()
   wait(5)
   if choice==1 then
      level=1
      game()
   --elseif choice==2 then
   --elseif choice==3 then
   end
until choice==4
graydraw.setcolor(false)


It might be a bit corrupted ^^
Anything you recognize ?

Offline Nick

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1166
  • Rating: +161/-3
  • You just got omnom'd
    • View Profile
    • Nick Steen
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #10 on: August 02, 2012, 04:45:49 am »
Quote from: jimbauwens
Anything you recognize ?

nah, not really.. i think he would have asked me if he would have used it (which would have been quite normal)

could anyone place an animated screenshot or video of it? i want to see it working xp

Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: Bust-a-move on PRIZM, Bloxorz on 9860G
« Reply #11 on: August 02, 2012, 05:40:29 am »
FOr the collision, it's a bit simple, I'm using the formula for the sprite coords, and I use it for each bubble in the map.
The very first beta published was made in 2 days, I didn't have the ideas to optimize it.