Showing posts with label Melatih Logika. Show all posts
Showing posts with label Melatih Logika. Show all posts

Saturday, February 13, 2010

Game Sederhana

Pada 3 (tiga) tulisan sebelumnya, sudah diperkenalkan teknik sederhana untuk membuat Animasi. Teknik ini bisa dikembangkan lagi untuk membuat Animasi yang lebih menarik atau bisa juga dikembangkan untuk membuat sebuah game sederhana.

Pada source code yang disertakan bersama tulisan ini, teman-teman akan menemukan sebuah contoh game tembak-tembakan sederhana. Untuk bisa membuat game ini, pengetahuan yang sudah diperkenalkan pada tulisan sebelumnya sangat dibutuhkan dan juga diperlukan fungsi yang bisa mengenali penekanan tombol PANAH dan SPASI, untuk itu telah dilakukan modifikasi pada fungsi kbhit() dan getch().

Berikut ini adalah cuplikan singkat tampilan dari game yang dibuat :




Terdapat 3 buah informasi yang ditampilkan pada layar :
  1. Arah Senjata : Jika kita menekan tombol PANAH KANAN, arah senjata akan menampilkan KANAN begitu juga saat menekan PANAH KIRI, arah senjata akan menampilkan KIRI.
  2. Tembak : Jika kita menekan tombol SPASI, akan ditampilkan tulisan IYA dan jika peluru sudah mencapai BATAS ATAS akan ditampilkan tulisan TIDAK.
  3. Kena : Berisi informasi terjadinya tabrakan antara PELURU dan TARGET / SASARAN.

Thursday, February 11, 2010

Animasi - Teknik Mendekteksi Tabrakan

Sampai tulisan ini dibuat, sudah terdapat 2 (dua) buah seri belajar membuat animasi sebelumnya, animasi maju mundur, dan animasi maju mundur 2 yang merupakan dasar dari tulisan ini, sehingga sangat disarankan untuk teman-teman membaca & memahami dulu kedua seri tersebut.

Pada tulisan kali ini, kita akan belajar bagaimana mendeteksi terjadinya tabrakan antara dua objek, dua tulisan. Pengetahuan ini sangat membantu kita untuk membuat animasi teks yang lebih menarik lagi.

Berikut ini adalah contoh output dari source code yang tersedia.




Perhatikan, informasi tabrakan yang ditampilkan. Jumlah tabrakan akan meningkat jika tulisan "CPP" bertabrakan dengan karakter "x".

Thursday, February 4, 2010

Animasi Tulisan Maju-Mundur 2

Program ini adalah pengembangan dari program sebelumnya. Bagi yang baru belajar, disarankan untuk melihat dulu program sebelumnya untuk memahami konsep dasar. Seperti yang sudah dijelaskan sebelumnya, animasi ini menggunakan konsep sederhana "TULIS" dan "HAPUS", pada program kali ini saya perkenalkan juga teknik menghapus menggunakan kombinasi perintah cout.width() dan cout.fill() dan cout<<"".





Wednesday, February 3, 2010

Animasi Tulisan Maju-Mundur

Animasi tulisan Maju-Mundur adalah animasi sederhana membuat tulisan bergerak maju dan saat mencapai posisi tertentu tulisan tersebut akan bergerak mundur, begitu seterusnya. Program akan berakhir jika pemakai menekan tombol 'x'.





Program ini bisa dibuat dengan mudah menggunakan Turbo / Borland C++ for Dos, karena telah tersedia fungsi-fungsi yang cukup mudah untuk digunakan seperti GOTOXY, DELAY, KBHIT dan GETCH.
  1. delay(): digunakan untuk menunda proses eksekusi selama beberapa millisecond
  2. gotoxy(): digunakan untuk menempatkan kursor pada posisi KOLOM dan BARIS
  3. kbhit(): digunakan untuk mendeteksi terjadinya penekanan tombol. Jika terdapat tombol yang ditekan maka fungsi ini akan mengembalikan nilai TRUE sebaliknya FALSE
  4. getch(): digunakan untuk mengambil informasi tombol yang terakhir kali ditekan.

Yang perlu dilakukan hanyalah menggunakan pusataka, conio.h & dos.h.

#include <conio.h>
#include <dos.h>

Akan tetapi ketika kita menggunakan IDE lain yang tidak tersedia kedua pustaka diatas atau tidak terdapat fungsi yang diinginkan, maka proses pembuatan program ini akan menjadi sulit.

Program kali ini akan dikhususkan untuk teman-teman yang menggunakan sistem operasi Windows yang tidak menggunakan IDE Turbo / Borland C++ for DOS, karena kita akan menggunakan pustaka windows.h untuk membuat keempat fungsi diatas, setelah itu menggunakan fungsi buatan kita ini untuk membuat animasi Tulisan Maju-Mundur.


Monday, November 9, 2009

Melatih logika untuk membuat tampilan segitiga siku2

Berikut ini merupakan artikel sederhana untuk membuat tampilan segitiga seperti dibawah ini :

1 *
2 **
3 ***
4 ****
5 *****
6 ******

Jika diperhatikan, segitiga diatas terdiri dari baris dan kolom. Nah oleh karena itu kita harus membuat perulangan untuk baris dan kolom. Misalkan variabel baris adalah I dan variabel kolom adalah J maka nilai minimal I ada 1 dan maksimalnya adalah 6. Sedangkan nilai J minimalnya 1 dan maksimalnya ada sama dengan I. implementasi dari sourcecode adalah sebagai berikut :


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
for(int I = 1; I <= 10; I += 1)
{
for(int J = 1; J <= i; ++J)
{
cout<<"*";
}
cout<<"\n";
}
system("PAUSE");
return EXIT_SUCCESS;
}


Dari sourcecode diatas dilihat bahwa perulangan J ditaruh didalam perulangan I. Kenapa ? Karena batasan nilai J harus bergantung dari I. Jika ditaruh diluar sebenarnya tidak ada masalah tapi output tidak akan sesuai dengan yang kita inginkan karena perulangan J akan dilakukan setelah perulangan I dilakukan.

Semoga membantu ... :)