Membuat Game Mencocokan Objek dengan C++ (Part 4)

dokumen-dokumen yang mirip
Membuat Game Mencocokan Objek dengan C++ (Part 4)

Membuat Game Mencocokan Objek dengan C++ (Part 3)

Membuat Game Mencocokan Objek dengan C++ (Part 1)

Membuat Game Mencocokan Objek dengan C++ (Part 1)

Membuat Game Mencocokan Objek dengan C++ (Part 2)

Bekerja Dengan Lembar Kerja Excel

Shortcut Keyboard Pada Windows

Latihan 1: Mengoperasikan Excel

Modul 3 Pembuatan Form dengan Wizard dan Penambahan kode VBA

MENU DAN TOOLBOX. Menu PopUp merupakan pengembangan dari menu yang ditampilkan di luar form, lepas dari menu bar.

MEMBUAT APLIKASI MENGGUNAKAN MICROSOFT ACCESS

Microsoft Word Bagian I

Entri dan Modifikasi Sel

Keterampilan Komputer dan Pengolahan Informasi (KKPI) Kenali Fungsi Tombol pada Keyboard Leptop/ Komputermu

MENGENALI LAYAR KERJA MICROSOFT WORD 2007

BAB 1 Membuat dan Menyimpan Dokumen Sederhana Pada Bab ini anda akan mempelajari cara : Memulai Open Office Writer 1.

DASAR-DASAR PENGETIKAN DAN EDITING Oleh Ade Sobandi Hendri Winata Rasto

Modul Praktikum Basis Data 11 Membuat Menu dengan Form

Flexi Conference Client User Manual

TIK CERDA S. Adobe Photoshop MODUL ADOBE PHOTOSHOP TIK CERDAS. TIK CERDAS Surabaya, Indonesia

1. MENGENAL VISUAL BASIC

Bab 2 Entri dan Modifikasi Sel

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder

Ahmad Zidni, S.T. SMK Gondang 2011

Modul ke: Aplikasi Komputer. Microsoft Word. Fakultas TEKNIK. Muhammad Rifqi, S.Kom, M.Kom. Program Studi. Ilmu Komputer.

BAB 4 MEMBUAT LIST OF VALUE (LOV) DAN NON-BASE TABLE FIELDS

Aplikasi Komputer. Microsoft Word 2010 (Bag 1) Amin Shabana. Modul ke: Fakultas Ilmu Komunikasi

PERTEMUAN 1 PENGENALAN MICROSOFT OFFICE WORD 2007

Modul Praktikum 2 Dasar-Dasar Teknologi Informasi dan Komunikasi. Mengolah Kata Dengan Microsoft Word (1)

Praktikum 6 SubForm dan Kode VBA

Pemrograman Visual Modul I Perkenalan Lembar Kerja VB 6.0. S. Thya Safitri

Bab 15 Menggunakan Menu Navigasi Berupa Switchboard dan Form

merge to new document

BAB I MENGENAL PLANNER

FLASH, FRAME, BEHAVIOR

Lembar kerja access Title bar merupakan judul dari jendela program atau nama file yang sedang aktif Tombol office merupakan tombol yang menampung

PERTEMUAN 8: MENGOPERASIKAN DASAR DASAR MICROSOFT OFFICE EXCEL 2007

LAMPIRAN MODUL 3 PERANCANGAN SISTEM INFORMASI

Membuat Tombol Enter dengan Menggunakan Adobe Photoshop Oleh : Tomy Meilando

Mengenal Microsoft Word

Otodidak VBA MS Excel untuk Pemula

Program Piano 1 Oktaf

Tombol Jalan Pintas (Shortcut) Pada Keyboard

Membuat dan Menyimpan Dokumen Sederhana

Tutorial singkat MICROSOFT EXCEL 2010

Cara Membuat Halaman di Word 2007

Microsoft PowerPoint 2003

PANDUAN PRAKTIS MICROSOFT WORD 2007

Media Power Point 2 Materi PowerPoint (2)

SOAL ULANGAN UMUM TAHUN

No Tombol Keterangan 9. [Home] Memindah pointer ke kolom A pada baris yang 10. [End] Memindah pointer ke data terjauh di kanan pointer pada baris yang

PENGENALAN APLIKASI STATISTICAL PRODUCT AND SERVICE SOLUTIONS (SPSS)

E-Trik Visual C++ 6.0

MENGELOLA TEKS DALAM KOLOM DAN TABEL

Soal Mid Semester II Th 2010/2011

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 2 Ahmad hidayat. Keterampilan Komputer 2B** Pertemuan 2

Microsoft Excel. I. Pendahuluan

Ginanjar Utama Workbench Tempat Bekerja

Halaman Pada website builder sitepad

MICROSOFT OFFICE POWERPOINT

Teori dan fungsi-fungsi dalam MS. Word 2010

EXCEL PAGE LAYOUT. Copyright Asep Herman Suyanto

Mengelola Data Excel dengan Sort dan Filter

MICROSOFT WORD Baris Judul. Drawing Toolbar

1 Pendahuluan. 1. Tujuan: 2 Dasar Teori: Praktikum

MODUL PRAKTIKUM 1 DASAR VISUAL BASIC 6.0

[Type the document. title] subtitle] rinei

MEMBUAT DAFTAR ISI OTOMATIS DENGAN MICROSOFT WORD 2007

Instalasi Visual Studio 2008 Profesional(64 dan 32 bit) di windows 7

LATIHAN SOAL PERSIAPAN UTS DAN UAS GENAP KELAS 8 1. Microsoft Excel merupakan program aplikasi A. Spreadsheet C. Wordprosesor B. Presentation D.

MACROMEDIA FLASH. 1.1 Mengenal interface Macromedia Flash 8. Panel. Timeline Stage. Properties. Animasi Sederhana dengan Macromedia Flash 1

BAB III MICROSOFT WORD

APLIKASI KOMPUTER. Pokok Bahasan : MS. Excell 2010 (Bagian 2) Anggun Puspita Dewi, S.Kom., MM. Modul ke: Fakultas MKCU

ORIENTASI HALAMAN, PAGE MARGIN, PAGE BREAKS, HEADER, FOOTER, PAGE NUMBER, BULLETED DAN NUMBERED SERTA DROP CAP

BAB I SEKILAS VISUAL STUDIO.NET 2008

BAB VII PERANGKAT LUNAK PENGOLAH TEKS

FORMULA BAR (F2) FORMAT CELL SORT FORM FILTER PIVOT FILL AUTOFORMAT

Header-Footer, Preview dan Cetak Dokumen

PEMBUATAN MENU dengan MENU EDITOR

Bab I Pengenalan Visual BASIC

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA

PETUNJUK PENGGUNAAN APLIKASI

2.1 Membuat Aplikasi Berbasis Dialog Dengan Wizard

Modul Training Microsoft Excel. (Advance)

Aplikasi Komputer. Microsoft Office 2010 Microsoft Office Word 2010 Part 1. Miftahul Fikri, M.Si. Modul ke: Fakultas Ekonomi dan Bisnis

Pengenalan. Microsoft Access. TI3007 Praktikum Perancangan Sistem Terintegrasi III. Perancangan Basis Data

I. KEGIATAN BELAJAR 1

EXCEL MENGEDIT DAN FORMAT TEKS/PARAGRAF

Kata Pengantar. Setelah mempelajari buku Student Guide Series Microsoft Office Word 2007 ini, diharapkan pembaca dapat:

PENGGUNAAN MENU DAN IKON PADA PERANGKAT LUNAK PENGOLAH ANIMASI

BAB VII. Pengenalan Menu Editor Dan Proses Pembuatan Serta Penggunaan Multi Form

FLASH DASAR-DASAR ANIMASI

BAB 2 Membuat dan Menjalankan Form dengan Single Block

MENGENAL DAN BEKERJA DENGAN PROGRAM PENGOLAH ANGKA (MS. EXCEL) Oleh EDI SETIAWAN

DEPARTEMEN AGAMA MADRASAH TSANAWIYAH NEGERI NGABLAK Jalan Ngablak-Mangli Km. 0 Ngablak Telepon KABUPATEN MAGELANG 56194

BAB I Menggunakan menu ikon yang terdapat dalam perangkat lunak pengolah angka

Trik-Trik Menarik dalam Menyusun Data Seri

Membuat Game Mencocokan Objek dengan C++ (Part 5)

Ketika jendela Microsoft Word dibuka, maka secara otomatis akan disediakan 1 buah dokumen baru. Untuk menambahkan dokumen baru, caranya :

Spesifikasi: Ukuran: 14x21 cm Tebal: 68 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Transkripsi:

Membuat Game Mencocokan Objek dengan C++ (Part 4) Oleh: Sendy PK Pada tutorial kali ini kita akan fokus pada menambahkan customizability ke game melalui menu, termasuk menambahkan tingkat kesulitan. Untuk melakukan hal ini, kita akan memperbarui menu yang disertakan dengan MFC Application Wizard, menambahkan perintah baru dan mengatur event handler untuk mereka. Setel... Pada tutorial kali ini kita akan fokus pada menambahkan customizability ke game melalui menu, termasuk menambahkan tingkat kesulitan. Untuk melakukan hal ini, kita akan memperbarui menu yang disertakan dengan MFC Application Wizard, menambahkan perintah baru dan mengatur event handler untuk mereka. Setelah beberapa latihan, game dengan hanya tiga warna cukup mudah untuk memecahkan sehingga dalam artikel ini kita akan menambahkan tingkat baru kesulitan. Kita dapat melakukan ini dengan hanya menambahkan lebih banyak warna. Tambahkan pilihan menu baru Anda dapat memunculkan view sumber daya dari Menu View di Visual Studio dan kemudian, other menu-> Resource View atau shortcut keyboard Ctrl + Shift + E. Lalu akan tampil window seperti gambar di bawah ini. Buka menu pada menu editor dengan mengklik dua kali pada pilihan IDR_MAINFRAME di bawah Menu. Menu Editor akan memungkinkan kita untuk menambahkan, menghapus and mengedit pilihan menu. Klik pada menu file dan akan drop down menu. Hapus semua pilihan kecuali untuk "New" dan "Exit" seperti yang ditunjukkan pada gambar di bawah. Lakukan ini dengan mengklik pilihan dan menekan tombol delete.

Berikutnya kita akan mengdit menu. Pada tutorial yang terakhir kita akan membahas cara membuat tumpukan Undo / Redo untuk game jadi mari kita tambahkan opsi redo ke menu edit dan hapus semua yang lain kecuali untuk undo. Setelah kita hapus opsi yang tidak diinginkan, klik pada area "Type Here" di menu Edit dan ketik seperti gambar di bawah ini. Berikut penjelasan masing-masing bagian dari string "& Redo \ tctrl + Y. Pertama sinyal ampersand ke menu apa yang hot-key untuk pilihan menu tersebut. Hot-key adalah karakter setelah ampersand, R dalam kasus ini. Ini akan memungkinkan kita untuk menekan Alt + E untuk membuka menu Edit kemudian tekan R untuk memilih opsi Redo. Karakter tab di menu menempatkan tab antara nama pilihan menu dan tombol akselerator. Lihatlah pilihan Undo untuk melihat tab dalam tindakan. Kunci accelerator adalah seperangkat key stroke yang akan menyelesaikan tugas yang sama dengan mengklik pilihan menu. Kita akan menggunakan Windows standar Ctrl + Y untuk redo. Kita akan menambahkan event handler dan kode mendukung dalam tutorial selanjutnya. Tambahkan menu baru dengan mengklik "Type Here" di atas dalam menu bar. Ketik "& Level" untuk menambahkan menu Tingkat. Setelah menekan Enter kita dapat memindahkan menu di sebelah kiri menu Help dengan hanya mengklik menu dan menyeretnya ke kiri. Sekarang kita akan tambahkan dalam pilihan menu. Kita ingin memungkinkan pengguna untuk memilih tingkat yang berbeda dari tiga sampai tujuh warna. Tambahkan opsi lima menu berikut yang terlihat di bawah. Yang pertama

berisi teks "& 3 Warna" dan seterusnya. Tambahkan "& Setup" menu dan pindahkan ke kiri menu Help. Kemudian tambahkan "Block & Ukuran..." dan "Block & Hitung..." pilihan. Perhatikan tiga periode setelah nama pilihan, yang merupakan standar untuk sistem menu untuk menunjukkan bahwa akan ada jendela lain untuk popup. Sekarang kita akan fokus pada menu Level dan Option yang kita akan kita tambahkan. Setelah kita telah menambahkan pilihan menu kita dapat mengkompilasi dan menjalankan game dan melihat bahwa menu telah ditambahkan, tetapi belum dapat berfungsi Ketika kita mengklik pada pilihan menu program fires event yang menunjukkan menu yang pilihan terpilih. Kita hanya perlu untuk menangkap acara dengan sebuah event handler. Hal ini sangat mirip dengan penangan event yang kita bahas dan digunakan dalam artikel sebelumnya. Satu-satunya perbedaan adalah di mana kita menemukan aktivitas untuk pilihan menu. Kita mulai dari jendela properti dari CSameGameView dan klik pada "Events" tombol (bolt). Setelah kita klik akan tampil seperti pada gambar berikut ini.

Kita akan melihat pada bagian Menu Command Section daftar semua menu item Entri dalam format ID_ <MENU> _ <OPTION> mana <MENU> <OPTION> adalah teks dari pilihan menu. Expand tanda plus di sebelah opsi ID_LEVEL_3COLORS dan akan terlihat dua pilihan di bawahnya, COMMAND dan UPDATE_COMMAND_UI. Pilihan COMMAND adalah event handler untuk event sebenarnya memilih opsi menu. The UPDATE_COMMAND_UI adalah event kecil yang berfungsi mengubah keadaan pilihan menu. aktifkan / nonaktifkan atau centang / tidak centang pilihan menu. Dalam menu kita, kita akan ceklis tingkat yang telah kita pilih. Klik panah bawah di dropdown COMMAND dan pilih "Add". Kita ingin melakukan ini untuk UPDATE_COMMAND_UI juga. Pergi ke depan dan melakukannya untuk semua pilihan warna lalu

kita mulai menambahkan kode. Kita akan mulai dengan game board, pergi ke dokumen dan selesai dengan view. Pada file header SameGameBoard.h tambahkan new data member untuk melacak jumlah warna di bawah variabel m_nremaining. /* Number of colors */ int m_ncolors; Kita juga akan menambahkan dua fungsi untuk mendapatkan dan menetapkan jumlah warna. Menambahkannya ke bagian umum tepat di bawah fungsi DeleteBlocks. /* Functions to get and set the number of colors */ int GetNumColors(void) return m_ncolors; void SetNumColors(int ncolors) m_ncolors = (ncolors >= 3 && ncolors <= 7)? ncolors : m_ncolors; Fungsi dari SetNumColors adalah membatasi nilai yang ditetapkan untuk angka antara tiga dan tujuh, seperti pilihan menu kita. Kita tambahkan lebih banyak warna kita perlu memperbarui m_arrcolors array untuk membuatnya lebih besar /* List of colors, 0 is background and 1-7 are piece colors */ static COLORREF m_arrcolors[8]; Sekarang dalam source file untuk game board kita akan memperbarui beberapa fungsi dan warna array. Kita perlu memperbarui konstruktor untuk menginisialisasi jumlah warna yaitu tiga. COLORREF CSameGameBoard::m_arrColors[8]; CSameGameBoard::CSameGameBoard(void) : m_arrboard(null), m_ncolumns(15), m_nrows(15), m_nheight(35), m_nwidth(35), m_nremaining(0), m_ncolors(3) m_arrcolors[0] = RGB( 0, 0, 0); m_arrcolors[1] = RGB(255, 0, 0); m_arrcolors[2] = RGB(255,255, 64); m_arrcolors[3] = RGB( 0, 0,255); m_arrcolors[4] = RGB( 0,255, 0); m_arrcolors[5] = RGB( 0,255,255); m_arrcolors[6] = RGB(255, 0,128);

m_arrcolors[7] = RGB( 0, 64, 0); // Create and setup the board SetupBoard(); Perubahan lain yang kita butuhkan untuk membuatnya yaitu di SetupBoard tersebut. Sebelumnya, kita telah memasukkan code jumlah warna untuk yaitu 3 di setup. Sekarang, kita akan mengubah nomor tiga untuk m_ncolors mana kita mod nomor acak seperti di bawah ini. void CSameGameBoard::SetupBoard(void) // Create the board if needed if(m_arrboard == NULL) CreateBoard(); // Randomly set each square to a color for(int row = 0; row < m_nrows; row++) for(int col = 0; col < m_ncolumns; col++) m_arrboard[row][col] = (rand() % m_ncolors) + 1; // Set the number of spaces remaining m_nremaining = m_nrows * m_ncolumns; Sekarang kita akan beralih ke dokumen. Kita akan tambahkan fungsi sehingga view dapat mengubah jumlah warna. Fungsi The GetNumColors fungsi sederhana yang dapat kita selesaikan dalam file header. Tambahkan baris kode berikut di bagian umum dari dokumen SameGameDoc.h. int GetNumColors() return m_board.getnumcolors(); void SetNumColors(int ncolors); Pada source file kita akan tambahkan implementasi dari fungsi SetNumColors. Di sini kita tidak bisa hanya memanggil fungsi SetNumColors pada game board dengan sendirinya. Kita akan me-reset game board untuk menambahkan warna baru. void CSameGameDoc::SetNumColors(int ncolors) // Set the number of colors first m_board.setnumcolors(ncolors); // Then reset the game board m_board.setupboard();

Berikut adalah semua yang kita butuhkan dalam dokumen. Kita belum bisa menggunakan fungsi-fungsi ini. View adalah hal terakhir yang harus diperbarui, Dengan menambahkan event handler kita akan dapat fungsi berikut dimasukkan ke dalam file header. /* Functions to change the difficulty level */ afx_msg void OnLevel3colors(); afx_msg void OnLevel4colors(); afx_msg void OnLevel5colors(); afx_msg void OnLevel6colors(); afx_msg void OnLevel7colors(); /* Functions to update the menu options */ afx_msg void OnUpdateLevel3colors(CCmdUI *pcmdui); afx_msg void OnUpdateLevel4colors(CCmdUI *pcmdui); afx_msg void OnUpdateLevel5colors(CCmdUI *pcmdui); afx_msg void OnUpdateLevel6colors(CCmdUI *pcmdui); afx_msg void OnUpdateLevel7colors(CCmdUI *pcmdui); Kita akan melihat beberapa hal dalam prototipe ini yang belum pernah kita lihat sebelumnya, afx_msg menetapkan bahwa fungsi adalah event handler. Fungsi OnUpdate menggunakan pointer ke objek CCmdUI. Pada source file kita akan melihat beberapa kode lain yang telah ditambahkan. BEGIN_MESSAGE_MAP(CSameGameView, CView) ON_WM_LBUTTONDOWN() ON_WM_ERASEBKGND() ON_COMMAND(ID_LEVEL_3COLORS, &CSameGameView::OnLevel3colors) ON_COMMAND(ID_LEVEL_4COLORS, &CSameGameView::OnLevel4colors) ON_COMMAND(ID_LEVEL_5COLORS, &CSameGameView::OnLevel5colors) ON_COMMAND(ID_LEVEL_6COLORS, &CSameGameView::OnLevel6colors) ON_COMMAND(ID_LEVEL_7COLORS, &CSameGameView::OnLevel7colors) ON_UPDATE_COMMAND_UI(ID_LEVEL_3COLORS, &CSameGameView::OnUpdateLevel3colors) ON_UPDATE_COMMAND_UI(ID_LEVEL_4COLORS, &CSameGameView::OnUpdateLevel4colors) ON_UPDATE_COMMAND_UI(ID_LEVEL_5COLORS, &CSameGameView::OnUpdateLevel5colors) ON_UPDATE_COMMAND_UI(ID_LEVEL_6COLORS, &CSameGameView::OnUpdateLevel6colors) ON_UPDATE_COMMAND_UI(ID_LEVEL_7COLORS, &CSameGameView::OnUpdateLevel7colors) END_MESSAGE_MAP() MESSAGE_MAP adalah daftar macro C ++ yang mengasosiasikan event dengan sebuah event handler. Semua OnLevel* fungsi warna akan terlihat seperti fungsi berikut.

void CSameGameView::OnLevel3colors() // First get a pointer to the document CSameGameDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); if(!pdoc) return; // Set the number of colors pdoc->setnumcolors(3); // Force the view to redraw Invalidate(); UpdateWindow(); Pada semua fungsi view kita akan dapat pointer ke dokumen. Kemudian kita atur jumlah warna pada jumlah di nama fungsi, yaitu OnLevel3colors call SetNumColors (3) dan seterusnya. Terakhir kita akan force view untuk redraw. Ulangi langkah ini untuk semua event untuk pilihan menu. Dengan semua fungsi ini dilakukan, kompilasi dan menguji itu, kita akan melihat jumlah warna berubah 3-4 dan seterusnya. Kemudian kita bisa membuat kode seperti ini: Dalam SameGameView.h header, kita tambahkan helper ini: void setcolorcount(int numcolors); Dalam SameGameView.cpp, kita tambahkan kode ini: void CSameGameView::setColorCount(int numcolors) // First get a pointer to the document CSameGameDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); if(!pdoc) return; // Set the number of colors pdoc->setnumcolors(numcolors); // Force the view to redraw Invalidate(); UpdateWindow(); void CSameGameView::OnLevel3colors() setcolorcount(3)

Sekarang kembali ke final set dari event handlers. ON_UPDATE_COMMAND_UI event dipanggil ketika menu ditarik ke bawah oleh pengguna, satu untuk setiap pilihan menu. Kita akan menggunakan fungsi SetCheck dari objek CCmdUI untuk mengatur dan diset kotak centang di sebelah tingkat. Kita mulai dengan kode boiler-piring kita untuk mendapatkan pointer ke dokumen dan kemudian mengatur cek berdasarkan jumlah warna di board. void CSameGameView::OnUpdateLevel3colors(CCmdUI *pcmdui) // First get a pointer to the document CSameGameDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); if(!pdoc) return; // Set the check if this is the right level pcmdui->setcheck(pdoc->getnumcolors() == 3); Fungsi ini semua sama kecuali untuk jumlah yang kita bandingkan hasilnya GetNumColors. Kelima fungsi ini disebut ketika menu Tingkat ditampilkan untuk mengatur atau unset tanda centang. Sekarang game akan terlihat seperti ini.

Pada tutorial ini kita telah membuat game kita sedikit lebih menarik dengan menambahkan empat tingkat kesulitan baru. Kita belajar tentang menu editor dan cara setup menu. Kita juga telah setup event handler untuk ON_COMMAND dan ON_COMMAND_UPDATE_UI jenis event untuk menu. Pada tutorial berikutnya kita akan menambahkan pilihan baru untuk mengatur jumlah dan ukuran blok di game board. Tentang Penulis Sendy PK Saya adalah Programmer yang memiliki impian untuk menguasai dunia kunjungi situs pribadi saya di www.spk.my.id dan Online Shop saya di www.spkshop.web.id