So, I've started down the path of C programming for the CE. Luckily for me, I've got some C code sitting around that's easily ported from when I was working on the Prizm. To that end, I've started porting my Game of Life program. Here's a pic!


I've still got some kinks to work out, and functionality to add, but I just wanted to show off what I've got! Many thanks to Mateo and Tari for their assistance.

Edit: Weird blinking is just because of the emulator. It runs smoothly on my calc.
Looks cool! Now if I only knew exactly what you meant by Game of Life, I would understand! Razz
Good luck on your CE programming! As it's the only calculator I own, I'm looking forward to this! Very Happy
Dudeman313 wrote:
Looks cool! Now if I only knew exactly what you meant by Game of Life, I would understand! Razz
Good luck on your CE programming! As it's the only calculator I own, I'm looking forward to this! Very Happy

Here is an example: http://www.bitstorm.org/gameoflife/
It's a cellular simulation, and rules are on the page above.
Awesome work! I've also created a cellular automation simulator in assembly, though it is still incomplete. (The functionality is there, just the UI is not.) I can't wait to see where this goes.

Dudeman313 wrote:
Looks cool! Now if I only knew exactly what you meant by Game of Life, I would understand! Razz
Good luck on your CE programming! As it's the only calculator I own, I'm looking forward to this! Very Happy


Conway's Game of Life is a variant of cellular automation. Cellular automation (also called a state machine) is a simulation where there is a grid of square cells, each of which can be one of several states. (In Life, there are just two: on and off.) Each "tick" or "time step" the cells all simultaneously observe their neighboring cells (usually 8 surrounding ones) and use those, in addition to its own state, to determine the next cell state. (If you want a good cellular automation simulator for your computer to try messing around with stuff, I recommend Golly. It takes some getting used to, but is extremely fast and powerful and very fun Wink)
Oh. Cool! Now I'm more enthusiastic about this project! Can't wait to play it! I hope everything goes well!
Wow, this looks great, Merth! I'm glad to see two people this week succeeding in relatively easily porting C programs from the Prizm to the CE; it makes me hopeful that I'll be able to do the same with some of my Prizm projects. What kind of functionality do you plan to add? Modifiable colors and possibly settable rules, perhaps?
Do you support different cross-boundary topologies? That can be a lot of fun to play with.
Great to see, Merth!
KermMartian wrote:
What kind of functionality do you plan to add? Modifiable colors and possibly settable rules, perhaps?
Those are the next two things I want to add, since the Prizm one had those and that means I have the code for it Razz

elfprince13 wrote:
Do you support different cross-boundary topologies? That can be a lot of fun to play with.
Currently, in this version and the Prizm one, I don't--though I do remember you suggesting that before Very Happy. I don't plan on adding that in for now.
I thought I remembered pestering you about this before. Oh well Smile
I agree it would be a cool feature! I encourage you to add it on once this is released Razz
You don't already have a repository of some kind do you?
Nope, but I could throw one up when I get home.
Yay!
Here you go, elfprince!

https://bitbucket.org/merthsoft/gol-84-ce

For what you want to do, Step() is probably the function you want to start in.
So my thought is to add a function which takes pairs of array indices and remaps them based on an active rule set. This should leave nearly the entire rest of your program logic intact. I'll see about a prototype tomorrow afternoon.
Very nice!

Every platform needs a GoL, very glad you got it working Smile.
Here's a glider on a Klein Bottle:


[edit]

And for extra wacky fun, here's one the projective plane:
Well, that messes with my head! Great work Smile Thanks for your contributions!
Ok, I created a Pull Request for you. I would suggest that any UI menus you add display which squares have boundary conditions for each board configuration. For a standard plane, it's all boundaries. For the ring and mobius strip, it's the top edges. For the sphere and projective plane, it's the corners only. For the torus and the klein bottle, there are no special boundary conditions.


[edit]
Here's the sphere:
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement