コード例 #1
0
 public void writeToFile(string namaFile, Kesimpulan kesimpulan, DateTime waktuMulaiEksekusi)
 {
     using (StreamWriter writer = new StreamWriter(namaFile + ".txt", true))
     {
         writer.WriteLine("Struktur Nama File : " + "NAMA METODE _ FUNGSI EVALUASI _ JUMLAH THREAD _ WAKTU MOVE _ JUMLAH PERTANDINGAN");
         writer.WriteLine("==========================================================================");
         writer.WriteLine("Waktu Mulai Eksekusi : " + waktuMulaiEksekusi);
         writer.WriteLine("Waktu Selesai Eksekusi : " + DateTime.Now);
         writer.WriteLine("==========================================================================");
         writer.WriteLine("Permainan-ke\t Hasil\t Rata-rata simulasi (move)");
         writer.WriteLine("==========================================================================");
         for (int i = 0; i < dg.Items.Count; i++)
         {
             Result tmpResult = dg.Items[i] as Result;
             writer.WriteLine("{0}\t\t {1}\t {2}", tmpResult.permainanKe, tmpResult.hasilPermainan, tmpResult.jlhSimulasi);
         }
         //writer.WriteLine("==========================================================================");
         //writer.WriteLine(kesimpulan.getStringWinRate());
         //writer.WriteLine(kesimpulan.getStringDrawRate());
         //writer.WriteLine(kesimpulan.getStringLossRate());
         //writer.WriteLine(kesimpulan.getStringSimulationRate());
     }
     //Console.Clear();
     //parallelization.closeConsole();
     matikanKomputer();
 }
コード例 #2
0
        private Kesimpulan calculateKesimpulan()
        {
            Kesimpulan ret = new Kesimpulan();

            for (int i = 0; i < dg.Items.Count; i++)
            {
                Result tmpHasil = ((Result)dg.Items[i]);
                if (tmpHasil.hasilPermainan == RESULT.WIN)
                {
                    ret.winRate += 1;
                }
                else if (tmpHasil.hasilPermainan == RESULT.LOSS)
                {
                    ret.lossRate += 1;
                }
                else
                {
                    ret.drawRate += 1;
                }
                ret.simulasiRate += tmpHasil.jlhSimulasi;
            }
            ret.lossRate     = (ret.lossRate / jlhPertandingan.Value.Value) * 100;
            ret.winRate      = (ret.winRate / jlhPertandingan.Value.Value) * 100;
            ret.drawRate     = (ret.drawRate / jlhPertandingan.Value.Value) * 100;
            ret.simulasiRate = (ret.simulasiRate / jlhPertandingan.Value.Value);
            return(ret);
        }
コード例 #3
0
        private void onClick_TPLM(object obj, RoutedEventArgs e)
        {
            dg.Items.Clear();
            this.txtTPLM.Text = "";
            DateTime mulaiEksekusi = DateTime.Now;

            for (int m = 0; m < jlhPertandingan.Value.Value; m++)
            {
                inisiasiGame();
                TPLM(m, jlhThread.Value.Value, board);
            }
            ;
            Kesimpulan tmpKesimpulan = calculateKesimpulan();

            txtTPLM.Clear();
            txtTPLM.Text = tmpKesimpulan.getKesimpulan();
            writeToFile("TPLM_" + ((radioCR.IsChecked.Value) ? "CR" : "CR_SR") + "_" + jlhThread.Value.Value.ToString() + "_" + wktMove.Value.Value.ToString() + "_" + jlhPertandingan.Value.Value.ToString(), tmpKesimpulan, mulaiEksekusi);
        }