歡迎光臨 紫楓粉絲頁

  • 紫楓碎碎唸

    紫楓 FB 粉專

  • 王紫楓

    紫楓 Youtbue 頻道

從中二病開始的異世界生活(1) 第9487號勇者

前言:

中二病是源自日本的網路流行語,泛指一種自我認知心態,用以形容一些經常自以為是地活在自己世界或做出自我滿足的特別言行的人,青春期特有的價值觀的總稱。雖然稱「病」,但和醫學上的「疾病」沒有任何關係。華文中接近中二病意象的字詞有年少輕狂、少不更事等,但都未能精準地描述中二病........

中二病的解釋另有自我價值觀擴大,使自身腦內對於現實世界強制性的套用上自己設置的規則等。一般常見的中二病患者是將幻想類小說和動畫中常見的題材加上自我概念的修改所製造出的規則套用於自己與現實身上,覺得沒有人瞭解自己,只有他懂自己之類與正常人的思想格格不入的思想.......
                                                                  by wikipedia   2017.3.4

---------------------------------------------------------------------
序章:

我是紫楓,目前讀高三,正處於一個準備升學考的日子,應該沒什麼好自我介紹的,因為接下來發生的事件,和我的背景一點關係也沒有。

一如往常,在下課回家的路上,背著不知道會不會考的英文單字,走到了我家巷子前的路口,這是一個在平常也不過的回家過程,幾乎每一天都是一樣經驗,但今天不一樣。
在等紅綠燈的同時,看到對面滾出了一顆球,然後一個小女孩跑了出來,然後一台砂石車正要衝過路口,我大喊了一聲危險,也不知道是哪來的衝動,就一整個人衝了出去,一般這種狀況就是要抱開那個小女孩,但接下來,我應該是失去了知覺了...

醒來之後,我坐在一張椅子上,頭痛欲裂,在一個空無一物的昏暗房間裡。
我眼睛漸漸適應了黑暗,看到我前面有一張豪華的椅子背對著我。

我心裡大概有個底了,這劇情我看多了,前面應該是個美少女,然後對我說我的人生到這裡為止了,雖然這輩子沒做過什麼好事,但是因為臨死前做了件好事,所以給我第二人生的機會,可能跑去異世界,可能去當靈界偵探什麼的。

這裡是...? 我抱著疼痛不已的頭低聲問道

如我所料,前面的椅子緩緩地轉了過來。

肖年郎,你醒了喔。前方說

等等這個聲音怎麼是一個中年大叔的聲音,我的美少女呢?

椅子面對我,我整個人傻了,坐在椅子上的是一隻鳥,嚴格上來講,應該算是貓頭鷹。頭上戴著一副耳機,雙手(翅膀)交叉的看著我。

啊...鳥先生你好,這裡是哪裡? 看著眼前怪異的光景,我像是忘記了頭痛道。

這裡是歐波伊大陸的歐波伊王國的新米村

我雖然說地理不好,但聽到這個地名,也很肯定這裡絕對不是台灣 

我道:所以這裡是死後的世界

誰跟你死後的世界,我還活得好好的你看不出來嗎?要死你自己去。

那我為什麼在這裡?

啊就你自己跑進來的,我們這裡每逢神臨之時,就會有很多勇者出現,然後要去討伐魔王。

這劇情也太老梗了吧,我忍不住吐槽了一下,續道,所以我是勇者?

是的,你是今年的9487號勇者,歡迎。我是歐波鷹。

歐波伊王國的歐波鷹,這名字也取的太偷懶了吧,我在心裡低估了一下道: 所以有這麼多勇者要一起去討伐魔王。

歐波鷹露出的一個無可奈何的表情道: 其實我現在也搞不清楚為什麼會有這麼多人跑過來了,一般而言,一個就夠了,但今年不知道發生了什麼事,一拖拉庫的人跑了過來,其中大部分的都說是從地球過來的,有可能是某個次元裂縫沒關好,就這樣跑了一堆勇者過來,我的職業是勇者的引路人,但帶了這麼多團,我都覺得自己像是導遊了。你們有沒有考慮過我的心情啊!!原本是神聖的勇者引路人,現在根本就是導遊,介紹完這個世界,然後才發現這個人弱的跟屁一樣,根本不是勇者,還要幫他仲介工作,以免他餓死在這裡。

我好像啟動了歐波鷹的抱怨模式了,什麼引路人什麼仲介,我還搞得不是很清楚,但他似乎越講越怒,我還是先打斷他一下好了,不然我也聽不懂他在講什麼。

我揮著手道: 等等,你說勇者太弱,所以我們其實不是勇者囉? 那我可以回家了吧?

肖年郎,你剛剛沒聽到我說要幫他仲介工作嗎? 只要沒打倒魔王,你們這群9487都回不去!!

靠! 你說我們回不去,我還要回去考試耶!

那你先打倒魔王啊

我又不是勇者...

你不一定唷,我看了一下你的資料,或許你是這群人之中最有潛力打倒魔王的。

蛤? 我有潛力?

為什麼勇者要從異世界來,是因為異世界的人們擁有我們歐波伊大陸所沒有的中二之力,只要越中二病,就會越強大,我看你從頭到腳就是個中二

我哪裡中二了,你別血口噴人了,而且我高三了。

你的名字叫紫楓,光名字就滿滿的中二啊!!

名字我媽取的啊!!

還有你這個滿頭金髮,還載著墨鏡,說你不中二怎麼可能

我爸那邊有俄羅斯人的基因,而且這個不是墨鏡,這叫做全視線,遇到太陽才會變黑

喔,看來是不到黃河心不死了,你在國中的時候參加了動漫社和國術社,自以為是國術超人,下樓梯都用極度奇怪的姿勢,自以為是在練輕功。

啊!!!為什麼你知道這段黑歷史。這是我最不想被人提起的過去。為此我還特地考了間,離家裡最遠的高中,就是不想再見到國中同學。

呵,我可是勇者引路人呢,連你屁股有幾根毛都知道得一清二楚

我心想明明是隻肥鳥,還這麼囂張,但看來牠知道我的過去,姑且不論牠是如何知道的,如果牠所言屬實的話,那我為了要回歸原來的世界,居然要在這裡釋放我人生中最大的汙點,這實在是太令人傷心了。

雖然很不願意但我也只能和他合作了,我道: 好吧,那我要怎麼去打倒魔王

打怪練等衝裝備

靠邊,這哪招啊! 也講得太直白了吧


Kotlin 中最常見的 10 個問題

 

  1. 什麼是 Kotlin?

Kotlin 是一門由 JetBrains 開發的程式語言,它是 Java 的一個靜態類型語言。Kotlin 具有簡潔的語法、強大的功能和安全的特性。

  1. Kotlin 的優勢是什麼?

Kotlin 的優勢包括:

  • 簡潔的語法:Kotlin 的語法比 Java 更簡潔,更易於理解和學習。
  • 強大的功能:Kotlin 提供了豐富的功能,可以幫助開發人員編寫更簡潔、更高效的應用程式。
  • 安全的特性:Kotlin 是一門安全的語言,可以幫助開發人員避免一些常見的錯誤。
  1. Kotlin 與 Java 有什麼不同?

Kotlin 與 Java 的主要區別包括:

  • 語法:Kotlin 的語法比 Java 更簡潔,更易於理解和學習。
  • 類:Kotlin 的類具有更靈活的繼承模型。
  • 函數:Kotlin 的函數可以有默認值和可選參數。
  • 運算符:Kotlin 提供了一些新的運算符。
  1. 如何開始使用 Kotlin?

要開始使用 Kotlin,您可以按照以下步驟操作:

  1. 安裝 Kotlin 開發工具。

  2. 創建一個新的 Kotlin 項目。

  3. 編寫 Kotlin 程式碼。

  4. Kotlin 可以用來做什麼?

Kotlin 可以用來開發各種應用程式,包括:

  • Android 應用程式
  • Web 應用程式
  • 桌面應用程式
  • 遊戲
  • 服務器端應用程式
  1. Kotlin 的未來如何?

Kotlin 的未來看起來很光明。Kotlin 已經得到了 Google 的支持,並且正在被越來越多的開發人員使用。

  1. Kotlin 與其他程式語言有什麼相似之處?

Kotlin 與以下程式語言有相似之處:

  • Scala:Kotlin 和 Scala 都是靜態類型語言,具有函數式編程特性。
  • Swift:Kotlin 和 Swift 都是靜態類型語言,具有簡潔的語法。
  • Go:Kotlin 和 Go 都是靜態類型語言,具有簡潔的語法和強大的性能。
  1. Kotlin 的缺點是什麼?

Kotlin 的缺點包括:

  • 生態系統:Kotlin 的社區還在發展中,因此 Kotlin 的庫和工具可能不如 Java 的豐富。
  • 兼容性:Kotlin 與 Java 兼容,但 Kotlin 程式碼不能直接在 Java 環境中執行。
  1. Kotlin 的未來趨勢是什麼?

Kotlin 的未來趨勢可能包括:

  • 繼續得到 Google 的支持。
  • 在 Android 開發中得到更廣泛的使用。
  • 在其他領域得到更廣泛的使用,例如 Web 開發和桌面應用程式開發。
  1. 哪裡可以學習 Kotlin?

有許多資源可以用來學習 Kotlin,包括:

  • 官方 Kotlin 教程
  • Kotlin 書籍
  • Kotlin 線上課程

此外,您還可以通過 Kotlin 社區學習 Kotlin。 Kotlin 社區非常活躍,您可以在 Stack Overflow、Reddit 和其他論壇上找到幫助。

使用 Kotlin 開發 Android 的各個組件

 使用 Kotlin 開發 Android 的各個組件,可以分為以下幾個步驟:

  1. 創建一個新的 Android 項目

使用 Android Studio 創建一個新的 Android 項目,並選擇 Kotlin 作為程式語言。

  1. 添加依賴項

如果需要使用 Android 框架中的某些功能,需要添加相應的依賴項。例如,如果需要使用 Jetpack 中的 Jetpack Navigation,需要添加以下依賴項:

Groovy
dependencies {
    implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
    implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'
}
  1. 編寫 Kotlin 程式碼

使用 Kotlin 編寫 Android 應用程式,與使用 Java 編寫 Android 應用程式基本相同。

Activity

Activity 是 Android 應用程式的窗口,用於顯示用戶界面。使用 Kotlin 編寫 Activity,需要繼承 androidx.appcompat.app.AppCompatActivity 類。

以下是一個簡單的 Activity 示例:

Kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Fragment

Fragment 是 Activity 中的一個可插拔部分,用於顯示用戶界面的一部分。使用 Kotlin 編寫 Fragment,需要繼承 androidx.fragment.app.Fragment 類。

以下是一個簡單的 Fragment 示例:

Kotlin
class MyFragment : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_my, container, false)
    }
}

View

View 是 Android 應用程式的可視元素,用於與用戶進行交互。使用 Kotlin 編寫 View,需要繼承 View 類。

以下是一個簡單的 View 示例:

Kotlin
class MyView : View(context) {

    override fun onDraw(canvas: Canvas) {
        canvas.drawText("Hello, world!", 100f, 100f, paint)
    }
}

Service

Service 是 Android 應用程式的後台服務,用於在後台執行任務。使用 Kotlin 編寫 Service,需要繼承 android.app.Service 類。

以下是一個簡單的 Service 示例:

Kotlin
class MyService : Service() {

    override fun onCreate() {
        super.onCreate()

        // 執行後台任務
    }

    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        return START_STICKY
    }
}

BroadcastReceiver

BroadcastReceiver 是 Android 應用程式用於接收系統廣播的類。使用 Kotlin 編寫 BroadcastReceiver,需要繼承 android.content.BroadcastReceiver 類。

以下是一個簡單的 BroadcastReceiver 示例:

Kotlin
class MyBroadcastReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent) {
        // 處理廣播
    }
}

ContentProvider

ContentProvider 是 Android 應用程式用於提供數據的類。使用 Kotlin 編寫 ContentProvider,需要繼承 android.content.ContentProvider 類。

以下是一個簡單的 ContentProvider 示例:

Kotlin
class MyContentProvider : ContentProvider() {

    override fun onCreate(): Boolean {
        return true
    }

    override fun query(
        uri: Uri,
        projection: Array<String>?,
        selection: String?,
        selectionArgs: Array<String>?,
        sortOrder: String?
    ): Cursor? {
        // 返回數據
        return null
    }
}

深入淺出學會編寫程式: https://pse.is/3ksear

Kotlin 實戰手冊: https://bookstw.link/5g3bsy

程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061

紫楓FB專頁: https://www.facebook.com/tbpfs2/

紫楓blog: https://tbpfs1.blogspot.com/

斗內專線: https://pse.is/KUYMP





Kotlin 在 Android 中的應用

 Kotlin 在 Android 中的應用主要包括以下幾個方面:

  • 編寫 Android 應用程式

Kotlin 可以用來編寫 Android 應用程式。Kotlin 的簡潔語法和強大的功能可以幫助開發人員更快、更輕鬆地編寫 Android 應用程式。

  • 開發 Android 框架

Kotlin 也可以用來開發 Android 框架。Kotlin 的函數式編程特性可以幫助開發人員編寫更簡潔、更高效的框架。

  • 測試 Android 應用程式

Kotlin 可以用來測試 Android 應用程式。Kotlin 的測試框架提供了豐富的功能,可以幫助開發人員更輕鬆地編寫和執行測試。

具體應用

Kotlin 在 Android 中的應用已經非常廣泛。以下是一些使用 Kotlin 開發的 Android 應用程式:

  • Google 自己的應用程式,包括 Gmail、Google Maps、Google Play 等。
  • 第三方應用程式,包括 WhatsApp、Spotify、Uber 等。

優勢

Kotlin 在 Android 中的應用具有以下優勢:

  • 更簡潔的語法:Kotlin 的語法比 Java 更簡潔,更易於理解和學習。
  • 更強大的功能:Kotlin 提供了豐富的功能,可以幫助開發人員編寫更簡潔、更高效的應用程式。
  • 更安全的語言:Kotlin 是一門安全的語言,可以幫助開發人員避免一些常見的錯誤。

結論

Kotlin 在 Android 中的應用越來越廣泛。Kotlin 的優勢可以幫助開發人員更快、更輕鬆地開發高質量的 Android 應用程式。


深入淺出學會編寫程式: https://pse.is/3ksear

Kotlin 實戰手冊: https://bookstw.link/5g3bsy

程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061

紫楓FB專頁: https://www.facebook.com/tbpfs2/

紫楓blog: https://tbpfs1.blogspot.com/

斗內專線: https://pse.is/KUYMP

Kotlin 集合模塊

 Kotlin 集合模塊提供了一系列集合類型,可用於存儲和處理數據。集合類型包括:

  • List:有序的集合,允許重複元素。
  • Set:無序的集合,不允許重複元素。
  • Map:鍵值對集合。

List

List 類是一種有序的集合,允許重複元素。List 類提供了一系列方法,可用於操作集合中的元素,包括:

  • add():添加元素到集合中。
  • remove():從集合中移除元素。
  • get():獲取集合中的元素。
  • size():獲取集合中的元素數量。

Set

Set 類是一種無序的集合,不允許重複元素。Set 類提供了一系列方法,可用於操作集合中的元素,包括:

  • add():添加元素到集合中。
  • remove():從集合中移除元素。
  • contains():檢查集合中是否包含元素。
  • size():獲取集合中的元素數量。

Map

Map 類是一種鍵值對集合。Map 類提供了一系列方法,可用於操作集合中的元素,包括:

  • put():添加元素到集合中。
  • get():獲取集合中的元素。
  • containsKey():檢查集合中是否包含鍵。
  • size():獲取集合中的元素數量。

示例

以下程式碼演示了如何使用 List 類:

Kotlin
fun main(args: Array<String>) {
    val list = listOf(1, 2, 3, 4, 5)

    println(list) // [1, 2, 3, 4, 5]

    list.add(6)
    println(list) // [1, 2, 3, 4, 5, 6]

    list.remove(2)
    println(list) // [1, 3, 4, 5, 6]

    println(list[1]) // 3

    println(list.size) // 5
}

以下程式碼演示了如何使用 Set 類:

Kotlin
fun main(args: Array<String>) {
    val set = setOf(1, 2, 3, 4, 5)

    println(set) // [1, 2, 3, 4, 5]

    set.add(6)
    println(set) // [1, 2, 3, 4, 5, 6]

    set.remove(2)
    println(set) // [1, 3, 4, 5, 6]

    println(set.contains(2)) // false

    println(set.size) // 5
}

以下程式碼演示了如何使用 Map 類:

Kotlin
fun main(args: Array<String>) {
    val map = mapOf("a" to 1, "b" to 2, "c" to 3)

    println(map) // {a=1, b=2, c=3}

    map["d"] = 4
    println(map) // {a=1, b=2, c=3, d=4}

    println(map["a"]) // 1

    println(map.size) // 4
}

結論

Kotlin 集合模塊提供了豐富的集合類型,可用於存儲和處理數據。Kotlin 開發人員可以根據自己的需要選擇合適的集合類型。


深入淺出學會編寫程式: https://pse.is/3ksear

Kotlin 實戰手冊: https://bookstw.link/5g3bsy

程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061

紫楓FB專頁: https://www.facebook.com/tbpfs2/

紫楓blog: https://tbpfs1.blogspot.com/

斗內專線: https://pse.is/KUYMP