code and code again
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int random_number(void);
int view_stats(void);
int show_menu(void);
int totalwins = 0;
int totallosses = 0;
int guess;
int counter = 5;
int main() {
printf("\t\t\tGAME TEBAK ANGKA\n");
printf("\t\t\t================\n");
printf("\t\t Marchel Lionard Kemit\n\n");
show_menu();
system("pause");
return 0;
}
int show_menu() {
int decision;
system("color f0");
printf("\ MENU\n");
printf("=================\n\n");
printf(" 1. MULAI GAME\n");
printf(" 2. STATUS GAME\n");
printf(" 3. PANDUAN GAME\n");
printf(" 4. EXIT GAME\n\n");
printf("MENU INPUT (1-4): ");
scanf("%d", &decision);
switch (decision) {
case 1:
random_number();
break;
case 2:
view_stats();
break;
case 3:
printf("\nIni adalah permainan tebak angka! Bagaimana cara mainnya?\n");
printf("Komputer akan memberikan angka dari 1-10 secara acak.\n");
printf("\nTugas anda adalah menebak angka acak tersebut! \n");
printf("Anda diberikan 5 kali kesempatan untuk menebaknya.\n");
printf("Disini kita bermain dengan LUCK atau Logika ?\n");
printf("Hal itu terserah kepada anda. HAHAHA!!");
printf("Selamat bermain!(^_^)\n\n");
show_menu();
case 4:
printf("\nTerima kasih telah menggunakan permainan ini (^_^)\n");
system("exit");
break;
default:
printf("\nPilihan Anda tidak tersedia, masukkan pilihan yang benar\n\n");
show_menu();
}
return 0;
}
int random_number() {
int randnumber;
srand(time(NULL));
randnumber = 1 + rand() % 10;
printf("Saya sedang memikirkan angka 1 s/d 10.\n");
printf("Angka apa yang saya pikirkan? ");
scanf("%d", &guess);
if(guess == randnumber) {
system("color fc");
printf("\nSelamat Kamu Benar, Saya sedang memikirkkan Angka %d\n", randnumber);
totalwins += 1;
counter = 5;
printf("\nTekan Sembarang tombol\n");
system("pause");
show_menu();
}
else {
counter -= 1;
printf("\nMaaf itu bukan angka yang saya pikirkan.\nYang saya pikirkan adalah angka %d\n", randnumber);
printf("\nSilahkan ulangi lagi (Anda memiliki kesempatan %d kali lagi untuk mencoba)\n", counter);
if(counter != 0) {
random_number();
}
else {
printf("\nKamu kalah dalam permainan ini.\n\n");
counter = 5;
totallosses += 1;
show_menu();
}
}
return 0;
}
int view_stats() {
printf("\nMenang dalam game sebanyak : %d", totalwins);
printf("\nKalah dalam game sebanyak : %d\n\n", totallosses);
show_menu();
return 0;
}
Selamat mencoba, Thankyou for visiting
Senin, 01 Februari 2016
Source Code game tiang monas menggunakan bahasa C++
code game lagi, ngodein kamu kapan
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int m;
void hanoi(int n, char a, char b, char c);
printf("Masukan jumlah cakram>");
scanf("%d",&m);
printf("Langkah-langkah pemindahan cakram:\n");
hanoi(m,'1','2','3');
system("pause");
return 0;}
void hanoi(int n, char x, char y, char z)
{ if (n==1)
printf("Pindahkan cakram paling atas dari tiang %c ke tiang %c\n",x, z); else {
hanoi(n-1,x,z,y);
hanoi(1,x,y,z);
hanoi(n-1,y,x,z);
}}
Gambar game tiang monas
#include <stdlib.h>
int main(void)
{
int m;
void hanoi(int n, char a, char b, char c);
printf("Masukan jumlah cakram>");
scanf("%d",&m);
printf("Langkah-langkah pemindahan cakram:\n");
hanoi(m,'1','2','3');
system("pause");
return 0;}
void hanoi(int n, char x, char y, char z)
{ if (n==1)
printf("Pindahkan cakram paling atas dari tiang %c ke tiang %c\n",x, z); else {
hanoi(n-1,x,z,y);
hanoi(1,x,y,z);
hanoi(n-1,y,x,z);
}}
Selamat mencoba, Thanks for visiting ...
Source Code game ular HP-Nokia menggunakan bahasa C++
Pada kesempatan ini ane mau berbagi source code game ular monggo dicomot
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys\timeb.h>
#include <Windows.h>
/** Struktur **********/
/**
Struktur untuk menampung data tiap segment dari snake
(array)
*/
struct Segment {
int x, y;
};
/** Variabel global **********/
// Array untuk menampung data ular
struct Segment snake[2000];
// Variabel untuk menyimpan panjang ular (array snake)
int length = 0;
// Posisi makanan
int food_x, food_y;
/** Konfigurasi permainan **********/
// Arah kepala saat awal permainan
int dir = VK_RIGHT;
// Panjang segment snake saat awal permainan
int snake_size = 3;
// Kecepatan gerakan snake dalam ms
int snake_speed = 200;
// Panjang console
int console_width = 80;
// Tinggi console
int console_height = 25;
/** Fungsi-fungsi **********/
/**
Push segment ke snake (pada bagian head).
*/
void push(int x, int y) {
for (int i = length; i > 0; i--) {
snake[i] = snake[i - 1];
}
snake[0].x = x;
snake[0].y = y;
length++;
}
/**
Pop bagian ekor snake.
*/
void pop() {
length--;
}
/**
Pindahkan posisi kursor di layar
Fungsi ini spesifik untuk OS windows.
*/
void gotoxy(int x, int y) {
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
/**
Gambar snake (array) di layar
*/
void display() {
for (int i = 0; i < length; i++) {
// Cetak di posisi x,y
gotoxy(snake[i].x, snake[i].y);
printf("O");
}
}
/**
Memeriksa apakah terdapat salah satu segment
snake (array) di koordinat x,y.
Return 0 artinya tidak bertumpuk, 1 artinya bertumpuk.
*/
int check_collision(int x, int y) {
for (int i = 0; i < length; i++) {
if (snake[i].x == x && snake[i].y == y) {
return 1;
}
}
return 0;
}
/**
Taruh makanan secara acak, namun memastikan
makanan tidak bertumpuk dengan salah satu segment
snake (array)
*/
void place_food() {
// Jika makanan bertumpuk dengan salah satu segment
// snake, ulangi penempatan makanan secara acak.
do {
food_x = rand() % console_width;
food_y = rand() % console_height;
} while (check_collision(food_x, food_y) == 1);
}
/**
Program utama
*/
int main() {
// Randomize
srand(time(NULL));
// Untuk menyimpan penanda waktu saat snake bergerak
struct timeb last_timestamp;
ftime(&last_timestamp); // Set nilai awal
// Untuk menyimpan nilai
int score = 0;
// Pertama-tama, push segment (node) ke kanan
// sebanyak 3 segment (sesuai nilai variable snake_size)
for (int i = 0; i < snake_size; i++) {
push(i, 0);
}
// Tempatkan makanan secara acak
place_food();
// Game loop. Bagian di dalam while akan dieksekusi terus menerus
while (true) {
// Ambil penanda waktu saat ini
struct timeb current_timestamp;
ftime(¤t_timestamp);
// Selisih waktu terakhir dengan waktu sekarang dalam ms
int interval = 1000 * (current_timestamp.time - last_timestamp.time) + (current_timestamp.millitm - last_timestamp.millitm);
// Snake bergerak setiap 200 ms (sesuai nilai variable snake_speed)
// Dihitung dengan membandingkan selisih waktu sekarang dengan waktu
// terakhir kali snake bergerak.
if (interval >= snake_speed) {
// Tentukan posisi x,y ke mana snake akan bergerak.
// Posisi dilihat dari koordinat segment kepala (head)
// dan arah (variable dir)
int x, y;
switch (dir) {
case VK_LEFT:
x = snake[0].x - 1;
y = snake[0].y;
break;
case VK_RIGHT:
x = snake[0].x + 1;
y = snake[0].y;
break;
case VK_UP:
x = snake[0].x;
y = snake[0].y - 1;
break;
case VK_DOWN:
x = snake[0].x;
y = snake[0].y + 1;
break;
}
// Jika posisi kepala (head) menabrak tembok pembatas,
// maka permainan berakhir (keluar dari game loop)
if (x < 0 || x >= console_width || y < 0 || y >= console_height) {
break;
}
// Jika posisi kepala (head) menabrak dirinya sendiri
// (posisi sama dengan salah satu segment), maka permainan
// berakhir (keluar dari game loop)
if (check_collision(x, y) == 1) {
break;
}
// Jika tidak terjadi tabrakan (collision), maka snake
// boleh bergerak maju..
// Pop ekor, lalu push segment ke depan head sehingga
// snake tampak bergerak maju.
// Namun jika posisi x,y ke mana kepala (head) snake akan
// bergerak berada di posisi makanan, tidak perlu pop
// sehingga segment bertambah panjang.
if (x == food_x && y == food_y) {
// Dalam hal snake memakan makanan, maka nilai bertambah
score += 100;
// Lalu makanan ditempatkan ulang secara acak
place_food();
}
else {
pop();
}
push(x, y);
// Tampilkan kondisi permainan saat ini di layar...
// Bersihkan layar
system("cls");
// Cetak (render) snake di layar
display();
// Cetak (render) makanan di layar
gotoxy(food_x, food_y);
printf("X");
// Perbarui penanda waktu
last_timestamp = current_timestamp;
}
// Ubah arah jika tombol panah ditekan
if (GetKeyState(VK_LEFT) < 0) {
dir = VK_LEFT;
}
if (GetKeyState(VK_RIGHT) < 0) {
dir = VK_RIGHT;
}
if (GetKeyState(VK_UP) < 0) {
dir = VK_UP;
}
if (GetKeyState(VK_DOWN) < 0) {
dir = VK_DOWN;
}
// Keluar dari program jika menekan tombol ESC
if (GetKeyState(VK_ESCAPE) < 0) {
return 0;
}
}
// Setelah keluar dari game loop, berarti permainan berakhir (game over)
system("cls");
printf("GAME OVER\n");
printf("Your score : %d\n\n", score);
printf("Press ENTER to exit...");
getchar();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys\timeb.h>
#include <Windows.h>
/** Struktur **********/
/**
Struktur untuk menampung data tiap segment dari snake
(array)
*/
struct Segment {
int x, y;
};
/** Variabel global **********/
// Array untuk menampung data ular
struct Segment snake[2000];
// Variabel untuk menyimpan panjang ular (array snake)
int length = 0;
// Posisi makanan
int food_x, food_y;
/** Konfigurasi permainan **********/
// Arah kepala saat awal permainan
int dir = VK_RIGHT;
// Panjang segment snake saat awal permainan
int snake_size = 3;
// Kecepatan gerakan snake dalam ms
int snake_speed = 200;
// Panjang console
int console_width = 80;
// Tinggi console
int console_height = 25;
/** Fungsi-fungsi **********/
/**
Push segment ke snake (pada bagian head).
*/
void push(int x, int y) {
for (int i = length; i > 0; i--) {
snake[i] = snake[i - 1];
}
snake[0].x = x;
snake[0].y = y;
length++;
}
/**
Pop bagian ekor snake.
*/
void pop() {
length--;
}
/**
Pindahkan posisi kursor di layar
Fungsi ini spesifik untuk OS windows.
*/
void gotoxy(int x, int y) {
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
/**
Gambar snake (array) di layar
*/
void display() {
for (int i = 0; i < length; i++) {
// Cetak di posisi x,y
gotoxy(snake[i].x, snake[i].y);
printf("O");
}
}
/**
Memeriksa apakah terdapat salah satu segment
snake (array) di koordinat x,y.
Return 0 artinya tidak bertumpuk, 1 artinya bertumpuk.
*/
int check_collision(int x, int y) {
for (int i = 0; i < length; i++) {
if (snake[i].x == x && snake[i].y == y) {
return 1;
}
}
return 0;
}
/**
Taruh makanan secara acak, namun memastikan
makanan tidak bertumpuk dengan salah satu segment
snake (array)
*/
void place_food() {
// Jika makanan bertumpuk dengan salah satu segment
// snake, ulangi penempatan makanan secara acak.
do {
food_x = rand() % console_width;
food_y = rand() % console_height;
} while (check_collision(food_x, food_y) == 1);
}
/**
Program utama
*/
int main() {
// Randomize
srand(time(NULL));
// Untuk menyimpan penanda waktu saat snake bergerak
struct timeb last_timestamp;
ftime(&last_timestamp); // Set nilai awal
// Untuk menyimpan nilai
int score = 0;
// Pertama-tama, push segment (node) ke kanan
// sebanyak 3 segment (sesuai nilai variable snake_size)
for (int i = 0; i < snake_size; i++) {
push(i, 0);
}
// Tempatkan makanan secara acak
place_food();
// Game loop. Bagian di dalam while akan dieksekusi terus menerus
while (true) {
// Ambil penanda waktu saat ini
struct timeb current_timestamp;
ftime(¤t_timestamp);
// Selisih waktu terakhir dengan waktu sekarang dalam ms
int interval = 1000 * (current_timestamp.time - last_timestamp.time) + (current_timestamp.millitm - last_timestamp.millitm);
// Snake bergerak setiap 200 ms (sesuai nilai variable snake_speed)
// Dihitung dengan membandingkan selisih waktu sekarang dengan waktu
// terakhir kali snake bergerak.
if (interval >= snake_speed) {
// Tentukan posisi x,y ke mana snake akan bergerak.
// Posisi dilihat dari koordinat segment kepala (head)
// dan arah (variable dir)
int x, y;
switch (dir) {
case VK_LEFT:
x = snake[0].x - 1;
y = snake[0].y;
break;
case VK_RIGHT:
x = snake[0].x + 1;
y = snake[0].y;
break;
case VK_UP:
x = snake[0].x;
y = snake[0].y - 1;
break;
case VK_DOWN:
x = snake[0].x;
y = snake[0].y + 1;
break;
}
// Jika posisi kepala (head) menabrak tembok pembatas,
// maka permainan berakhir (keluar dari game loop)
if (x < 0 || x >= console_width || y < 0 || y >= console_height) {
break;
}
// Jika posisi kepala (head) menabrak dirinya sendiri
// (posisi sama dengan salah satu segment), maka permainan
// berakhir (keluar dari game loop)
if (check_collision(x, y) == 1) {
break;
}
// Jika tidak terjadi tabrakan (collision), maka snake
// boleh bergerak maju..
// Pop ekor, lalu push segment ke depan head sehingga
// snake tampak bergerak maju.
// Namun jika posisi x,y ke mana kepala (head) snake akan
// bergerak berada di posisi makanan, tidak perlu pop
// sehingga segment bertambah panjang.
if (x == food_x && y == food_y) {
// Dalam hal snake memakan makanan, maka nilai bertambah
score += 100;
// Lalu makanan ditempatkan ulang secara acak
place_food();
}
else {
pop();
}
push(x, y);
// Tampilkan kondisi permainan saat ini di layar...
// Bersihkan layar
system("cls");
// Cetak (render) snake di layar
display();
// Cetak (render) makanan di layar
gotoxy(food_x, food_y);
printf("X");
// Perbarui penanda waktu
last_timestamp = current_timestamp;
}
// Ubah arah jika tombol panah ditekan
if (GetKeyState(VK_LEFT) < 0) {
dir = VK_LEFT;
}
if (GetKeyState(VK_RIGHT) < 0) {
dir = VK_RIGHT;
}
if (GetKeyState(VK_UP) < 0) {
dir = VK_UP;
}
if (GetKeyState(VK_DOWN) < 0) {
dir = VK_DOWN;
}
// Keluar dari program jika menekan tombol ESC
if (GetKeyState(VK_ESCAPE) < 0) {
return 0;
}
}
// Setelah keluar dari game loop, berarti permainan berakhir (game over)
system("cls");
printf("GAME OVER\n");
printf("Your score : %d\n\n", score);
printf("Press ENTER to exit...");
getchar();
return 0;
}
jika berhasil komennya ditunggu.. thanks
Langganan:
Postingan (Atom)
