Game Hangman dengan C++


Ada yang pernah memainkan permainan hangman? Permainan ini sebenarnya tidak sesadis namanya kalau diterjemahkan. Permainan ini hanyalah merupakan permainan tebak kata biasa, jadi bagi yang tidak familiar dengan namanya, bisa jadi telah memainkannya berulang kali. Bahkan, bisa jadi ini merupakan salah satu permainan favorit bagi beberapa orang tersebut.

Masih tidak familiar dengan permainan ini? Di google aja.. Smile

Ada yang pernah membuat permainan hangman? Bagi yang berminat untuk mencoba sebenarnya tidak susah untuk membuat game ini. Jika ada yang ingin melihat contoh, dapat melihat kode di bawah.

Kode di bawah dibuat menggunakan Microsoft Visual Studio Studio 2010 dengan bahasa Visual C++. Meskipun demikian, mengingat sifat C++ yang portable, dengan modifikasi minimum kode ini harusnya dapat berjalan pada compiler C++ manapun. Saya sendiri telah mencoba melakukan kompilasi dengan Bloodshed Dev-C++ dan hasilnya jalan dengan sempurna.

// HangMan.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const int wordLen = 5;
    char word[wordLen] = { 't', 'e', 'b', 'a', 'k' };
    char wordGuess[wordLen];
    bool success = false;
    int faults = 0;
    int maxfaults = 3;
    int correct = 0;
    char guessed = ' ';

    while(!success)
    {
        printf("---\n");
        for(int j=0;j<wordLen;j++)
        {
            bool hasPrint = false;
            for(int k=0;k<correct;k++)
            {
                if(word[j] == wordGuess[k])
                {
                    cout << word[j];
                    k = wordLen + 1;
                    hasPrint = true;
                }
            }
            if(!hasPrint)
            {
                printf("x");
            }
        }
        printf("\n");
        printf("Tebak huruf: ");
        cin >> guessed;
        bool correctguess = false;
        for(int j=0;j<wordLen;j++)
        {
            if(word[j] == guessed)
            {
                wordGuess[correct] = guessed;
                correct++;
                correctguess = true;
            }
        }
        if(!correctguess)
        {
            faults++;
            cout << "Tebakan salah";
        }        printf("\n");
        if(faults >= maxfaults)
        {
            return 0;
        }
    }
    cout << "Aplikasi selesai";
    return 0;
}

Catatan, bagi yang ingin mencoba kode ini pada compiler lain, perubahan yang dilakukan antara lain:

  1. Membuang baris #include stadfx.h
  2. Mengubah pemanggilan kelas main sesuai dengan compiler yang digunakan, sebagai contoh, ketika saya menggunakan Bloodshed Dev-C++ saya mengubah int _tmain menjadi int main

One thought on “Game Hangman dengan C++

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s