Project Snake

An area for asking questions, making suggestion, share ideas and place circuit examples.
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

It will oscilate when I open the "Schakeling5" circuit or if I disconect it from the screen like the picture.
Image

And when I sayd without the randomizer it was like this:
Image and with is like this:Image
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

So, It was almost a Year since I last posted progress in my project. This was mainly because of school and stuff related to it :cry: .
But I have found the time again and I have worked a few weeks on my randomiser and apple eating. It is now working almost like I want to. The only touch left is making Snake grow when it eats the apple.

I have changed a lot in my overall design for easier working and assembly. The main screen I used to have is no longer in use. I made a completely new test set-up with a lot of buttons, lights and other stuff to make it a whole lot easier to do the testing of each change.

PS: The core design stays unchanged. It still uses a lot shifters aside from each other to make snake move.
Attachments
Project Snake 2.0.CircuitProject
(2.03 MiB) Downloaded 424 times
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

A little glitch in the feedback for my randomiser has been solved.
It took me quite some time to figure out how to solve it since I forgot how it all worked T.T

Now I'll start working on Snake growing when he eats an apple.
Attachments
Project Snake 2.0.CircuitProject
(2.19 MiB) Downloaded 361 times
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

Jeey, Snake gets longer when it eats an apple :D
Now I put 4 screens aside from each other to work on the apple placer on only one screen but it turns out that Snake will lose a half tick when it chances screen. Can you take a look at it to see if you can figure out why it loses that half tick?

It opens on the Multi Screen Test Setup. I have tested the circuit on single screen an that way it worked perfectly for me:)
Attachments
Project Snake 2.0.CircuitProject
(2.21 MiB) Downloaded 364 times
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

Ah, Sometimes the answer is pretty obvious.... Fixed the clock issue.

But I think that I have to stop soon as my circuit gets heavier and heavier. I just got some issues with the program when I tried to start my circuit.

I'm currently working on my final version of my circuit. The only things I need to do are:
Making only 1 apple on the whole screen in stead of each block,
Adding Game Over circuit
Making walls

I hope to put my final version will be posted here at may 27th.
User avatar
admin
Site Admin
Posts: 406
Joined: Sun Jun 14, 2009 10:53 pm
Contact:

Re: Project Snake

Post by admin »

What issues do you have with the program?
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

When turning on the power logic circuit just stopped working. When I looked at taskmanager it showed a bigger increase of memory needed for it than usual. But I think that's just because of the enormous amount of flipflops that has to be activated. There are 4096 rs flipflops and 20480 jk flipflops just for letting snake move properly on the screen.
But I don't have this every time I start the circuit.
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

And this is some more of the issues I encounter.
For some reason can I make a wire a 3 bit with signal when it is between a button and a 1 bit output.

Or it it says: "Object reference not set to an instance of an object." While is clearly goes to an or gate.

This is the detail of the error.
System.NullReferenceException: Object reference not set to an instance of an object.
at LogicCircuit.WireDisplayControl.GetState()
at LogicCircuit.WireDisplayControl.WasChanged()
at LogicCircuit.WireDisplayControl.TimerTick(Object sender, EventArgs e)
at LogicCircuit.WireDisplayControl.Start()
at LogicCircuit.EditorDiagram.SymbolMouseDown(Symbol symbol, MouseEventArgs e)
at LogicCircuit.EditorDiagram.DiagramMouseDown(MouseButtonEventArgs e)
at LogicCircuit.Mainframe.DiagramMouseDown(Object sender, MouseButtonEventArgs e)

My circuit is attached so you can look if I did something wrong here or there is an error in the program.
Attachments
Project Snake 2.0.CircuitProject
(2.9 MiB) Downloaded 339 times
Screenshot_4.png
Screenshot_4.png (4.92 KiB) Viewed 90733 times
Screenshot_3.png
Screenshot_3.png (24.81 KiB) Viewed 90733 times
User avatar
admin
Site Admin
Posts: 406
Joined: Sun Jun 14, 2009 10:53 pm
Contact:

Re: Project Snake

Post by admin »

Oh,
That is bad. I will have a look.
Can you please let me know what version do you use and what is causing the error message to pop up?
I also noticed you use both JK and RS flip=flops. Your JK are working on the falling edge of the clock. while your RS are working on the hi clock input. That can actually cause a problems in your circuit. Second why do you use flip-flops instead of RAM? I suspect if you move your memory to RAM it will work much faster.
User avatar
superryan94
Posts: 53
Joined: Sat May 09, 2015 5:59 am
Location: Rotterdam The Netherlands

Re: Project Snake

Post by superryan94 »

I use version 2.15.3.24

I know the difference between the JK and RS flip flops. But I needed to use both of them to make it work properly. I tried to work with only JK's or RS'(which would end up as jk) and figured that this is the best way.

The reason I don't use a ram is really simple actually, I don't understand that thing:P I have learned to work with basic logic gates and figured that I should be able to make about all the old games there are.

But I can increase the speed in the control pad. There is a clock speed divider that makes a 32 Hz a 1 Hz signal. The 1 Hz is for snake to move and the 32 is for the rondomisers that put the apple on the screen. If I keep the randomisers and snake at the same clock speed than it could take a huge amount of time before a new apple appears when snake is longer 250 blocks.
Post Reply