Giter Site home page Giter Site logo

Comments (8)

paddatrapper avatar paddatrapper commented on July 22, 2024

I've started working on this

from jadventure.

verhagen avatar verhagen commented on July 22, 2024

@paddatrapper on which code base are you doing this, as the hole text sending stuff, is quite different in my branch. Maybe easier to start from that branch, in case I clean up the things which can now be removed. and ask for an pull-request. See also #75
My idea is to completely remove the Messenger and QueueProvider as they are not necessary
See verhagen#6

from jadventure.

paddatrapper avatar paddatrapper commented on July 22, 2024

@verhagen good point... Think I'm going hang on with doing anymore until your stuff is sorted. That way I won't have to redo anything. I'll check it out. Should really be studying for my exams at the moment, so I can wait

from jadventure.

projectdelphai avatar projectdelphai commented on July 22, 2024

@verhagen what do you mean by the Messenger/QueueProvider is unnecessary? I think that it's not harder to work with than System.out.println() and they provide a very powerful foundation for the future (in terms of client/server functionality)

from jadventure.

verhagen avatar verhagen commented on July 22, 2024

@projectdelphai For now they add unnecessary complexity. If in the future there is need for some client-server stuff, it's best to think of that as a hole system (not only the message part). You will at least need commands sent back. So therefor I like to apply Clean Code rules. Saying make it as simple possible, where it just works. This is also the best point starting point for when client/server would be implemented. Not that some idea's are forced in some direction, because some things have it already implemented in that way. And who says there will be any client-server stuff in the coming year? If it's not happening soon, then everyone reading the code, need the see and understand this future idea, for C-S stuff. So for me there are to many points why it should (at least at this moment) not be in, That I would prefer to remove it. Keeping the code as simple as possible.
First lets implement more of the real basic ideas, of the game engine, like the (un-)equip armour, calculate a battle/fight etc etc. And do that with nice unit tests.
These ideas are not my own, they can be found in The Clean Coder only trying to apply them.
Or in one of the earlier prints of The Clean Coder - 2011: Clean Code - 2008 and Code Complete - 2004.

from jadventure.

projectdelphai avatar projectdelphai commented on July 22, 2024

In terms of simplicity though, it isn't that complex

All you have to do instead of System.out.println() is QueueProvider.offer(). New contributors never venture into the Queue/Messenger classes/implementations other than to import QueueProvider and offer the text instead of println it. If you're looking for complexity, I would venture a statement that the command and menu portion of the game are MUCH more complicated and more likely to confuse a new contributor than the messenger sections. All removing would do is make it harder to build up again later in the future. The reason that we implemented it early was so we had the foundation for later rather than having to force it in later (it's been noted that changing a local game into a networking game is much harder once the code is set in it's ways)

And it is already being implemented. Before activity died down a couple months ago, I was using/setting up a client/server implementation. I can't remember how far I got but I'm pretty sure than on a local branch I was either already there or really close to setting up a simple PoC of a remote client.

from jadventure.

projectdelphai avatar projectdelphai commented on July 22, 2024

see this thread for the main discussion. There was also plans for an input method as well however, I'd need to find my old code for it.

from jadventure.

projectdelphai avatar projectdelphai commented on July 22, 2024

fixed by paddatrapper on merge 2e8228c

from jadventure.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.