Coder Social home page Coder Social logo

jessy's Introduction

Jessy

Got something for me?!

Indeed, this is jessy, a totally kafkaeque chess game. This is the most awesome fuck you ever played, yo.

Idiot: I don't like chess.

What? Come on! Man, you're smart.

Okay folks, now for real. Hands on experience is the best way to learn. So I built this. Just to play around a little with that Java shit they tought us at uni. I know cool folks use C, but what do these guys know..

One more thing: this game is full of bugs an' shit. No, this is not bad. It's intended. Like I said dude: this thing is kafkaesque!!

Anyways, if you find any bugs: remove them! Make a pull request! We want to ship clean meth, no room for impurities here.

Example

Bootstrapping

Previously you needed to have Gradle installed.

We added the Gradle wrapper now, so you don't need it anymore. It is already distributed with this sourcecode. In the following text we will assume that you use the gradle wrapper ./gradlew if that is not the case, you just have to substitute that command with gradle.

Get it: git clone https://github.com/jubalh/jessy cd flux; git submodule init; git submodule update

Change directory: cd jessy

Compile: ./gradlew installApp

Run: ./build/install/jessy/bin/jessy

To create an Eclipse project type ./gradlew eclipse and add it to your workspace.

Use

Start it.

Jessy supports command completion, so press to see a list of all commands.

To start a game type start or start againstComputer depending against whom you want to play.

To move a figure just type the origin immediately followed by the destination. Like this: a2a3.

Now play and have fun!

jessy's People

Contributors

jubalh avatar flackbash avatar fluxroot avatar

Stargazers

Ng Wei En avatar JDV avatar  avatar  avatar

Watchers

 avatar James Cloos avatar JDV avatar  avatar  avatar  avatar

jessy's Issues

Fix castling moves

Right now castling moves consiste of only the king moving two spaces. The rook doesn't move at all. This is probably caused by the Hex88Board performing every move up to the present point and never checking if any of those are castling moves (and it doesn't check if they're valid moves either since that's been checked already) which results in the king moving two spaces.

Promoting a pawn not working.

It seems it's not validating properly the move that gets the pawn the opposite end of the board. I tried different alternatives and none of them work. Example:

jessy_crown

Queen not allowed to move horizontally.

This is a very weird bug. flux should be taking care of it, but the queen isn't allowed to move horizontally.

As far as I can tell, it can't move in any circumstance that way. Example:
queen

create unit tests

some unit tests would be great. so we can change code and can be sure we don't break anything.

fix the coordinates mess

There are two different types of coordinates.

  1. representing the indexing of the array (should be internal in Board only).
  2. representing the naming of a check board

Unfortunately there is a huge mess about this, since you dont know which kind of coordinates a Coord object stores.

Coordinates get translated from one way of interpretation into another via checkBoundaries() and was intended to get called in setFigure() and getFigure() and all other routines using those two methods.

By the way calling a method "checkBoundaries" and then manipulate data in it.. Don't ask me what I have been thinking there..

Unfortunately this didn't work out as planned. in Board::moveFigure() we input coordOld and coordNew, but change coordOld into matrix way of interpretation (as a side effect) by calling getFigure(), then we run canMove(figure, coordOld, coordNew).
But coordNew still is in check board notation.

let two users play

make it more game-like.
alternately ask users to make a move. check if move is possible (depends on issue #1 ) , if yes do it, if no let the same user type again.

Multiline prompt

would be better if its like this:
start the game
tick:a1b1

with setUserMessage() we already add the text with /n but jline stips them away.
we should look into this, maybe there is a way to do it. otherways we could include jline source and just remove the stripping.

jline/jline2#154

add Jessie quotes

Yo! Mister White!

since it's a CHESS game calles JESSy, I would like to add quotes and hints to Breaking Bad, especially quotes of JESSie of course.

Feel free to add some.

use logger

use log4j instead of system.out.println

save games

log every move and save it to file.
maybe even playback mode. where user can watch a game played back from a file. typing next for the next move, or something like that.

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.