Git Product home page Git Product logo

fortknight's People

Contributors

0markhan avatar acenturyandabit avatar cethemaco avatar crazedowlbeast avatar dannie-zhang avatar fengdon3 avatar hackerfrosch avatar larue-jordan avatar lionturkey avatar nammopillai avatar poisonedpoi avatar pushpendersaini0 avatar roshak avatar theo-stefan avatar troothe avatar vasu-gondaliya avatar velialcypher avatar zetsubk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fortknight's Issues

Feature: Achievement categories

Currently all the achievemnts are lumped together.

  • Make a UI option so that achievements CAN be viewed by category (or by the current method of maximum progress).
  • Also while you're at it make a count of achievements got vs achievements to get.
  • You'll also need to change the achievement files so that new achievements and achievement categories can be added easily.

Arcade mode balancing

Arcade mode is fun, but it's way too easy right now!

  • Give pieces only 1 turn before spawning into a big piece
  • Make a countdown timer visible on screen for the enemy moves

Drastically simplify and improve Board-Generation

You can drastically improve the board generation if u just simplify the for-loops in main.js to

let board = document.querySelector('.board');
for (let i = 0; i < 7; i++) {
    for (let j = 0; j < 7; j++) {
        let d = document.createElement('div');
        board.append(d);
    }
}

and in styles.css you just add

.board > div:nth-child(odd) {
  background: black;
  color: white;
}
.board > div:nth-child(odd) > * {
  background: white;
}
.board > div:nth-child(even) {
  background: white;
  color: black;
}
.board > div:nth-child(even) > * {
  background: black;
}

wich selects all even and odd squares and colors them accordingly.
Then you just need to fix the background of the Start-Button and the background, but thats also an easy fix. Just add something like this in styles.css to give it a little bit of color and make the button a little bit prettier:

.boardModal {
	background: #ccc !important;
}
.boardModal > button {
	background: #616161 !important;
	color: #ccc;
	font-weight: bold;
	border: none;
	padding: 10px 30px;
	border-radius: 25px;
	box-shadow: 0px 0px 6px #000;
}

Ive already coded this but i didnt create a commit and pull request but either one who reads this can do it or im gonna do it tomorrow.

Hckf

Adding issue forms to the repo

I want to add a few issue forms so that it will be convenient for new contributors to open issues. I plan to create Bug Report, and Feature Request forms.

The Bug Report issue form will have the following fields

  • Description of the bug
  • How to Reproduce
  • Expected behavior

The Feature Request issue form will have the following fields

  • Is your feature request related to a problem? Please describe.
  • Describe the solution you'd like
  • Describe alternatives you've considered

Refactor to make more object-oriented

Currently all the movement for the pieces is in one big file. Instead, it would be nice to have the piece movement code split out into one class per piece.

Add achievements for pieces on board

Add a set of achievements for n pieces of the same type on the board:

coronation: 5 kings on the board at a time.
parapets: 5 rooks on the board at a time.
cathedral: 5 bishops on the board at a time.
bar fight: 5 pawns on the board at the same time.
barracks: 3 pawns on board at the same time, in non-drunk mode
stables: 5 knights on the board at the same time.
queens

  • endgame: 3 queens on the board at a time
  • no place to hide: 4 queens on the board at a time
  • helltaker: 5 queens on the board at a time

New gamemode: Short fuse

Like normal, but with 3 lives and a timer that causes you to forfeit if you do not move within the time limit.

Write some integration tests

Come up with an integration test framework which supports:

  • new contributors can check their changes don't break anything
  • automated CICD can check their changes don't break anything.

Keyboard controls

Allow the player to use the home keys to control the knight:

Q WE R
A SD F

QA move the knight two left and one up/down;
WE move the knight two up and one left/right;
SD move the knight two down and one left/right;
RF mofe the knight two right and one up/down.

Improved resize behavior

Currently, when on a desktop, going from fullscreen to 50% of screen by width creates a huge chessboard which is difficult to click. Instead, there should be a smaller board with some padding to the edge of the screen.

New game mode: Royals mode

In Royals mode, only kings and queens will spawn. However, kings cannot move to a square where they would be taken on the next move.

  • Implement this mode
  • Test if it is perhaps too hard...

New Game mode: Drunk pieces

Make a new gamemode where the pieces move randomly all the time, even if they can take the knight on the next turn.

Arcade mode

Create an Arcade mode where pieces move based on a timer, instead of in turn with the player. Perhaps the player could fit up to 2.5 moves in each piece move.

Improved UI for picking gamemode

Currently, to go from classic to a different game mode, you have to:

  • Forfeit your current game
  • NOT press the new game button
  • Switch to the game mode tab
  • press a button

I want that to be reduced to 1-2 steps tops, to make it easier for people to check out the other game modes.

Achievement modal upgrade

Upgrade the achievement modal so that it appears as a smaller modal on top of the screen that fades automatically.

In doing so, also update the n-slayer achievement so that kills where you are killed count towards total kills.

Enhancement: Add temporary achievement progress

Currently there are two ways of validating achievements: Either the achievement's progress is saved, or the achievement's progress is transient. For transient achievements, the progress bar doesn't show up.

Edit the transient acheivements checking function and associated data so that a progress bar for the acheivements shows up.

Formatting

Can add configs for formatting (Prettier, for example)?

You can also consider hooks for the git (Husky, for example), when, when pushing, the entire project is formatted to one style or does not allow pushing if the formatting is inappropriate.

This will improve the quality and make the code more uniform.

Create the achievements subsystem

Create a system that:

  • Creates a new 'achievements' tab
  • Stores these achievements along with the highscores in localstorage
  • integrates a system that checks whether certain conditions on the board are true
  • is extensible

Bug: Is Square Safe? Function

Make a function which, given a square index, checks whether or not the square is safe (if the knight will be taken on the next turn.)

Enhancement: Piece cornered achievements

image

Create a set of achievements for pieces that have been cornered, in the "Scores and Achievements" section. Whenever the game detects that there is a cornered piece, it should activate this achievement.

Bug: Keyboard triggers start on first load

Steps to Reproduce:

  1. Open/reload the page.
  2. Press Q,W,E,R,A,S,D or F.

Behaviour:
The game will start.

Desired behaviour:
The game should not start unless the user presses 'begin' first.

Achievement: Multi-Kills

I think having achievements that pop up whenever you kill multiple pieces in a row, would be a very great and natural addition

Bug: Switching to dark mode hides text

Steps to reproduce:

  1. Switch to dark mode
  2. Start a classic (or any) game.
  3. Lose.
  4. Go to the achievements screen - the text is hidden (black on black). Some text in the front is also hidden (black on black).

Fix by changing the CSS somehow.

Beautify CSS

Beautify the CSS-Code and use Tab-Indentation for better readability.

Project where the knight can move

Hey there, first of all I'd like to say im a big chess fan and this project is pretty cool!

i'd like to contribute to this project and add a little detail for the people that are not really familiar with the game.
My idea is to simply project where the knight is able to move on the board. For someone that can be an annoying thing so i will make it as nice as possible with of course the option to remove that visual.
Can I work on that please?
image

New achievement: n-slayer

Make a set of 3 achievements that celebrate 10 confirmed kills, 100 confirmed kills and 500 confirmed kills overall.

If you're down, also make one for confirmed kills per game!

Refactor to remove repetition

There's some repetition of tags in the code for the green move indicators. This along with other repetitions can be omitted by generating the img tags in javascript.

Pls owner contact me

contact me please on my email that i have in my bio, i'd like to ask tou a favor thanks!

Feature: Add pawns

Pawns always start on the 2nd row and move and take like standard pawns. If they reach the top row, they get promoted to queens!

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.