歡迎來到巫術社!

程式無所不在。像巫術般創造各種意想不到的奇跡,像使魔般協助並豐富我們的生活!
但是!周圍圍繞著形形色色的使魔服務著你,你就滿足了嗎?

不想更深入地了解使魔嗎?不想親手創造只屬於自己的使魔,並隨喜好任意調教嗎?
不想將這些創造奇跡之術掌握在自己手中嗎?不想知道如何使役這些人外之力嗎?
只要你想,不要猶豫,立即加入巫術社吧!我們將引導你得到你渴望的一切!

在這裏,你可以找到什麼?
巫術社的特色是: 我們討厭透過抽象難解又空虛的理論去解釋或理解事物。
尤其這領域是由人類所創造,因此所有概念的由來絕對都有理可循。
人間不只四處皆程式,甚至只要仔細觀察,便會發現充滿程式的道理。
在巫術社,我們將用最淺顯易懂的方式介紹專業高深的理論與技巧!
我們將一反大半書籍與教材的做法,適合初學者又不失其深度;
活潑有趣卻不失學習效率,寓教於樂、學習於不自覺間!
拒絕填鴨與背誦式訓練,追求隨機應變的靈活思緒,讓大家盡情揮灑創意!

我們認為教語言不該只學文法背字典,而要從根本了解語意與由來,自然能運用自如;
學寫作技巧不該只是練習引經據典,更不該從充滿數學記號和證明的理論看起!
我們會教你每一招每一式背後的原理與想法,讓你招招無式卻蘊涵無限巧思,最後隨心所欲而不逾矩!

目前巫術社已有下列主題:
0. 從C語言體會如何將想法寫成程式。
1. 如何找到合適的練功場(Online Judge)及合適的題目,練習快速正確地寫出有效率的程式。
陸續增加中,請期待續集!

未來的預定:
0. 各種與程式相關的雜談與心得
1. 如何巧妙地將基本拳腳組成威力無比的連續技: 演算法與資料結構
2. 如何更巧妙地思考與創造新招式: 演算法的設計原理
3. 更多個性豐富的程式語言
4. 如何製作一個遊戲: 程式面的一切
5. 日漸強大而完備的舞台: Web
其它更多未來我們將學會的一切經驗與心得,也都將在此分享!盡情地期待吧!
如果有什麼有趣的主題也歡迎提出,若情況允許也會在學成後列入預定!

關於巫術社主人「沙耶」: 又稱sa,為網路代號sa072686之縮寫。
沙耶原為日本美少女遊戲沙耶の唄的女主角,實為非人之種族。
雖有接近人類的內心,仍因異於人而無法被接納,無處可歸。直到遇見持有相似視點與價值觀之主角…
由於自身價值觀與經歷異於常人而有所感,故借為暱稱。
本身熱愛程式,並決心一生不計利益得失奉獻於此。
盼巫術社能引來更多同好、使有興趣入門者不致迷失方向而多走冤枉路!
有興趣想和我私聊的話,也歡迎來信交流!

[0.0] UVa 10055

http://luckycat.kshs.kh.edu.tw/homework/q10055.htm
http://uva.onlinejudge.org/external/100/10055.html

又是一題簡單題,求兩數差的絕對值有什麼難的?白癡都會!
但是,這題的難處不在這裏;注意到輸入格式了嗎?這些數不會超過2的32次方。
int只能存有限大小的整數,而這範圍是-2147483648至2147483647。
WTF!?超過了我們的秘傳口訣2147483647=2的31次方減1,代表int存不下,怎麼辦!?

沒關係,我們將傳授你如何使用更大的整數容器!

[0.0] UVa 10071

http://luckycat.kshs.kh.edu.tw/homework/q10071.htm
http://uva.onlinejudge.org/external/100/10071.html

一樣是善良的一題!需要記得一點..國中物理,不記得也沒關係我會帶著大家解!
這題標準的練習多重輸入用,只要手算出公式其它都不是問題!
最麻煩的地方在於它並不會告訴你何時輸入結束,也不會預先告訴你總共有幾組輸入,批改娘高興丟幾組就丟幾組!

幸好批改娘會用檔案的方式丟,檔案大小是有限的,你家使魔只要有辦法在限定時間內,讀到檔案結尾並處理完所有輸入就沒問題啦!
這邊我們會教你如何處理這種方式,即使現在逐漸不使用這種輸入方式,但在UVa這堆老題目中,還是相當常見的。

[0.0] UVa 11172

http://luckycat.kshs.kh.edu.tw/homework/q11172.htm
http://uva.onlinejudge.org/external/111/11172.html

非常善良的一題,根本就是OJ中的史萊姆、波利般的存在啊!
就讓牠成為踏上英雄之路的第一步吧,牠一定會感到很光榮的!
再不然..OJ的第一次就獻給他了,這樣夠光榮了吧啊哈哈哈哈~

[初章] 07 迷宮裏初試身手

學到這裏,程式的基礎也差不多告一段落啦!接下來沒有太多新東西了~
什麼!?明明只學了沒幾樣語法,竟然把博大精深C語言學得差不多了!?
嘿嘿,雖然還差得遠!但基本語法差不多就這樣了!接下來就是看你能把這些運用得多好!

正所謂在家持刀空揮千百遍,不如上街實地砍他幾十人!你會發現實際沒你想的容易,人類會掙扎、會逃、會利用身邊之物反擊,甚至還會叫警察!

[初章] 06 符文辨識與解讀

先前只能以整數和我們可愛的使魔溝通,怎麼受得了!
現在,我們終於可以調教牠辨識文字了,開心吧!

先從一個常見的東西開始:
第一行輸入你的姓名,第二行輸入對象姓名,只能使用英文;之後依照名字輸出這兩人配對合不合得來,給予0到99的分數!
0代表非常不合,99代表簡直是天造地設的一對!

[初章] 05 無盡迴廊的門扉

前面都在單挑,假如今天要做的是道具欄,怎麼處理?
先分析一下要求:
做出一個簡易道具欄,具備以下功能。
  一、顯示所持道具及數量,依取得順序排列。相同道具會重疊。
  二、獲得指定道具。

為了先不讓事情變得太複雜,功能先別太多太雜。反正之後可以再慢慢加!
與其把目標訂得太遠大,先從能確實完成小目標開始做起!

[初章] 04 使魔召喚與使役


勇者和魔王決鬥!…雖然現代很少勇者真的跟魔王單挑,都嘛帶著後宮圍毆…咳。
除了HP以外加入防禦力的要素,傷害為攻擊力減去防禦力。
傷害最小是1,被打死時不論最後一擊多痛,HP都只顯示為0而不顯示負數。

比之前複雜了些,但只是多加了一些設定,整體沒什麼改變。