Skip to content

Permainan Kartu ala Kerajaan Permen dengan Konsep OOP

Notifications You must be signed in to change notification settings

rifqifarhansyah/Tubes1_OOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tugas Besar 1 - IF2210 - OOP

🃏 Permainan Kartu ala Kerajaan Permen dengan Konsep OOP 🃏


Table of Contents

  1. General Info
  2. Creator Info
  3. Features
  4. Technologies Used
  5. Setup
  6. Usage
  7. Screenshots
  8. Structure
  9. Project Status
  10. Room for Improvement
  11. Acknowledgements
  12. Contact

General Information

Permainan Kartu ala Kerajaan Permen merupakan permainan yang terdiri atas 7 pemain. Pemain mula-mula akan diberikan 2 kartu dan secara bergantian mencoba untuk membentuk kombinasi agar dapat memenangkan permainan. Poin awal tiap pemain adalah 64 dan akan bertambah atau berkurang seiring permainan. Pemain yang terlebih dahulu mendapatkan 2^32 poin akan memenangkan pertandingan. Projek ini digunakan untuk memenuhi tugas dari mata kuliah IF2210 - Pemrograman Berorientasi Objek yang ditulis dalam bahasa pemrograman C++.

Creator Information

Nama NIM E-Mail
Ahmad Ghulam Ilham 13521118 13521118@std.stei.itb.ac.id
Muhammad Naufal Nalendra 13521152 13521152@std.stei.itb.ac.id
Muhammad Dhiwaul Akbar 13521158 13521158@std.stei.itb.ac.id
Sulthan Dzaky Alfarozi 13521159 13521159@std.stei.itb.ac.id
Mohammad Rifqi Farhansyah 13521166 13521166@std.stei.itb.ac.id
Muhammad Habibi Husni 13521169 13521169@std.stei.itb.ac.id

Features

  • Pemain dapat memberikan input untuk memilih nama yang akan digunakan dalam permainan.
  • Pada setiap ronde, pemain dapat melakukan sebuah command tertentu.
  • Di ronde pertama, pemain hanya dapat melakukan command NEXT.
  • Pemain dapat melakukan command tertentu, kecuali command ABILITY yang tidak dimiliki oleh pemain tersebut.
  • Setiap command yang dilakukan dan tidak valid, akan menghasilkan error message yang sesuai.

Technologies Used

  • Make
  • G++

Note: The version of the libraries above is the version that we used in this project. You can use the latest version of the libraries.

Setup

  1. Install make dan g++ di dalam sistem Anda dengan cara:
sudo apt-get install make
sudo apt-get install g++
  1. Apabila anda menggunakan WSL di dalam sistem Windows, maka anda dapat mengunduhnya melalui Microsoft Store.
  2. Anda tetap harus menginstall make dan g++ di dalam WSL sistem Anda dengan cara:
sudo apt-get install make
sudo apt-get install g++

Usage

LINUX

Note: Untuk menjalankan program ini, Anda harus memiliki make dan g++ yang sudah terinstall di dalam sistem Anda.

  1. Clone repository ini ke dalam direktori lokal Anda, dengan cara:
git clone https://github.com/rifqifarhansyah/Tubes1_OOP.git
  1. Masuk ke dalam direktori Tubes1_OOP yang telah Anda clone, dengan cara:
cd Tubes1_OOP
  1. Jalankan program dengan makefile:
make
  1. Apabila muncul pesan : Enter folder:, maka masukkan folder bernama Game.
  2. Program akan berjalan.

WINDOWS (VS Code)

Note: Untuk menjalankan program ini, pastikan anda memiliki WSL yang sudah terinstall di dalam sistem Anda.

  1. Clone repository ini ke dalam direktori lokal Anda, dengan cara:
git clone https://github.com/rifqifarhansyah/Tubes1_OOP.git
  1. Masuk ke dalam direktori Tubes1_OOP yang telah Anda clone, dengan cara:
cd Tubes1_OOP
  1. Tekan Ctrl + Shift + P untuk membuka Command Palette.
  2. Pilih WSL: Reopen folder in WSL.
  3. Buat terminal baru pda VSCode.
  4. Masukkan perintah berikut:
make
  1. Apabila muncul pesan : Enter folder:, maka masukkan folder bernama Game.

Screenshots

Gambar 1. Awal Permainan

Gambar 2. Input Nama Pemain

Gambar 3. Notifikasi Pergantian Permainan dan Ronde

Gambar 4. Exception Input Tidak Valid

Gambar 5. Eksekusi Command

Structure

│   .gitignore
│   main.cpp
│   makefile
│   README.md
│
├───.vscode
│       settings.json
│
├───config
│       config.txt
│
├───docs
│       IF2210_TB_HPC.pdf
│
├───image
│       SS1.png
│       SS2.png
│       SS3.png
│       SS4.png
│       SS5.png
│
└───lib
    ├───Ability
    │   │   Ability.cpp
    │   │   Ability.hpp
    │   │   Abilityless.cpp
    │   │   Abilityless.hpp
    │   │   Quadruple.cpp
    │   │   Quadruple.hpp
    │   │   Quarter.cpp
    │   │   Quarter.hpp
    │   │   ReRoll.cpp
    │   │   ReRoll.hpp
    │   │   ReverseDirection.cpp
    │   │   ReverseDirection.hpp
    │   │   SwapCard.cpp
    │   │   SwapCard.hpp
    │   │   SwitchCard.cpp
    │   │   SwitchCard.hpp
    │   │
    │   └───test
    │           AbilityTest.cpp
    │
    ├───AbstractClasses
    │   │   InventoryHolder.hpp
    │   │   ValuedObject.hpp
    │   │
    │   └───test
    │           InventoryHolderInt.hpp
    │           InventoryHolderTest.cpp
    │
    ├───Card
    │   │   Card.cpp
    │   │   Card.hpp
    │   │
    │   └───test
    │           Cardtest.cpp
    │
    ├───Combination
    │   │   Combination.cpp
    │   │   Combination.hpp
    │   │   Flush.cpp
    │   │   Flush.hpp
    │   │   FourOfAKind.cpp
    │   │   FourOfAKind.hpp
    │   │   FullHouse.cpp
    │   │   FullHouse.hpp
    │   │   HighCard.cpp
    │   │   HighCard.hpp
    │   │   Pair.cpp
    │   │   Pair.hpp
    │   │   Straight.cpp
    │   │   Straight.hpp
    │   │   StraightFlush.cpp
    │   │   StraightFlush.hpp
    │   │   ThreeOfAKind.cpp
    │   │   ThreeOfAKind.hpp
    │   │   TwoPair.cpp
    │   │   TwoPair.hpp
    │   │
    │   └───test
    │           CombinationTest.cpp
    │
    ├───Exception
    │       cardException.cpp
    │       cardExceptionInterface.hpp
    │       comboException.cpp
    │       comboExceptionInterface.hpp
    │       commandException.cpp
    │       commandExceptionInterface.hpp
    │       exception.cpp
    │       exceptionInterface.hpp
    │       fileException.cpp
    │       fileExceptionInterface.hpp
    │       inputException.cpp
    │       inputExceptionInterface.hpp
    │       inventoryException.cpp
    │       inventoryExceptionInterface.hpp
    │       playerCardException.cpp
    │       playerCardExceptionInterface.hpp
    │       tableCardException.cpp
    │       tableCardExceptionInterface.hpp
    │
    ├───Game
    │   │   Game.cpp
    │   │   Game.hpp
    │   │
    │   └───test
    │           GameTest
    │           GameTest.cpp
    │
    ├───IO
    │   │   command.cpp
    │   │   commandInterface.hpp
    │   │   consoleIO.cpp
    │   │   consoleIOInterface.hpp
    │   │
    │   └───test
    │           consoleIOTest.cpp
    │
    ├───MainDeck
    │   │   MainDeck.cpp
    │   │   MainDeck.hpp
    │   │
    │   └───test
    │           MainDeckTest.cpp
    │
    ├───Player
    │   │   Player.cpp
    │   │   Player.hpp
    │   │
    │   └───test
    │           PlayerTest.cpp
    │
    ├───TableCard
    │   │   TableCard.cpp
    │   │   TableCard.hpp
    │   │
    │   └───test
    │           TableCardTest.cpp
    │
    └───TemplateFunction
            TemplateFunction.hpp

Project is: complete

  • Menambahkan fitur-fitur lainnya.
  • Thanks To Allah SWT

Contact

Contact Us : HiperC++
2023


About

Permainan Kartu ala Kerajaan Permen dengan Konsep OOP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published