Giter Club home page Giter Club logo

kings-in-the-corner's Introduction

Kings in the Corner

Developed by Aidan Denlinger, Rohin Garg, Amber Olsen, and Mayank Sharan (Group 42). This is a course project for CSE 230 | Fall 2022 | UCSD.

Background

The rules of Kings in the Corner can be found here, and a video explanation can be found here.

Goals

Our goal is to develop a 2-4 player networked game of “Kings In The Corner” using Haskell. The terminal interface should make it easy to learn the rules, display the controls and start a game. The game should be navigable with the arrow keys and enter button to select cards and piles. It should be easy to start and join a multiplayer game from the menu. If time permits, we will also develop an AI player to allow for single player local play.

Basic UX

  • Welcome screen with toggle options for local / networked, number of players, rules of the game, controls
  • Game screen with cards similar to the solitaire project linked below
  • A completion screen with options to exit or start over

Libraries and references

Tentative Timeline

Task Duration Week
Basic Setup & Design 2 days Week 7
Starter code 2 days Week 7
Testing & Build Setup 2 days Week 8
Local 2 player game 3 days Week 8
Local 2 - 4 player game 2 days Week 9
Networked game 3 days Week 9
AI for local play 3 days Week 10
Bug fixes, completion 2 days Week 10
Demo / Presentation prep 2 days Week 10

kings-in-the-corner's People

Contributors

aidandenlinger avatar amber3536 avatar sharanmayank avatar

Stargazers

 avatar

Watchers

 avatar

kings-in-the-corner's Issues

Create datatypes for the game state

Create an object to hold game state. Would entail objects like Cards, piles of cards, current player, etc. Holds everything that needs to be known and/or rendered by the game. How are cards represented? How are we representing each of the 8 piles? How are we representing the deck each player is holding? What card or pile is the player currently looking at? Try not to hardcode 2 players, so that extending it to 4 players isn’t miserable.

Once all the objects are created, can start working on basic utility functions (ex, shuffle function to return a permutation of a deck of cards, initalize a game state object, etc)

Learning the Brick Libary

Learn how the Brick library works by reading documentation and doing simple demos, so once we have objects for the game state we have familiarity with the library to render the game.

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.