int main(){ int b; char a[51]; Kata A; Kata Terminator; Terminator.TabKata[1]='-'; Terminator.TabKata[2]='9'; Terminator.TabKata[3]='9'; Terminator.TabKata[4]='9'; Terminator.Length=4; PriorityQueue Q; CreatePriorityQueue(&Q); printf("Kata:"); scanf("%s",a); A=strToKata(a); while (!IsKataSama(A,Terminator)){ printf("Score:"); scanf("%d",&b); PQAdd(&Q,A,b); printf("Kata:"); scanf("%s",a); A=strToKata(a); } PQTulisdanHapus(&Q); return 0; }
void PrintInfoPlayer(Kata K) { if (SearchByName(global.listOfPlayer, K)) { InfoPlayer X = Info(SearchByName(global.listOfPlayer, K)); PrintElmtPlayer(X); return; } AddressOfPlayer P = Top(global.stackOfDefeated); while (P != Nil) { if (IsKataSama(Info(P).nama, K)) { break; } P = Next(P); } if (P) { printf("Player "); PrintKata(Info(P).nama); printf(" sudah kalah\n"); } else { printf("Tidak ada player "); PrintKata(K); printf("\n"); } }
boolean IsSetMember(Set S, infosettype X) { int i; int j=1; int k=1; boolean found; found = false; i = 1; while ((i<=SetNbElmt(S)) && (!found)) { if (IsKataSama(S.T[i],X)) found = true; else i++; } return found; }
void DeleteSet(Set *S, infosettype X) { int i,j; infosettype temp; boolean found; i=1; temp = (*S).T[1]; found = false; while (((i+1)<=SetNbElmt(*S))&& (!found)) { if (IsKataSama(temp,(*S).T[i])) found = true; else i++; } for (j=i;j<=SetNbElmt(*S);j++) (*S).T[j]=(*S).T[j+1]; (*S).NbElmt--; }
/* *** Mesin yang digunakan *** */ #include "mesinkata1.h" #include <stdio.h> Kata KataWHILE; /* Kata yang menyimpan WHILE */ int NWHILE; /* banyaknya kata WHILE */ int main(){ /*ALGORITMA*/ /* Inisialisasi KataWHILE */ KataWHILE.TabKata[1] = 'W'; KataWHILE.TabKata[2] = 'H'; KataWHILE.TabKata[3] = 'I'; KataWHILE.TabKata[4] = 'L'; KataWHILE.TabKata[5] = 'E'; KataWHILE.Length = 5; NWHILE = 0; STARTKATA("pitakar.txt"); while (!EndKata){ if (IsKataSama(KataWHILE, CKata)) NWHILE = NWHILE + 1; ADVKATA(); } /* CKata.Length = 0: CC sampai pada MARK */ printf ("%d\n",NWHILE); return 0; }
AddressOfPlayer SearchByName (ListPlayer L, Kata name) /*Mencari Alamat pemain dari ListPlayer. Pencarian dilakukan dengan menggunakan id player*/ { if (IsLPlayerEmpty(L)) { return Nil; } else { AddressOfPlayer P = First(L); boolean Found = false; do { if(IsKataSama(Info(P).nama, name)) Found = true; else P = Next(P); } while(P != First(L) && !Found); if(Found) return P; else return Nil; } }
List Read_Board_File (char filename[]) { Kata Kota; Kota.Length = 4; Kota.TabKata[0] = 'k'; Kota.TabKata[1] = 'o'; Kota.TabKata[2] = 't'; Kota.TabKata[3] = 'a'; Kata Pariwisata; Pariwisata.Length = 10; Pariwisata.TabKata[0] = 'p'; Pariwisata.TabKata[1] = 'a'; Pariwisata.TabKata[2] = 'r'; Pariwisata.TabKata[3] = 'i'; Pariwisata.TabKata[4] = 'w'; Pariwisata.TabKata[5] = 'i'; Pariwisata.TabKata[6] = 's'; Pariwisata.TabKata[7] = 'a'; Pariwisata.TabKata[8] = 't'; Pariwisata.TabKata[9] = 'a'; Kata Start; Start.Length = 5; Start.TabKata[0] = 's'; Start.TabKata[1] = 't'; Start.TabKata[2] = 'r'; Start.TabKata[3] = 'a'; Start.TabKata[4] = 't'; Kata Bonus; Bonus.Length = 5; Bonus.TabKata[0] = 'b'; Bonus.TabKata[1] = 'o'; Bonus.TabKata[2] = 'n'; Bonus.TabKata[3] = 'u'; Bonus.TabKata[4] = 's'; Kata Chance; Chance.Length = 6; Chance.TabKata[0] = 'c'; Chance.TabKata[1] = 'h'; Chance.TabKata[2] = 'a'; Chance.TabKata[3] = 'n'; Chance.TabKata[4] = 'c'; Chance.TabKata[5] = 'e'; Kata Penjara; Penjara.Length = 7; Penjara.TabKata[0] = 'p'; Penjara.TabKata[1] = 'e'; Penjara.TabKata[2] = 'n'; Penjara.TabKata[3] = 'j'; Penjara.TabKata[4] = 'a'; Penjara.TabKata[5] = 'r'; Penjara.TabKata[6] = 'a'; Kata Worldcup; Worldcup.Length = 8; Worldcup.TabKata[0] = 'w'; Worldcup.TabKata[1] = 'o'; Worldcup.TabKata[2] = 'r'; Worldcup.TabKata[3] = 'l'; Worldcup.TabKata[4] = 'd'; Worldcup.TabKata[5] = 'c'; Worldcup.TabKata[6] = 'u'; Worldcup.TabKata[7] = 'p'; Kata Worldtravel; Worldtravel.Length = 11; Worldtravel.TabKata[0]='w'; Worldtravel.TabKata[1]='o'; Worldtravel.TabKata[2]='r'; Worldtravel.TabKata[3]='l'; Worldtravel.TabKata[4]='d'; Worldtravel.TabKata[5]='t'; Worldtravel.TabKata[6]='r'; Worldtravel.TabKata[7]='a'; Worldtravel.TabKata[8]='v'; Worldtravel.TabKata[9]='e'; Worldtravel.TabKata[10]='l'; Kata Tax; Tax.Length = 3; Tax.TabKata[0]='t'; Tax.TabKata[1]='a'; Tax.TabKata[2]='x'; int i,j=0,counter1=0; Infotype X; List BoardL; CreateList(&BoardL); while (!EOP()) { if (counter1==0) { START(filename); } for (i=1; i<=3; i++) { ADVKATA(filename); if (i==1) { X.ptk.nama = CopyKata(CKata); } else if (i==2) { X.ptk.tipe = CopyKata(CKata); } else if (i==3) { X.ptk.currentplayer = CopyKata(CKata); } } if (IsKataSama(X.ptk.tipe,Kota)) { for (i=1; i<=travkota-3; i++) { ADVKATA(filename); if (i==1) { X.ptk.kotapariwisata.kepemilikan = CopyKata(CKata); } else if (i==2) { X.ptk.kotapariwisata.harga.beli = ConvertToBilangan(CKata); } else if (i==3) { X.ptk.kotapariwisata.harga.sewa = ConvertToBilangan(CKata); } else if (i==4) { X.ptk.kotapariwisata.harga.belipaksa = ConvertToBilangan(CKata); } else if (i==5) { X.ptk.kotapariwisata.harga.listoffered = ConvertToBilangan(CKata); } else if (i==6) { X.ptk.kotapariwisata.lvlbangunan = ConvertToBilangan(CKata); } else if (i==7) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } else if (i==8) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } else if (i==9) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } } } else if (IsKataSama(X.ptk.tipe,Pariwisata)) { for (i=1; i<=travpariwisata-3; i++) { ADVKATA(filename); if (i==1) { X.ptk.kotapariwisata.kepemilikan = CopyKata(CKata); } else if (i==2) { X.ptk.kotapariwisata.harga.beli = ConvertToBilangan(CKata); } else if (i==3) { X.ptk.kotapariwisata.harga.sewa = ConvertToBilangan(CKata); } else if (i==4) { X.ptk.kotapariwisata.harga.belipaksa = ConvertToBilangan(CKata); } else if (i==5) { X.ptk.kotapariwisata.harga.listoffered = ConvertToBilangan(CKata); } else if (i==6) { X.ptk.kotapariwisata.lvlbangunan = ConvertToBilangan(CKata); } else if (i==7) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } } } else if (IsKataSama(X.ptk.tipe,Start)) { } else if (IsKataSama(X.ptk.tipe,Bonus)) { } else if (IsKataSama(X.ptk.tipe,Chance)) { } else if (IsKataSama(X.ptk.tipe,Penjara)) { } else if (IsKataSama(X.ptk.tipe,Worldcup)) { } else if (IsKataSama(X.ptk.tipe,Worldtravel)) { } else if (IsKataSama(X.ptk.tipe,Tax)) { } if (counter1<1) { counter1++; } ADVKATA(filename); X.ptk.id = ConvertToBilangan(CKata); j++; if (j>0) { InsVLast(&BoardL,X); } if(!EOP()) { ADV(filename); ADV(filename); } } return BoardL; }