A little opening FAQ:
Dreamweaver? Benda apa itu?
Dreamweaver adalah aplikasi keluaran Adobe untuk membuat halaman web.
Lalu apa hubungannya dengan C?
Eh, sejauh yang saya tahu, tidak ada hubungannya....
Lalu kenapa ada dreamweaver di blog ini?
Pertanyaan bagus! Karena saya diharuskan. Ini tugas kuliah saya.
----mohon maaf atas ketidaknyamanan anda----
Sebelum ada kekeliruan, dreamweaver yang saya terangkan di sini adalah versi CS3. Mungkin terdapat sedikit perbedaan dengan versi lainnya.
Membuat Halaman Baru
1. Setelah mengaktifkan aplikasi, klik HTML di bagian Create New.
2. Klik menu Modify>page properties.
3. Di sini bisa diatur beberapa opsi seperti warna teks dan ukurannya, warna background atau gambar background, serta warna link (tautan). Jika sudah selesai, klik apply.
4. Cobalah untuk mengetik pada halaman depan. Misalnya Dreamweaver.
5. Lakukan modifikasi dengan jendela properties (ada di bawah).
6. Save dengan menu File>save.
7. Untuk melihat hasilnya, klik F12.
Memasukkan Image dan Rollover Image
1. Klik menu Insert>Image.
2. Pilih image yang diinginkan. Klik OK. Akan muncul jendela berikutnya, untuk sementara klik OK dulu.
3. Atur size-nya bisa dengan drag pada sisinya, bisa juga dengan properties (ada di bawah layar).
4. Rollover Image adalah image yang akan menampilkan image lain jika kursor diarahkan padanya. Klik menu Insert>Image Objects>Rollover Image.
5. Pada kolom original image, masukkan image sebelum kursor diarahkan. Pada rollover image, masukkan setelah kursor diarahkan.
6. Klik OK. Tekan F12 untuk melihat hasilnya.
Menggunakan Link
1. Buat file baru dengan menu file>new. Klik create.
2. Ketik sebuah kata. Misalnya link. Save file ini.
3. Pilih kata yang tadi anda ketikkan. Klik menu Insert>Hyperlink.
4. Pada kolom link, isikan file lain, misalnya yang tadi anda buat.
5. Pada target, pilih self. Klik OK. Tekan F12 untuk melihat hasilnya.
6. Anda bisa mengubah warna link dari page properties yang telah saya jelaskan sebelumnya.
7. Selain dari menu, di jendela properties (bawah layar) bisa langsung diisikan linknya.
8. Dengan cara seperti no.7, anda bisa menerapkan link pada image dan rollover image.
Selamat mencoba!
Search This Blog
Saturday, 11 December 2010
Saturday, 4 December 2010
Trapped in a maze..
Ya, kadang-kadang hidup berliku, seperti maze. Sering kita terjebak di dalamnya dan tersesat, ga bisa keluar.
Nah lo! Sebetulnya, maze itu emang ada yang ga ada jalan keluarnya!
Pernah kan masuk maze? Sekarang kita bikin programnya OK?
Ketikkan (copy) kode dibawah ini:
//beginning of code
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void traverse(char[28][28]);
int main(){
char maze[28][28];
int panjang=0,lebar=0,x=30,y=30,tgtx,tgty,face=0;
printf("Berapa ukurannya (max 25)?\n");
while (panjang<1 || panjang>25){
printf("Panjang (kiri ke kanan): ");
scanf("%d",&panjang);
}
while (lebar<1 || lebar>25){
printf("Lebar (atas ke bawah): ");
scanf("%d",&lebar);
}
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
maze[i][j]=' ';
}
}
printf("Rancang maze. Gunakan:\n@ sebagai mulai\nX sebagai dinding\n* sebagai finish\nspasi, untuk ruang\n");
fflush(stdin);
for(int i=1;i<=lebar;i++){
gets(maze[i]);
for(int j=panjang-1;j>=0;j--){
maze[i][j+1]=maze[i][j];
}
for(int j=1;j<=panjang;j++){
if(maze[i][j]=='\0'){
maze[i][j+1]='\0';
maze[i][j]=' ';
}
}
}
for(int i=0;i<panjang+2;i++){
maze[i][0]='X';
maze[i][panjang+1]='X';
maze[0][i]='X';
maze[lebar+1][i]='X';
}
for(int i=1;i<=lebar;i++){
for(int j=1;j<=panjang;j++){
if(maze[i][j]=='@'){
x=j;
y=i;
}
if(maze[i][j]=='*'){
tgtx=j;
tgty=i;
}
}
}
if(x==30 && y==30){
printf("Mana starting point?");
getch();
return 0;
}
while(x!=tgtx || y!=tgty){
system("cls");
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
printf("%c",maze[i][j]);
if(j==panjang+1) printf("\n");
}
}
switch(face){
case 0 :
if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
break;
case 1 :
if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
break;
case 2 :
if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
break;
case 3 :
if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
break;
}
getch();
}
system("cls");
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
printf("%c",maze[i][j]);
if(j==panjang+1) printf("\n");
}
}
getch();
return 0;
}
Nah, sekarang bikin rancangan mazenya di notepad. Gunain @ sebagai mulai, X buat dinding, * buat finish.
Misalnya ini untuk maze dengan panjang 9 dan lebar 10:
Jalanin program C-nya (pencet F9).
Isi panjangnya (misal 9)
Isi lebarnya (misal 10).
Copy notepad-mu, di jendela program klik kanan di title bar>paste.
Enjoy! Tahan key apa aja untuk fast-forward.
Hope life is as easy as maze traversing...
Nah lo! Sebetulnya, maze itu emang ada yang ga ada jalan keluarnya!
Pernah kan masuk maze? Sekarang kita bikin programnya OK?
Ketikkan (copy) kode dibawah ini:
//beginning of code
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void traverse(char[28][28]);
int main(){
char maze[28][28];
int panjang=0,lebar=0,x=30,y=30,tgtx,tgty,face=0;
printf("Berapa ukurannya (max 25)?\n");
while (panjang<1 || panjang>25){
printf("Panjang (kiri ke kanan): ");
scanf("%d",&panjang);
}
while (lebar<1 || lebar>25){
printf("Lebar (atas ke bawah): ");
scanf("%d",&lebar);
}
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
maze[i][j]=' ';
}
}
printf("Rancang maze. Gunakan:\n@ sebagai mulai\nX sebagai dinding\n* sebagai finish\nspasi, untuk ruang\n");
fflush(stdin);
for(int i=1;i<=lebar;i++){
gets(maze[i]);
for(int j=panjang-1;j>=0;j--){
maze[i][j+1]=maze[i][j];
}
for(int j=1;j<=panjang;j++){
if(maze[i][j]=='\0'){
maze[i][j+1]='\0';
maze[i][j]=' ';
}
}
}
for(int i=0;i<panjang+2;i++){
maze[i][0]='X';
maze[i][panjang+1]='X';
maze[0][i]='X';
maze[lebar+1][i]='X';
}
for(int i=1;i<=lebar;i++){
for(int j=1;j<=panjang;j++){
if(maze[i][j]=='@'){
x=j;
y=i;
}
if(maze[i][j]=='*'){
tgtx=j;
tgty=i;
}
}
}
if(x==30 && y==30){
printf("Mana starting point?");
getch();
return 0;
}
while(x!=tgtx || y!=tgty){
system("cls");
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
printf("%c",maze[i][j]);
if(j==panjang+1) printf("\n");
}
}
switch(face){
case 0 :
if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
break;
case 1 :
if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
break;
case 2 :
if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
else if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
face=3;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
break;
case 3 :
if(maze[y-1][x]==' ' || maze[y-1][x]=='*'){
maze[y][x]=' ';
maze[y-1][x]='@';
y=y-1;
face=2;
}
else if(maze[y][x+1]==' ' || maze[y][x+1]=='*'){
maze[y][x]=' ';
maze[y][x+1]='@';
x=x+1;
}
else if(maze[y+1][x]==' ' || maze[y+1][x]=='*'){
maze[y][x]=' ';
maze[y+1][x]='@';
y=y+1;
face=0;
}
else if(maze[y][x-1]==' ' || maze[y][x-1]=='*'){
maze[y][x]=' ';
maze[y][x-1]='@';
x=x-1;
face=1;
}
break;
}
getch();
}
system("cls");
for(int i=0;i<lebar+2;i++){
for(int j=0;j<panjang+2;j++){
printf("%c",maze[i][j]);
if(j==panjang+1) printf("\n");
}
}
getch();
return 0;
}
//end of code
Nah, sekarang bikin rancangan mazenya di notepad. Gunain @ sebagai mulai, X buat dinding, * buat finish.
Misalnya ini untuk maze dengan panjang 9 dan lebar 10:
Jalanin program C-nya (pencet F9).
Isi panjangnya (misal 9)
Isi lebarnya (misal 10).
Copy notepad-mu, di jendela program klik kanan di title bar>paste.
Enjoy! Tahan key apa aja untuk fast-forward.
Hope life is as easy as maze traversing...
Kura-kura dan kelinci
Sudah pernah dengar cerita kura-kura dan kelinci??
Alkisah ada kura-kura dan kelinci bertemu. Kelinci memerhatikan betapa leletnya kura-kura berjalan. Maka kelinci mengejek kura-kura. Kura-kura panas, lalu menantang kelinci balapan.
Pada hari yang ditentukan, mereka bersiap di garis start. Begitu balapan dimulai, kelinci berlari dengan kencangnya, meninggalkan kura-kura di garis start.
"Ah, dasar lambat!", ujar kelinci. "Bolehlah aku tidur dulu."
Kelinci pun tertidur. Tahu-tahu, pas dia bangun, kura-kura yang lelet sudah jauh didepannya. Kelinci mencoba berlari secepatnya namun terlambat, kura-kura menang.
Anyone believes this story?
Saya termasuk yang tidak. Coba aja, mereka balapan di lereng, pasti kelinci bisa menang.
Apa? Ga percaya? Coba kita bikin programnya!
Masukkin kode ini ke Dev-Cpp
//beginning of code
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
int main()
{
int kura=1, keli=1,a,b,c;
char pilih;
printf("KURA-KURA Vs KELINCI\n\nSiapa jagoan anda?\n1.Kura-kura\n2.Kelinci\n\nKetik pilihan anda!");
while(pilih !='1' && pilih !='2'){
printf("\nPilih 1 atau 2!");
pilih = getch();}
while (kura!=50 && keli!=50){
system("cls");
printf("KURA-KURA Vs KELINCI\n\n");
srand(time(NULL));
a=(rand()*3+rand()*7)%10;
b=(rand()*4+rand()/2)%10;
if(a<0) a=a*(-1);
if(b<0) b=b*(-1);
switch(a){
case 9:
case 8:
case 7:
case 6: printf("kura-kura maju!\n"); kura= kura +1;break;
case 5:
case 4:
case 3: printf("kura-kura lari!\n"); kura = kura+2;break;
case 2:
case 1: printf("kura-kura kepleset!\n"); kura = kura-1;break;
case 0: printf("kura-kura terperosok!\n"); kura = kura-2;break;}
switch(b){
case 9:
case 8:
case 7: printf("kelinci maju!\n"); keli= keli +3;break;
case 6:
case 5: printf("kelinci lari!\n"); keli = keli+4;break;
case 4:
case 3: printf("kelinci tidur!\n");break;
case 2: printf("kelinci kepleset!\n"); keli = keli-3;break;
case 1:
case 0: printf("kelinci terperosok!\n"); keli = keli-5;break;}
if (kura<1) kura = 1;
if (keli<1) keli = 1;
if (kura>50) kura = 50;
if (keli>50) keli = 50;
printf("\n 0 1 2 3 4 5\n");
printf(" 12345678901234567890123456789012345678901234567890\n\n");
c=1;
printf("Kura : ");
while (c<=kura){
printf(" ");
c++;}
printf("X\n");
c=1;
printf("Kelinci : ");
while (c<=keli){
printf(" ");
c++;}
printf("X\n\n");
if (kura==keli) printf("kura-kura gigit kelinci!!\n");
for(c=1;c<300000000;c++);}
if(keli == 50) printf("kelinci menang!!");
if(kura == 50) printf("kura-kura menang!!");
for(c=1;c<300000000;c++);
printf("\nGAME OVER!");
for(c=1;c<300000000;c++);
if (pilih=='1' && kura==50) printf("\nAnda benar!");
else if (pilih=='2' && keli==50) printf("\nAnda benar!");
else printf("\nAnda salah!");
getch();
return 0;
}
//end of code
It turns out to be something like this, more or less:
Hohohoo, mengubah sejarah.
Jangan lupa pencet F9 setelah selesai mengetikkan kode.
Alkisah ada kura-kura dan kelinci bertemu. Kelinci memerhatikan betapa leletnya kura-kura berjalan. Maka kelinci mengejek kura-kura. Kura-kura panas, lalu menantang kelinci balapan.
Pada hari yang ditentukan, mereka bersiap di garis start. Begitu balapan dimulai, kelinci berlari dengan kencangnya, meninggalkan kura-kura di garis start.
"Ah, dasar lambat!", ujar kelinci. "Bolehlah aku tidur dulu."
Kelinci pun tertidur. Tahu-tahu, pas dia bangun, kura-kura yang lelet sudah jauh didepannya. Kelinci mencoba berlari secepatnya namun terlambat, kura-kura menang.
Anyone believes this story?
Saya termasuk yang tidak. Coba aja, mereka balapan di lereng, pasti kelinci bisa menang.
Apa? Ga percaya? Coba kita bikin programnya!
Masukkin kode ini ke Dev-Cpp
//beginning of code
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
int main()
{
int kura=1, keli=1,a,b,c;
char pilih;
printf("KURA-KURA Vs KELINCI\n\nSiapa jagoan anda?\n1.Kura-kura\n2.Kelinci\n\nKetik pilihan anda!");
while(pilih !='1' && pilih !='2'){
printf("\nPilih 1 atau 2!");
pilih = getch();}
while (kura!=50 && keli!=50){
system("cls");
printf("KURA-KURA Vs KELINCI\n\n");
srand(time(NULL));
a=(rand()*3+rand()*7)%10;
b=(rand()*4+rand()/2)%10;
if(a<0) a=a*(-1);
if(b<0) b=b*(-1);
switch(a){
case 9:
case 8:
case 7:
case 6: printf("kura-kura maju!\n"); kura= kura +1;break;
case 5:
case 4:
case 3: printf("kura-kura lari!\n"); kura = kura+2;break;
case 2:
case 1: printf("kura-kura kepleset!\n"); kura = kura-1;break;
case 0: printf("kura-kura terperosok!\n"); kura = kura-2;break;}
switch(b){
case 9:
case 8:
case 7: printf("kelinci maju!\n"); keli= keli +3;break;
case 6:
case 5: printf("kelinci lari!\n"); keli = keli+4;break;
case 4:
case 3: printf("kelinci tidur!\n");break;
case 2: printf("kelinci kepleset!\n"); keli = keli-3;break;
case 1:
case 0: printf("kelinci terperosok!\n"); keli = keli-5;break;}
if (kura<1) kura = 1;
if (keli<1) keli = 1;
if (kura>50) kura = 50;
if (keli>50) keli = 50;
printf("\n 0 1 2 3 4 5\n");
printf(" 12345678901234567890123456789012345678901234567890\n\n");
c=1;
printf("Kura : ");
while (c<=kura){
printf(" ");
c++;}
printf("X\n");
c=1;
printf("Kelinci : ");
while (c<=keli){
printf(" ");
c++;}
printf("X\n\n");
if (kura==keli) printf("kura-kura gigit kelinci!!\n");
for(c=1;c<300000000;c++);}
if(keli == 50) printf("kelinci menang!!");
if(kura == 50) printf("kura-kura menang!!");
for(c=1;c<300000000;c++);
printf("\nGAME OVER!");
for(c=1;c<300000000;c++);
if (pilih=='1' && kura==50) printf("\nAnda benar!");
else if (pilih=='2' && keli==50) printf("\nAnda benar!");
else printf("\nAnda salah!");
getch();
return 0;
}
//end of code
Jangan lupa pencet F9 setelah selesai mengetikkan kode.
Download C anda!
Well, saya akan banyak 'bercerita' mengenai algoritma pemrograman, mata kuliah yang 'obviously' paling menarik.. di semester 1- Informatika.
Kebetulan bahasa pemrograman yang dipake adalah C.
Dan karena maka sebab sehingga, sebaiknya anda mengunduh (download) Dev-Cpp, program bahasa C.
Ini linknya.
http://www.bloodshed.net/dev/devcpp.html
Jika sudah, maka anda bisa mulai menjelajahi indahnya dunia pemrograman...
Ini tampilan jendela Dev-Cpp
Untuk pemula, klik File>New>Source file.
Ketik kode, atau dianjurkan copy saja dari halaman web ini..
Setelah itu, pencet F9.
Kebetulan bahasa pemrograman yang dipake adalah C.
Dan karena maka sebab sehingga, sebaiknya anda mengunduh (download) Dev-Cpp, program bahasa C.
Ini linknya.
http://www.bloodshed.net/dev/devcpp.html
Jika sudah, maka anda bisa mulai menjelajahi indahnya dunia pemrograman...
Ini tampilan jendela Dev-Cpp
Untuk pemula, klik File>New>Source file.
Ketik kode, atau dianjurkan copy saja dari halaman web ini..
Setelah itu, pencet F9.
4x4 slider puzzle
Salah satu gadget yang menarik (di windows versi baru) adalah picture puzzle :-)
Ada yang belum tahu? Yang kaya gini..
Apa tujuan gadget ini?
Ini adalah sebuah permainan. Anda berkewajiban untuk menggerakkan kotak2 ini sehingga tersusun kaya gini
Cuma mainin itu aja ga seru. Yang seru itu bikinnya. Maka, kita bikin yuk!
Buka program C, masukkin kodingnya:
Compile (pencet F9), hasilnya kurang lebih begini:
Not bad for a beginner...
Jika ada yang pingin coba main, ingat ini tidak pake mouse. Gunakan key w a s d.
Selamat mencoba!
Ada yang belum tahu? Yang kaya gini..
Apa tujuan gadget ini?
Ini adalah sebuah permainan. Anda berkewajiban untuk menggerakkan kotak2 ini sehingga tersusun kaya gini
Cuma mainin itu aja ga seru. Yang seru itu bikinnya. Maka, kita bikin yuk!
Buka program C, masukkin kodingnya:
//beginning of code
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void randomise(int kot[4][4], int *curx, int *cury);
void kiri(int kot[4][4], int *curx, int *cury);
void kanan(int kot[4][4], int *curx, int *cury);
void atas(int kot[4][4], int *curx, int *cury);
void bawah(int kot[4][4], int *curx, int *cury);
void tampil(int kot[4][4], int *curx, int *cury);
void initialise(int kot[4][4], int *curx, int *cury);
void input(int kot[4][4], int *curx, int *cury);
int cek(int kot[4][4], int *curx, int *cury);
int main(){
int waktu,kot[4][4], curx, cury;
initialise(kot, &curx, &cury);
tampil(kot, &curx, &cury);
printf("\nDENGAN KEY aswd\nSUSUN KOTAK SEPERTI INI\n\nTEKAN SEBARANG TOMBOL UNTUK MULAI");
randomise(kot, &curx, &cury);
getch();
waktu=time(NULL);
while(1){
tampil(kot, &curx, &cury);
printf("TIME : %d",time(NULL)-waktu);
input(kot, &curx, &cury);
if (cek(kot, &curx, &cury)==16) break;
}
tampil(kot, &curx, &cury);
printf("TIME : %d",time(NULL)-waktu);
printf("\nBERHASIL");
getch();
return 0;
}
void initialise(int kot[4][4], int *curx, int *cury){
for (int y=0;y<4;y++){
for (int x=0;x<4;x++){
kot[x][y] = 4*y + x +1;
}
}
*curx=3;*cury=3;
}
void input(int kot[4][4], int *curx, int *cury){
switch(getch()){
case 'a':kiri(kot, curx, cury);break;
case 'd':kanan(kot, curx, cury);break;
case 's':bawah(kot, curx, cury);break;
case 'w':atas(kot, curx, cury);break;
}
}
void kiri(int kot[4][4], int *curx, int *cury){
if(*curx==3){
return;
}
else{
kot[*curx][*cury]=kot[(*curx)+1][*cury];
kot[*(curx)+1][*cury]=16;
*curx=*(curx)+1;
}
return;
}
void kanan(int kot[4][4], int *curx, int *cury){
if(*curx==0){
return;
}
else{
kot[*curx][*cury]=kot[*(curx)-1][*cury];
kot[*(curx)-1][*cury]=16;
*curx= *(curx)-1;
}
return;
}
void bawah(int kot[4][4], int *curx, int *cury){
if(*cury==0){
return;
}
else{
kot[*curx][*cury]=kot[*curx][*(cury)-1];
kot[*curx][*(cury)-1]=16;
*cury=*(cury)-1;
}
return;
}
void atas(int kot[4][4], int *curx, int *cury){
if(*cury==3){
return;
}
else{
kot[*curx][*cury]=kot[*curx][*(cury)+1];
kot[*curx][*(cury)+1]=16;
*cury=*cury+1;
}
return;
}
void randomise(int kot[4][4], int *curx, int *cury){
int acak;
srand(time(NULL));
for(int ulang=1;ulang<1000;ulang++){
acak = rand()%4;
switch(acak){
case 0:kiri(kot, curx, cury);break;
case 1:kanan(kot, curx, cury);break;
case 2:bawah(kot, curx, cury);break;
case 3:atas(kot, curx, cury);break;
}
}
}
void tampil(int kot[4][4], int *curx, int *cury){
system("cls");
for (int y=0;y<4;y++){
printf(" | | | |\n");
for (int x=0;x<4;x++){
if(kot[x][y]==16){
printf(" |");
}
else{
printf(" %02d |",kot[x][y]);
}
}
printf("\n____|____|____|____|\n");
}
}
int cek(int kot[4][4], int *curx, int *cury){
int counter = 0;
for(int y=0;y<4;y++){
for(int x=0; x<4;x++){
if(kot[x][y]==(4*y + x + 1)){
counter++;
}
}
}
return counter;
}
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void randomise(int kot[4][4], int *curx, int *cury);
void kiri(int kot[4][4], int *curx, int *cury);
void kanan(int kot[4][4], int *curx, int *cury);
void atas(int kot[4][4], int *curx, int *cury);
void bawah(int kot[4][4], int *curx, int *cury);
void tampil(int kot[4][4], int *curx, int *cury);
void initialise(int kot[4][4], int *curx, int *cury);
void input(int kot[4][4], int *curx, int *cury);
int cek(int kot[4][4], int *curx, int *cury);
int main(){
int waktu,kot[4][4], curx, cury;
initialise(kot, &curx, &cury);
tampil(kot, &curx, &cury);
printf("\nDENGAN KEY aswd\nSUSUN KOTAK SEPERTI INI\n\nTEKAN SEBARANG TOMBOL UNTUK MULAI");
randomise(kot, &curx, &cury);
getch();
waktu=time(NULL);
while(1){
tampil(kot, &curx, &cury);
printf("TIME : %d",time(NULL)-waktu);
input(kot, &curx, &cury);
if (cek(kot, &curx, &cury)==16) break;
}
tampil(kot, &curx, &cury);
printf("TIME : %d",time(NULL)-waktu);
printf("\nBERHASIL");
getch();
return 0;
}
void initialise(int kot[4][4], int *curx, int *cury){
for (int y=0;y<4;y++){
for (int x=0;x<4;x++){
kot[x][y] = 4*y + x +1;
}
}
*curx=3;*cury=3;
}
void input(int kot[4][4], int *curx, int *cury){
switch(getch()){
case 'a':kiri(kot, curx, cury);break;
case 'd':kanan(kot, curx, cury);break;
case 's':bawah(kot, curx, cury);break;
case 'w':atas(kot, curx, cury);break;
}
}
void kiri(int kot[4][4], int *curx, int *cury){
if(*curx==3){
return;
}
else{
kot[*curx][*cury]=kot[(*curx)+1][*cury];
kot[*(curx)+1][*cury]=16;
*curx=*(curx)+1;
}
return;
}
void kanan(int kot[4][4], int *curx, int *cury){
if(*curx==0){
return;
}
else{
kot[*curx][*cury]=kot[*(curx)-1][*cury];
kot[*(curx)-1][*cury]=16;
*curx= *(curx)-1;
}
return;
}
void bawah(int kot[4][4], int *curx, int *cury){
if(*cury==0){
return;
}
else{
kot[*curx][*cury]=kot[*curx][*(cury)-1];
kot[*curx][*(cury)-1]=16;
*cury=*(cury)-1;
}
return;
}
void atas(int kot[4][4], int *curx, int *cury){
if(*cury==3){
return;
}
else{
kot[*curx][*cury]=kot[*curx][*(cury)+1];
kot[*curx][*(cury)+1]=16;
*cury=*cury+1;
}
return;
}
void randomise(int kot[4][4], int *curx, int *cury){
int acak;
srand(time(NULL));
for(int ulang=1;ulang<1000;ulang++){
acak = rand()%4;
switch(acak){
case 0:kiri(kot, curx, cury);break;
case 1:kanan(kot, curx, cury);break;
case 2:bawah(kot, curx, cury);break;
case 3:atas(kot, curx, cury);break;
}
}
}
void tampil(int kot[4][4], int *curx, int *cury){
system("cls");
for (int y=0;y<4;y++){
printf(" | | | |\n");
for (int x=0;x<4;x++){
if(kot[x][y]==16){
printf(" |");
}
else{
printf(" %02d |",kot[x][y]);
}
}
printf("\n____|____|____|____|\n");
}
}
int cek(int kot[4][4], int *curx, int *cury){
int counter = 0;
for(int y=0;y<4;y++){
for(int x=0; x<4;x++){
if(kot[x][y]==(4*y + x + 1)){
counter++;
}
}
}
return counter;
}
//end of code
Compile (pencet F9), hasilnya kurang lebih begini:
Not bad for a beginner...
Jika ada yang pingin coba main, ingat ini tidak pake mouse. Gunakan key w a s d.
Selamat mencoba!
Wednesday, 1 December 2010
An Introduction
Halo, salam kenal.
Blog ini isinya adalah beberapa program berbahasa C yang aku buat sendiri..
Pastinya sederhana karena dibuat oleh beginner.
Tapi gapapa lah, daripada blog ini kosong.
Kenapa sih harus ada blog ini? Ini tugas kuliah saya...
Internet dan seni, dua hal yang saya ga ngerti.
Jadi, kalau tampilan blog ini jelek adanya, ya harap maklum.
Biodata singkat:
Nama : Archie Pusaka
TTL : 17/01/1992
Kuliah : TI-Univ. Multimedia Nusantara (Semester 1 saat ini dibuat)
Hobi : Yang pasti bukan bikin blog
Interest : Game, programming
Email : arcturuss92[at]yahoo[dot]co[dot]id
Plis jangan kirim hal yg bukan2 (virus, spam, komen kasar).
Yang diminta telah dijelaskan.
Silakan lihat entry lainnya... Ada di kanan halaman ini kok.
Jika belum punya, dianjurkan download Dev-Cpp di sana.
Jika ada yang perlu bantuan, sebisanya akan saya bantu.
Sayangnya, sepertinya web ini ga akan saya teruskan lagi... hahaha
Namanya juga tugas kuliah.
Blog ini isinya adalah beberapa program berbahasa C yang aku buat sendiri..
Pastinya sederhana karena dibuat oleh beginner.
Tapi gapapa lah, daripada blog ini kosong.
Kenapa sih harus ada blog ini? Ini tugas kuliah saya...
Internet dan seni, dua hal yang saya ga ngerti.
Jadi, kalau tampilan blog ini jelek adanya, ya harap maklum.
Biodata singkat:
Nama : Archie Pusaka
TTL : 17/01/1992
Kuliah : TI-Univ. Multimedia Nusantara (Semester 1 saat ini dibuat)
Hobi : Yang pasti bukan bikin blog
Interest : Game, programming
Email : arcturuss92[at]yahoo[dot]co[dot]id
Plis jangan kirim hal yg bukan2 (virus, spam, komen kasar).
Yang diminta telah dijelaskan.
Silakan lihat entry lainnya... Ada di kanan halaman ini kok.
Jika belum punya, dianjurkan download Dev-Cpp di sana.
Jika ada yang perlu bantuan, sebisanya akan saya bantu.
Sayangnya, sepertinya web ini ga akan saya teruskan lagi... hahaha
Namanya juga tugas kuliah.
Subscribe to:
Posts (Atom)