Tambahan pula, anda boleh menggunakan template grafik anda untuk mengemas kini.

Penulis:Mimpi kecil, Dicipta: 2016-07-26 09:47:34, Dikemas kini: 2017-10-11 10:20:34

Tambahan pula, anda boleh menggunakan template grafik anda untuk mengemas kini.

  • Untuk memudahkan penggunaan jadual keadaan, data yang dipaparkan lebih teratur. Tambahan ciri baru pada templat carta. Ia membolehkan anda menampilkan maklumat pada jadual keadaan yang disesuaikan. Pelajar baru tidak perlu lagi mengkonfigurasi objek jadual keadaan.
    Pertama, tulis fungsi eksport yang ditambahkan, dan gambaran.
    • Objek TV // global, objek global ini bertanggungjawab untuk menguruskan apa yang dipaparkan dalam jadual, serta mengubah isi jadual.
    • $.TableInit = function ((cols,rows) // Fungsi eksport ini digunakan untuk menginisialisasikan jadual rajah keadaan, sebelum digunakan, anda boleh mengisytiharkan cols = [nilai],rows = [nilai], kemudian menyampaikan parameter pembolehubah.Cols//baris,rows//baris.Membuat jadual secara automatik.Dan mengembalikan objek TV untuk menulis data dalam dasar rujukan template.
    • $.UpdateLogStatus = function() // Fungsi eksport ini digunakan untuk mengemas kini jadual status. Contohnya: var table = $.TableInit(6,5); selepas dijalankan, table.a0 = aaaa; kemudian memanggil fungsi eksport: $.UpdateLogStatus(, anda boleh mengemas kini aaaa ke baris a, baris 0..
    • Jika anda menetapkan kols, koordinat jadual selepas baris adalah seperti ini. Apabila digunakan, lawatan langsung ke table.a0 ((dengan syarat anda memanggil var table = $.TableInit ((6,5);)) anda boleh menulis ke kedudukan a0 dalam jadual seperti berikut.
    • Nota: Header adalah sel (header) dengan koordinat a0, b0, c0... [Masalah ini telah diperbaiki, kandungan data header boleh sama]:
a b c d
0 a0
1 b1
2 d2
3 c3
4
5
6
7
8

img

  • Berikut adalah kod untuk menguji fungsi utama dalam templat:
//测试状态栏表格功能
    var cols = 6;//列
    var rows = 4;//行
    $.TableInit(cols,rows);

img

  • Cuba teruskan untuk menguji fungsi:
    /*测试状态栏表格功能*/
    var cols = 6;//列 设置一个变量 代表 列
    var rows = 4;//行 设置一个变量 代表 行
    $.TableInit(cols,rows); //初始化  状态栏  会显示  各个单元格的 坐标
    ///*
    for(var x in TV){
        TV[x] = "lalala";// 全部单元格写成 lalala
    }
    //更新表格 显示  lalala, 表头 数据不能重复 ,否则显示不出来。
    TV.a0 = "a0";
    TV.b0 = "b0";
    TV.c0 = "c0";
    TV.d0 = "d0";
    TV.e0 = "e0";
    TV.f0 = "f0";//先把 表头数据写成不一样的

    $.UpdateLogStatus();//更新 状态栏表格

imgSelain data yang ditulis secara berasingan pada tajuk, sel-sel lain menulis strings "lalala".

  • Jadi, adakah sel hanya boleh menulis strings? Mari kita bereksperimen dan lihat bagaimana kita menulis pelbagai, nilai, objek, teks, data ini.
    /*测试状态栏表格功能*/
    var cols = 6;//列 设置一个变量 代表 列
    var rows = 4;//行 设置一个变量 代表 行
    $.TableInit(cols,rows); //初始化  状态栏  会显示  各个单元格的 坐标
    ///*
    for(var x in TV){
        TV[x] = "lalala";// 全部单元格写成 lalala
    }
    //更新表格 显示  lalala, 表头 数据不能重复 ,否则显示不出来。
    TV.a0 = "a0";
    TV.b0 = "b0";
    TV.c0 = "c0";
    TV.d0 = "d0";
    TV.e0 = "e0";
    TV.f0 = "f0";//先把 表头数据写成不一样的

    $.UpdateLogStatus();//更新 状态栏表格

    ///*
    //怎么在 表格里面写入数据呢?
    var num = 100;
    var text = "文本:测试表格文本";
    var obj = {name:"对象",age:"19",sex:"girl"};
    var array = ["数组",22,33,54];
    TV.a1 = num;
    TV.c2 = text;
    TV.b3 = obj;
    TV.b0 = array;

    $.UpdateLogStatus();//再次更新 状态栏表格
    //*/

img

Di atas adalah ujian dalam templat, cuba uji fungsi templat di bawah dalam dasar rujukan templat:
function main(){
    var i = 0;
    var table = $.TableInit(4,5);
    for(var x in table){//向表格写入数据
        table[x] = "" + i;// 全部单元格写成 递增的数字
        i++;
    }
    //更新表格 显示  递增的数字, 表头 数据不能重复 ,否则显示不出来。
    table.a0 = "a0";
    table.b0 = "b0";
    table.c0 = "c0";
    table.d0 = "d0";
    table.a1 = "a1";
    table.b1 = "b1";
    table.c1 = "c1";
    table.d1 = "d1";
    table.a4 = "a4";
    table.b4 = "b4";
    table.c4 = "c4";
    table.d4 = "d4";
    //Log("TV:",TV);//测试是否能 访问到模板中的TV 对象 
    $.UpdateLogStatus();
}

imgKami telah mengemas kini ciri ini untuk sementara, selamat mencuba, jika ada bug, sila cadangkan lebih banyak, tinggalkan catatan.^^


Lebih lanjut

Pembelajaran BerjayaTypeError: $.UpdateLogStatus is not a function Apakah yang berlaku?

Pembelajaran BerjayaKlik pada templat dasar yang disalin dan klik pada butang kembali semula dalam talian, dan kemudian saya juga merujuk kepada templat ini dalam dasar saya sendiri, tetapi data berjalan, masih memberikan ralat: TypeError: undefined not callable (property 'TableInit' of [object Object]) at main (__FILE__:315)

hokshelatoPeriksa semula dengan baik, tetapi silap pada cakera analog: `ReferenceError: identifier 'indicatorsName' undefined at [anon] (__FILE__:1388) at global (__FILE__:1694) preventsyield`

FangBeiJalankan dengan dasar baru, mencadangkan main:3:19 - TypeError: $.TableInit is not a function Adakah kaedah yang salah? Bagaimana ujian templat rujukan digunakan?

Junko$.UpDateLogStatus (); Nama fungsi ini agak bermasalah. Update adalah perkataan, D tidak boleh ditulis besar.

MuiaMimpi kecil, kesukaran

Mimpi kecilTidak sopan ^^

Pembelajaran BerjayaSaya cuba berkali-kali, dan sudah selesai, terima kasih kepada Dream Total.

Mimpi kecilLihat kod pada baris 315 fungsi utama untuk melihat sama ada nama fungsi salah.

Mimpi kecilAdakah strategi merujuk kepada templat ini?

Mimpi kecilKesalahan ini sepatutnya disebabkan oleh parameter indicatorsName. Parameter ini adalah parameter antara muka. Kemudian, anda akan menyalin lagi langkah ini dengan membuat bot baru yang telah disalin dan kemudian berlari untuk melihat sama ada ia akan membuat kesilapan.

hokshelatoSaya adalah templat dasar yang disalin dengan mengklik salinan dan mengulang semula butang dalam talian, dan kemudian saya juga merujuk kepada templat ini dalam dasar saya sendiri, parameter dasar ditunjukkan dengan normal. Hasil ujian semula adalah baik, kemudian saya membina robot baru B yang juga diuji dengan baik, membuktikan bahawa strategi itu sendiri tidak bermasalah. Tetapi tidak tahu mengapa, ia akan membuat kesilapan pada robot A, kedua-dua bot juga mempunyai konfigurasi yang sama, yang agak pelik.

Mimpi kecilSaya cuba, okay, laporan anda yang salah, saya meneka: Jika anda ingin menyalin secara langsung kod yang ada dalam dasar baru, templat ini mempunyai beberapa parameter antara muka. Jika anda hanya menyalin kod, parameter ini perlu dikonfigurasi secara manual. Templat ini adalah catatan ini: https://www.botvs.com/strategy/20967 Di bawah ini, anda perlu mengklik butang Salin.

Mimpi kecilUntuk memilih templat ini dalam dasar, selain itu, templat ini adalah bahasa JS, jika anda menulis dasar dengan Python, walaupun anda menyalin templat ini ke Pusat Kawalan anda, ia tidak dapat dilihat atau dirujuk (iaitu pilihan).

Mimpi kecil^ ^ Titik jari depan adalah, seperti ini ditulis di luar baris~~ mengubahnya.

Mimpi kecilMudah untuk anda gunakan ^^