Kuo's Blog

競程筆記|個人網站

在閱讀此篇文章前,作者建議:您已有程式的基礎底子,並且此篇著重於程式碼的部分,其餘皆為概略步驟。

請注意文章日期的時效性

為何要使用 Cog 寫法

在使用這種寫法前,我是既不熟悉 Python 語法,以及其特色(其實是忘記了),所以好一段時間放棄了用 Python 寫。但現在稍微略懂之後,才發現這種寫法有很多好處:

  1. 好維護
  2. 事件函式與前綴指令不會衝突
  3. 前綴指令不用一直重新啟動 Bot
  4. 指令可分類

總之,其實只需要修改幾行程式碼,就可以讓你的整體結構更清晰易懂,還不快點使用這種寫法。你可以在 discord.py Cogs 官方文檔 中找到更多詳細解說。

閱讀全文 »

簡述

檔案讀寫的用途以小作品來說是常常會用到的,像是遊戲的歷史紀錄、模擬貼文等等,想用 txt 檔存資料的時候都很常使用。

使用檔案讀寫功能請先引入 <fstream> 標頭檔。

ofstream 表示要輸出到某文件的類別,而不是要輸出到程式。
ifstream 同理,只是這是輸入到程式中,而不是輸入到檔案。

閱讀全文 »

簡述

高中生涯就快告一段落了,在畢業前一週閒閒沒事,一直在想除了解題還可以幹嘛,所以更早之前做了一個地震報告的靜態網頁,現在又搞了一個踩地雷╰(*°▽°*)╯

主要會練習到:

  1. 圖論的 BFS or DFS
  2. C++ 時間戳轉當地時間
  3. 讀檔、寫檔(iofstream)
閱讀全文 »

簡介

有一個類型叫 iostream,它同時是輸入流也是輸出流,而 stringstream 正是一種 iostream。它不像標準流,有固定的輸出去向或輸入來源,簡單來講,它就是一個流水線,你可以從任何地方放東西進去、然後再把裡面的東西拿出來到任何地方。像是你就無法在程式中把標準輸出流的緩衝區裡的東西拿出來,你只能在 terminal 或它導向的檔案裡見到你放進標準輸出流的東西(就是你輸出的東西)。
WIWIHO 的競程筆記

簡單來說,就是可以將某個東西放進 stringstream,再把它拿出來,也不用判別它的資料型態。

應用

  • 是轉換資料型態的好幫手
  • 可以做字串切割
閱讀全文 »

簡介

字串顧名思義就是字元的陣列,我們通常可以用 index 找字串中的某個字元,然後做處理或判斷。

閱讀全文 »

簡介

在競程中,常有幾種形式出現 BFS 題目,包括但不限於圖論的 Array、Tree 等。

原理

通常以 Queue 來實現 BFS。若找到此處為可走路徑,則加入其出邊至 Queue 容器(要判斷是否為邊界、是否走過)。

閱讀全文 »