PIXNET Logo登入

正因為活著

跳到主文

年輕的時候,都以為人生很長,其實人生很短,最棒的是不後悔,最難的是不遺憾

部落格全站分類:電玩動漫

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 11月 12 週三 200802:54
  • Java的換行符號


這篇是阿業建議我寫的,因為我不想再重複解釋換行符號的差異啦
套用草莓發言人許仁碩的話,以後「請大家上網去看」

在Java要寫入字串到檔案時
如果單純用\n來換行,用記事本打開檔案時
會看到原本應該換行的地方變成很多黑色小方塊
而且每行會接在一起,看起來很奇怪
不過用Java讀取這個文字檔時卻又是正常的

解決法很簡單,只要在\n前面加上\r
變成"\r\n",在記事本上看就不會亂掉了

 

你知道發生這種情況的原因嗎?
其實是作業系統間換行符號的差異導致的

換行符號有兩種,一個叫Cr(carriage return),一個是Lf(line feed)
Ascii code分別是13(0d)跟10(0a)
Cr是將指標移到最前頭(回車)
Lf是跳到下一行的位置,但沒有跳到開頭的效果
合在一起就是把指標移到下一行的最前面
類似我們按Enter的效果

不巧的是,三大作業系統的換行符號定義都不一樣
Mac只有Cr
Linux/Unix只有Lf
Windows則是CrLf,兩者皆有
意思是Linux只需要Lf一個字元就可以有換行加移到前面的效果
但是Windows就需要兩個

這在記事本會變成什麼樣子呢?
由於記事本只看到Lf,沒有看到CrLf
使得他無法"跳下一行"
而Lf符號又沒辦法顯示出來,所以就用黑色小方塊代替了

也許會有人問為什麼用PsPad之類的文字編輯軟體
就可以正常換行不會有問題
這是因為那些程式有判斷此問題
所以不管是Cr、Lf、還是CrLf,通通都當作換行

如果你想正常顯示這種只有Cr或Lf的檔案
但沒有安裝其他文字編輯器的話
沒~關係,Windows內建的WordPad就可以顯示了
要不,用IE開啟也是可以的(不過IE只能看不能改)

 

只是用WordPad的話要小心一個地方
如果你開啟了這種文件,修改後儲存的話
WordPad會很貼心(?)的幫你把換行符號全部轉成CrLf
缺點是:如果你的檔案故意要用Cr或Lf換行
儲存就被WordPad強制改掉了
用PsPad之類的文字編輯軟體,儲存時才能保持正常

或許你會想問,為什麼用C語言存取文件只要打\n不用\r\n
那是因為他在存取檔案的時候會自動轉換
當你輸入\n,他就自動當作\r\n
讀取的話,\r\n會自動變成\n輸出

最後順便一提,在VB.NET的世界中,回車是vbCr,換行是vbLf
檔案要換行就得寫vbCrLf或是vbNewLine

----
本日分享歌曲 倖田來未 - Come Over
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(8) 人氣(63,302)

  • 個人分類:程式作品
▲top
  • 11月 11 週二 200817:31
  • 許仁碩被董智森一句KO

懶的看完全部的可以從1:40之後開始看,2:55開始董哥發問
或是直接看下面我打的大意


發言人:我們這裡有藍有綠
董智森:這位同學說裡面有藍有綠,請你告訴我一個藍的就好,讓我們來求證就好
    告訴我一個藍的老師在場,我們求證這樣就公平了嘛
發言人:..........(停頓15秒)
董智森:只要告訴我一個藍的老師就好
發言人:我們沒有檢查老師的藍綠背景
董智森:你剛剛說有藍有綠啊,那表示你知道有些老師藍有些老師綠
    所以我只很卑微的請你告訴我,那群老師裡面有一個是屬於藍的
    那我去請教他他是不是真的有去簽名
    我只有這個卑微要求,其他我通通沒有
發言人:.....................
    你可以上網去看
(然後主持人急忙打圓場,連線中斷)
董智深你真是太帥了,才問一句許仁碩就倒了
不是說有藍有綠嗎?才問一句假中立就被戳破了
許仁碩戰力太弱了
如果不知道有藍的,當初就不應該說有藍有綠
這次遊行最令人質疑的就是色彩的問題
結果自己都回答不出來,還好意思怪別人?
最後一句大絕也很弱,還「你可以上網去看」耶
既然要叫人上網去看那還接受訪問幹嘛?
典型的答不出話就叫對方去查Google的大絕
以後會不會變成...
許仁碩:我們的訴求請大家上網去看
謝長廷:毀謝集團請大家上網去看
教授:這堂課請大家上網去看
草莓們還是換個發炎人發言人吧
新聞:野草莓學運/接受TVBS專訪 許仁碩被董智森K.O.
網站:反對學運活動的不中立訴求連署(我也去連署了)
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(13) 人氣(1,760)

  • 個人分類:就可影片
▲top
  • 11月 11 週二 200801:35
  • Linux程設學習筆記(九)


今天補完期中考前的最後一篇筆記
最近"有時間的話"也會把前面有漏或有誤的 地方做更正
這次上課主要在講寫程式的環境,跟程式本身較無關係
《sudos》
某些程式要執行時必須切換成root權限,很麻煩
sudos可讓程式在執行某些指令時切換權限
讓一般使用者能有更進階的權限
好處是對方不需要知道root密碼
不會知道你的密碼後,哪 天心血來潮把你的硬碟資料全砍了
sudoers的資料都放在/etc/sudoers
要看的話必須先有root權限
cd /etc
gedit sudoers
想知道詳細內容,請參考man sudoers或此處
《make》
當寫的程式越來越大,要怎麼控管他?
答案是使用make來編譯(參考網頁)
myapp: main.o 2.o 3.o
main.o: main.c a.h
2.o: 2.c a.h b.h
3.o: 3.c b.h c.h


先來看書上的範例, Makefile最簡單的寫法如下圖
要產生myapp跟後面原始碼(main.o、2.o、3.o)有關
會執行下一行的指令
如果Makefile不叫Makefile
改用make -f 檔案名稱,如make -f Makefile1
如果今天我們把其中一個檔案給更名
mv main.c main.cc
他會說找不 到main.c,就不能編譯了
如果Makefile裡面沒有all這行,他會去執行第一行
假設今天我把2.c改了,輸入touch 2.c
(touch會將檔案修改時間變成現在時間,內容不變)
因為2.c跟 2.o有關,2.o跟myapp有關
所以編譯2.c跟執行檔
若是touch 3.c,就編譯3.c跟執行檔
configure - 跟make有關,但我沒聽到,再補
《安裝 ncftp 原始碼》
現在開始下載一個原始碼檔案來練習
apt-get source ncftp(裝完 source file 會幫你去解開)
cd ncftp- 3.2.1/
cd ncftp
ll *c(觀看底下所有的C語言檔案)
看到底下有一堆C語言的檔案
如果程式太大(如kernal) 全部編譯可能要編譯一個小時
如果手動打的話一天都編譯不完
所以需要make自動幫有更改的程式編譯
到ncftp- 3.2.1/
輸入make應該會開始編譯
當你小改一個檔案再編譯,重編譯的東西會少很多
《Macros》
課本範例第二個版本(Makefile2)多了幾個macros
需要用的時候再展開
ex.
CC = gcc
$(CC) -o myapp main.o 2.o 3.o
make -p > make- rules
看一下make可以加什麼屬性在檔案中
《Makefile 前面的符號》
# 後面為註解
- 錯誤忽略(有錯繼續執行下一 行)
@ 編譯時不要顯示內容
可以參考前面ncftp-3.2.1/的Makefile
《Makefile的特殊指令》
make clean - 移除編譯的檔案
必須在Makefile中宣告才有作用
如 Makefile3中的
clean:
        -@rm main.o 2.o 3.o >& /dev/null
install - 從Makefile中讀取指令,安裝到指定的位置
最後加\代表此行跟下一行是連在一起的(讓你方便看)
就像終端機的;符號
ex. date;w - 等同輸入date再輸入w
◎du - 看目錄大小
外面輸入的規則會覆蓋內建的規則
範例:make CC=g++ -f Makefile2
原來內部寫CC-=gcc,現在變成 g++
make -j4 - 同時做四件事情,理論上比較快
(越大的專案效果越明顯)
gcc -MM *.c - 顯示每個檔案跟誰有關連
‧Suffix and Pattern Rules
老師講太快放棄(也不太重要的樣子)
‧Managing Libraries with make
又講太快,請參考man ar
或是Makefile5的範例
《Subversion  版本控制》
以下老師操作太快又沒有抄到
請自行用Google搜尋相關內容
apt-get install subversion - 安裝
svn co
svn info
svn update
svn -r 5296 update ...etc
《壓縮跟解壓縮》
‧將檔案包起來但是沒壓縮
tar cvf myapp-1.0.tar main.c 2.c 3.c *.h myapp.1 Makefile5
‧gzip壓縮 - gzip myapp-1.0.tar
‧gzip解壓 - gzip -d myapp-1.0.tar.gz
‧tgz壓縮 - tar zcvf myapp_v1.tgz *
‧tgz解壓 - tar zxvf myapp_v1.tgz
上面壓縮部分用*,是先將檔案都丟到同一個目錄中
如果要個別指定檔案名稱,用以下方式
tar zcvf myapp_v1.tgz main.c 2.c 3.c *.h myapp.1 Makefile5
‧在/ncftp-3.2.1中操作
tar zcf ncftp.tar.gz ncftp
tar jcf ncftp.tar.bz2 ncftp
ll -d ncftp* - 發現bz2壓的比較小
‧bz2壓縮 - tar jcvf myapp_v1.tar.bz2 main.c 2.c 3.c *.h myapp.1 Makefile5
‧bz2解壓 - tar jxvf myapp_v1.tar.bz2
《期中考題目要點》
1. 考make的觀念
2. 要會解壓縮跟產生壓縮檔
3. 考試的時候要能登入到linux的環境(要自己準備虛擬機器)
不過關於壓縮解壓縮...直接用檔案總管的封存不就好了嗎?
誰會去記這麼麻煩的指令啊...
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(0) 人氣(2,509)

  • 個人分類:上課筆記
▲top
  • 11月 09 週日 200800:25
  • Linux程設學習筆記(八)


這篇其實是上禮拜的內容
我竟然拖超過一個星期,看來我也越來越懶了啊...
不過再怎麼樣,也比某位只寫到Lesson 4的帥哥好多了XD
‧find可以找各種不同類型的檔案,而且包括檔案大小日期等等
詳細內容請看man find或LinuxSir.Org的介紹
《sticky》
cd /sbin
ll -d /tmp
發現tmp這個目錄底色不太一樣
而且權限最後顯示t不是x
這是因為他是sticky
sticky簡單來說,只有root權限才能將他刪除
find /sbin -perm -4000
看到這個檔案的權限也不太一樣
一般可以執行應該叫x,他卻叫做s
這個意思是說,當other執行該程式的時候
other會變成該檔案擁有者的權限
檔案跟目錄的set sticky代表的角色是不一樣的
詳細請看鳥哥的私房菜關於sticky的介紹
 
‧關於set userid,回去找他的定義吧
‧user.c
先來修改一下程式內容,增加顯示euid的部分
先定義uid_t euid;,其他依樣畫葫蘆即可
修改完編譯後,用root跟自己的帳號執行,發現uid跟gid會不同
再來輸入sudo chmod 4755 user改變這個程式的屬性
任何人來執行的那一剎那就能提升到擁有的權限
重新執行會發現euid不同了
電腦內部使用一個數字稱為userid來記錄登入者的ID
而且只認數字不認人
cd /etc
etc底下有兩個檔案:passwd、shadow
輸入tail -2 passwd
會出現joe:x:1000:1000:joe,,,:/home/joe:/bin/bash
分別代表帳號、密碼、gid、uid、des、home、login、shell
密碼部分Linux使用x幫你隱藏了
實際資料藏在shadow中
但我們使用tail -2 shadow時會發現權限不夠
換成root權限就可以看到結果了...?
‧cd - - 跳回上一個目錄,再輸入一次跳回來
‧接下來上課老師修改了simple_read的部分
不過老師打太快,我沒有抄到
‧ll /usr/sbin/ppp*
看到pppd這個檔案屬性就有set userid
這好像是撥接上網需要用到的東西...
‧要產生暫存檔最好用tmpnam
1.不會跟別人撞名
2.同時產生檔案並open給你
‧ll -d /tmp
前面提過,權限為drwxrwxrw"t"
這代表雖然每個人都可以刪掉東西,但只能刪掉自己的東西
進去刪他的暫存檔,就會被說權限不夠(上圖)
《ch05》
要執行第五章的範例,請先用root權限安裝libncurses
ins libncurses5-dev
安裝完才能正常編譯
執行menu1
明明還沒選擇錯誤就叫我再選擇一次,為什麼?
因為他把enter鍵也一起吃進去了
◎為什麼中斷程式要按ctrl+c?
原來這些都寫在stty -a
像ctrl+u就是一次刪除整行
輸入以下指令
bash - 進入sub shell
stty raw - 進入到raw mode
./menu1 - 發現字都亂掉了,不用按enter就可以輸入
stty cooked - 回到原本操作方式
可以輸入man stty看一下關於stty的介紹
有參數可以把設定儲存起來,以便下次復原
 
◎早期bit會亂砍,中文會變成亂碼
所以要自己進入/etc/inputrc這個檔案增加指令讓他不要亂砍,像
stty cs 8 -istrip
stty pass8
(但是一般人根本不知道這些東西啊...怎麼去改他?)
現在來惡搞menu1
./menu1 >aa
畫面沒有東西,因為輸出導向到aa去了
要是助教這樣惡搞說沒畫面算你錯,就欲哭無淚了
用diff menu1.c menu2.c觀看兩者不同
menu2.c增加了輸出導向這一段
如果導向到其他地方就輸出錯誤不讓程式執行
輸入diff menu2.c menu3.c看兩者不同
不過由於內容太多,可以改輸入diff menu2.c menu3.c >aa
將結果導向到aa慢慢看
menu2只能防輸出導向,不能防輸入導向
./menu2 <aa
輸入導向被導向到檔案了,導致無法輸入
所以menu3.c增加/dev/tty這一段
不管是輸出或輸入,永遠是terminal,不怕助教亂搞
menu4改用fgetc,免按enter
menu5則是互動式,請自行觀看
sizeterm可判斷視窗大小
最後下課前講了系統變數TERM
輸入echo $TERM觀看
功用是模擬終端機的效果,顯示方式會改變
比方說輸入TERM=vt100
在/usr/share/terminfo這個目錄中有所有表現方式
 
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(2) 人氣(1,728)

  • 個人分類:上課筆記
▲top
  • 11月 03 週一 200822:53
  • 動作解謎遊戲 Shift 3


其實我對動作類型的Flash遊戲沒有很大的興趣
不過這個Shift 3的玩法很特別
只要按一下Shift,就能讓畫面翻轉,主角轉到另一個顏色
雖然畫面很單調只有黑與白,但是有著非常多解謎的成分
所以也為這個遊戲增添不少趣味
三代開始畫面可以旋轉四個角度,更是加深遊戲的難度
遊戲網頁
遊戲的操作很簡單,左右移動,按上進門,空白鍵跳躍,Shift翻轉空間
遊戲內部有著許多機關
比方只要碰到箭頭就會將空間方向轉成該角度
鑰匙能解開某個有鑰匙孔的牆壁
許多關卡都必須要碰觸這些東西才能過關
不過也有純粹是要擾亂你的箭頭
所以橫衝直撞是不行的,要仔細思考該怎麼走
像下圖就得先取得中間的鑰匙,不然直接卡關,只能重來
遊戲有兩個結局,一種是掉到外太空死掉,另一種是真的結局
要破到真結局必須在路上蒐集四組密碼
這四個密碼寫在報紙上,而且藏在隱藏道路中
沒有取得是無法過關的
我先稍微介紹一下這四個報紙的所在地
第一份就是上方的圖,跳到左上方有個隱藏的門,進去即可拿到
第二份請先進入右上角的隱藏門取得鑰匙
然後回到上一個畫面進入另一扇門即可拿到
這個在門3的最後面,在該處翻轉可以發現隱藏的鑰匙
就可以進入下面的門拿報紙了
第四個報紙比較簡單,破完三個門之後進入可以看到一個鑰匙
拿到後往回走兩個畫面會發現下方的牆壁消失了
就可以很簡單的拿到囉
第一個結局就是在最高塔按下Shift
馬上讓你掉到外太空...
正確的結局是輸入密碼,牆壁就會自動打開
可是進去後竟然牆壁自動關上,而且下方還有刺伸上來??
到底該怎麼辦呢?請自己玩一遍就知道了^_^
過關之後就可以拿到隱藏人物了
遊戲裡面還有個戰績表,顯示著你所有拿到的徽章
有幾個很簡單,像是只要按標題畫面的按鈕就能得到三個徽章
有幾個比較難,像是限定8分鐘破關,不拿PDA過關,拿到四份報紙等等
最難的莫過於破完玩家自製關卡吧
裡面陷阱一堆,真的不是人過的...(雖然我全都過了)
偷偷告訴你,當你全部徽章都拿到了,主選單畫面會多出一個東西喔= =+
----
最後介紹一下這次Kongregate的挑戰項目
限時挑戰:看到Hedgehog(ArmorGames的另一個遊戲的角色)
(得到卡片 Ambrosia Thorn)
在爬高塔到一個能見到外太空的場景時,等一下即可看到
如果已經拿到卡片好像就不會出現了...
medium:掉入黑洞(15點)
都已經要破關還得故意掉入黑洞,實在是...
medium:過到真結局(15點)
medium:過完三個Player Pack(15點)
私心覺得這應該要30點才對,玩家自創關卡只能用變態來形容...
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(1) 人氣(1,509)

  • 個人分類:小遊戲區
▲top
  • 11月 03 週一 200803:24
  • 轉載-說好的歐啪呢

說好的歐啪呢
我的部落格文章大多是自己打的,很少純轉載別人的東西
但期中考前聽到這首翻唱周杰倫的「說好的幸福呢」
而且還能改詞改的這麼通順,實在是驚為天人
所以實在該幫這位大大來宣傳一下
重修的苦,只有當事人才知道...
內容好像太少了,順便貼周杰倫的原曲好了
其實這首歌我覺得還蠻好聽的
周杰倫 - 說好的幸福呢

(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(1) 人氣(650)

  • 個人分類:就可影片
▲top
  • 10月 28 週二 200810:07
  • 國小新式健康操


看到rap出來後我嘴角失守了,現在的小學生十實在是太辛苦了...
幸好我那個年代還在做"123,321,1234567,我們是快樂的好兒童"
要我做新式健康操我會羞愧而死吧
不得不說,叫Lucy的人實在是太可憐了
大概會一直被笑說"你是耐ㄟ這呢敖"(你怎麼會這麼行)
附上前面rap歌詞,建議先看過影片再看歌詞可以再笑一遍
聽~~~說Lucy時常做運動,身體健康精神好
Lucy你是耐ㄟ這呢敖
身體健康精神好,規律運動不可少
沒事常做健身操,全身運動功效好
嘿!同學,歸禮拜ㄟ運動怎樣來安排
欲聽我就報給你知,Come on baby 同齊來
無就1 3 5,無就2 4 6
實在真厲害,大家同齊來
附上以前的健康操影片連結,YouTube旁邊就可以看了
真是不堪回首的回憶...
國小
國民健康操
舊式健康操
新式健康操(網站)
國中
健康操(找不到新式的)
高中
舊式健康操
新式健康操
到底是哪個罪魁禍首發明健康操這種玩意的...
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(24) 人氣(51,887)

  • 個人分類:就可影片
▲top
  • 10月 26 週日 200816:25
  • Linux程設學習筆記(七)


下禮拜事情好多,Linux要交作業,網競要找資料,研究計畫連個影都沒有
該怎麼分配時間捏...
《proc》
cd /proc;ls
proc資料夾裡面的東西不是檔案,是記憶體
包含著作業系統的整個環境
當device driver接到命令,會動態產生狀態
以下介紹幾個常見的內容
cat cpuinfo - 可看CPU資料
最底下的那個bogomips是把CPU速度化為數值,可簡單度量速度
 
cat cmdline - 看開機的指令
cat mount - 看掛載什麼東西(前提是你有開啟光碟機)
cat meminfo - 看記憶體儲存的內容
 
每個process執行會有個PID,代號1稱為init
所有底下的程式都是由init fork出來的
ps l - 看到b自己的PID
cd 5253 - 進入PID代表的目錄
cat environ - 看自己的環境變數
 
◎封包經過 kernal 都會被iptables看一下
 可以過濾不想要的網路封包(詳請可在鳥哥的Linux私房菜看)
cd sys/net/ipv4 - 底下是網路的各種狀態
cat ip_forward - 看這台電腦能不能做ip forward功能
一般來說會顯示0代表他不能做轉寄或ip forward的功能
要改變的話請先轉到root權限
輸入echo 1 > ip_forward修改
 
cat uptime - 看電腦開了多少秒(如下圖723.16代表12分3秒)
w - 看電腦開了多少天
 
du - 沒抄到,下次再查什麼意思
嫌Xubuntu畫面太小?按下F11換到全螢幕
===
ch 4  我又跳到第四章了
===
‧args.c
args.c要自己判斷前面有沒有-,非常麻煩
所以用getopt,他會真的去改變argument
但getopt只能用short option,longopts就能宣告long options
locale - 看環境變數
看到時間顯示部分老師因習慣改成LC_TIME=POSIX
如果想自行改成中文文法顯示,輸入以下指令修改
LC_TIME="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
echo $PS1 - 終端機每行前面顯示的內容
修改PS1可以更改顯示,這些東西稱為環境變數
◎補充教學
Mono是.Net跨平台NET OS的實作(維基百科介紹)
可以在Linux、Mac、Unix等作業系統執行VB或C#的程式
目前推出2.0 alpha版,號稱跟VS2005完全相容
實際上雖然可跑但還是有些問題
下載版本分很多,live CD可以直接在光碟上執行,但是不能儲存
建議可以下載VMware版,轉成Virtual Box在裡面執行
‧environ.c
輸入./environ AAA csim
會看到畫面上出現AAA=csim
但再次./environ AAA,發現AAA又沒有了
因為他只有在程式執行的那段時間改變,改完就沒有了
詳請請用man看以下說明
man 3 setenv - 設定environ
man 3 getenv - 讀取environ
以下指令不明(沒聽到說明,下次補充)
ins strace
P strace
upd
‧envtime.c
將envtime.c的內容改成time(tm)
結果出現segment error
用strace就可以找到錯誤在哪
原來在tm=null
‧gmtime.c
後面增加以下兩行,可以多顯示目前是今年第幾週跟第幾天
printf("day of week: %d\n", tm_ptr->tm_wday);
printf("day of year: %d\n", tm_ptr->tm_yday);
輸入man gmtime看gmtime還可以顯示什麼時間
以上在課本P.151
將gmtime(&the_time);修改成localtime(&the_time);
會變成本地時間
‧ctime.c
ctime - 輸出成字串
跟date指令的內容很像
下方看起來不像的原因是我前面把LC_TIME改成utf-8格式了
‧strftime.c
可以讓時間依照指定格式顯示出來
輸入man strftime看他的格式
《Temporary Files》
有兩個,一個比較舊不建議
範例是tmpnam.c
另一個比較建議的是maketmp???
本週有課堂(點名)作業,顯示系統資訊(像是時間、CPU之類的)
可直接拿ctime.c等範例合併即可
C語言輸入system("cat /proc/cpuinfo");
可直接在螢幕上秀出CPU資訊
其實不是寫程式抓硬體資料,只是下一行指令罷了
cat改成grep就可直接顯示某一條資訊
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(3) 人氣(2,101)

  • 個人分類:上課筆記
▲top
  • 10月 23 週四 200821:43
  • 修改Flash遊戲的存檔吧


以前我曾經寫過「修改Flash遊戲吧」一文
當時是使用Flash遊戲修改大師這套軟體
可是要使用這套軟體,"最好"把遊戲抓到硬碟再修改
如果有些遊戲沒辦法離線玩,那不就很麻煩了嗎?
再加上他的使用方法還有點麻煩,有沒有更好的方法呢?
當然有,那就是使用.sol editor這套軟體
他能夠開啟Flash遊戲產生的sol檔,直接修改遊戲存檔喔!
下載頁面(或直接下載點)
其實我去年就知道有這個軟體,當時以為大家都會所以就不寫了
可是最近去Google查詢,卻發現有關sol editor的網誌文
竟然一篇都找不到!?
因此我就來野人獻曝啦^^"
我就拿Kongregate最熱門的RPG遊戲"Sonny"來做介紹
首先請先開啟新遊戲,因為我們沒有升級
所以主角的技能點跟屬性點都還是0,等級是1
 
以下開始介紹修改方式
1. 請先把遊戲存檔(Sonny會自動存,其他遊戲則不一定)
2. 打開檔案總管,由於該目錄是隱藏檔,請先把隱藏檔的選項打開
[工具]-[資料夾選項]-[檢視]-[顯示所有檔案和資料夾]
然後進入以下目錄
C:\Documents and Settings\Administrator\Application Data\Macromedia\
Flash Player\#SharedObjects\5J4XSSS5\chat.kongregate.com\gamez\
0000\9053\live\SunnyPatch3Kong.swf
注意!上方目錄會因為每個人的電腦狀況而不同,請勿直接複製貼上
(1) Administrator為我登入Windows的帳號,請依照你目前帳號選取
(2) 5J4XSSS5為亂碼,每個人的電腦都不同
(3) chat.kongregate.com請選取你是在哪個網站上玩的
如果是在硬碟上玩的請選擇localhost
(4) 後面的路徑就請自行判斷差異了,比方說寶石守城GemGraft的存檔
就在chat.kongregate.com\giabGemCraftSaveData.sol
而Sonny的存檔就是額外放在上方路徑中
(5) 如果真的找不到,就試試看搜尋吧
以Sonny來說,應該會看到一個名為slot1.sol的檔案
那個就是你第一個存檔了
但不一定所有遊戲存檔都是分開的
寶石守城就是九個存檔放在同一個sol中
3. 找到了之後,點兩下應該可以用.sol editor開啟了
這時會看到以下介面
 
這就是Sonny RPG的存檔內容
左邊就是他記錄的所有資料
比方說屬性點就是statPoints,技能點就是skillPoints
將他的Value修改再存檔即可
舉例來說,我把statPoints修改成200點,skillPoints修改成100點
Level修改成30級(因為Sonny要學到技能等級也要夠)
4. 回到遊戲,請記得要重新整理
不重新整理的話他紀錄的sol檔就還是原來的資料
這時讀取存檔,就可以看過被改過的記錄了
 
雖然看起來等級還是1沒變,但其實是可以點技能的
可能是因為他的等級顯示跟經驗值或其他變數有關係吧
這招並不是絕對有效,因為有些遊戲會判斷紀錄檔是否正確
我修改寶石守城的存檔發現,如果只修改技能點的話
他會讓存檔變成無法顯示,但是修改回原本點數就可以
推測是因為他會去判斷目前的等級跟技能點等等的關係
比方說技能點數超過正常取得值就代表這是一個被改過的存檔
這樣的話,就請試著看能不能修改資料到合理值了
有了這套軟體,就能夠很輕鬆的享受遊戲了
但我還是建議不要修改太多
還是那老話一句
當你第一次玩遊戲就開始修改時,這遊戲已經死了
(kongregate這個網站會去抓修改者,若被抓到點數會被清空的!)
如果這個遊戲沒有存檔怎麼辦?
那...你還是去用Flash遊戲修改大師吧...@__@"
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(9) 人氣(29,791)

  • 個人分類:軟體介紹
▲top
  • 10月 23 週四 200800:44
  • Linux程設學習筆記(六)


下禮拜就要交Linux程設的第一次作業了
不過我到現在連一個字都沒還寫="=
最近學校的事情又跟山一樣多,網誌最近也沒時間更新
這篇筆記竟然又拖了一個禮拜
時間真的是不夠用啊...
《umask》
可以設定檔案的預設權限
每個檔案用ls -l看時,前面會有一個權限(像這樣 -rw-rw-rw-)
譬如訪客可不可以執行讀寫動作,這些是用umask控制的
umask影響一個檔案的r(read)、w(write)、x(execute)這三種權限
rwx分別代表4,2,1分
umask預設是777,777-umask=檔案權限
比如說要設定該檔禁止寫入,那就減掉2分
若設定該檔禁止寫入跟執行,那就減掉2+1=3分
以下是範例
umask - 顯示目前預設權限
ll > u0022 - 將ls結果傳到一個新檔案u0022
umask 0002 - 將權限更改成0002
ll > u0002
umask
umask 0066
ll > u0066
umask
最後輸入ll u*看產生的檔案,會發現三個檔案的權限皆不同
另外,使用chmod一樣可以修改權限
詳細內容可以參考鳥哥的私房菜的介紹
《Makefile》
先將第三章的範例copy一份
輸入cp copy_block.c copy2.c
再輸入make全部編譯,他卻不會幫你編譯新產生的copy2.c
 
這是因為make這個語法必須跟目錄底下的Makefile檔案作配合
請先用gedit開啟Makefile,然後找到COPY=那一行
在後面加上copy2這個字串
重新試一次make就可以自動編譯了
《其他指令》
‧close - 關閉檔案
‧ioctl - 關閉周邊功能,比方說關閉馬達或螢幕
‧dd if=/dev/zero of=file.in bs=1024 count=20k
產生一個20MB的空白檔案
至於為什麼這樣是20MB...
bs=block、1024=1k、count=20k,故1k*20k=20M
dd原本是把檔案拷貝到另一檔案(跟cp很像)
但是他可以在途中修改檔案屬性什麼的,比較強
dd還可以做整個硬碟的備份
‧lstat - 取得檔案資料
‧open跟fopen差異 - 上網找
‧輸入cat -n /etc/passwd
看到下面會有一行joe:x:1000:1000(joe是登入的名字)
前面的1000為UserID,後面的1000為GroupID
至於這有什麼用我也不清楚=__="
‧MSDOS的指令type跟Linux的cat功能是相同的
都是顯示檔案內容
《copy的差異》
前面跟上禮拜的內容相同
time ./copy_system - 超慢
time ./copy_block - 很快
若將copy2.c的1024修改成4096再重新執行一次
速度會更快!
copy_system很慢的原因:要做system call
舉例來說,假設現在某人要為班上每人買一瓶飲料
一次只買一瓶飲料的話要跑五十趟
不如帶個袋子一次把五十瓶飲料裝起來
《lseek讓檔案不用從頭讀》
我們一般讀檔都是從頭讀到尾
其實使用lseek,可以從檔案的途中開始讀取
SEEK_SET  從檔案開始
SEKK_CUR  從目前位置開始
SEEK_END  從最後面開始
先產生一個檔案seq.txt,內容如下
000000000
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
再新增lseek.c,輸入以下程式碼
(因內容較長,為節省版面請直接下載)
(若使用vim,輸入大寫G可以直接排版)
新增完這兩個檔案後,使用make或gcc -o lseek lseek.c編譯
再用./lseek seq.txt執行
可以發現顯示的位置會被改變
詳細的程式碼內容就請自行研究了
 
《關於作業printdir.c》
要opendir必須先inlcude兩個東西
請自行參考OPENDIR、CHDIR、lstat、time等等說明
因為這邊大多是論述內容所以抄不了筆記,請自行觀看
printdir.c有一段內容如下
if(strcmp(".",entry->d_name) == 0 || 
    strcmp("..",entry->d_name) == 0)
    continue;
為什麼要跳過.跟..,是因為每個目錄都會有這兩個隱藏檔
如果執行的話又會跳回上一層,變成無限回圈,所以不要做
printf("%*s%s\n",depth,"",entry->d_name);
那個*是留空,會依照depth的數字空多少格
===
ch 4 Linux的環境
===
第四章主要講到檔案後面接的參數argv跟argc
範例:./args left right The center scu CSIM 12345
猜猜看argc會顯示幾個?
答案是8,因為第0個一定是執行檔的名字 ./args
如果把The center用雙引號括起來就只算一個單字
The center --> "The center"
 
範例:./args -l -s --list /etc
argc: 5
範例:./args *
這並不是把*給傳進去,而是把該目錄底下的所有檔案名稱給傳進去
我們知道輸入ls [a-e]*代表只顯示a-e開頭的檔案
輸入./args [a-e]*就是將a-e開頭的檔案名稱傳進args
範例:./args -h --help -i -l myarg -k arg2 "third arg" -z
猜猜看底下有幾個argument跟option(前面有-)?
A: 6 option 4 argument
《getopt》重要!
能夠自動取得檔名後面的參數
作業需要用到這種技巧來改變不同的顯示方式
詳情請看範例argopt.c
輸入範例:./argopt -i -l first -r second
若參數為-f,後面要接檔名,否則會告知option needs a value
兩條dash(--)稱為long option
範例:
ls --author   找作者(作者害羞沒有寫)
ls --version  找版本
 
◎詳情請看第四章116頁
(繼續閱讀...)
文章標籤

蕭雲 發表在 痞客邦 留言(0) 人氣(9,009)

  • 個人分類:上課筆記
▲top
«1...30313246»

近期文章

  • 動物迷城(Back to the Dawn) EA玩後感
  • 鱷魚偵探布羅格玩後感
  • 動物迷城(Back to the Dawn) DEMO玩後感
  • 船長 The Captain (含全路線攻略)
  • 太空避風港 Space Haven
  • 欺詐之地 (Griftlands)
  • Sdorica -eclipse-(萬象物語)1191天棄坑玩後感
  • Stoneshard 紫色晶石
  • 骨灰遊戲雜談-亞里斯王物語
  • 歧路旅人(八方旅人)玩後感

文章分類

toggle 評論 (3)
  • 事件評論 (38)
  • 觀後心得 (16)
  • 漫畫心得 (22)
toggle 電腦 (4)
  • 電腦資訊 (42)
  • 軟體介紹 (29)
  • 程式作品 (15)
  • 上課筆記 (22)
toggle 遊戲 (4)
  • 小遊戲區 (54)
  • 單機遊戲 (47)
  • 網路遊戲 (13)
  • 手機遊戲 (29)
toggle 系列遊戲 (5)
  • Mardek RPG (8)
  • DNF (11)
  • 三國志拼圖大戰 (6)
  • 蒼空解放 (9)
  • 萬象物語 (8)
toggle 生活 (3)
  • 就可影片 (50)
  • 學校點滴 (24)
  • 生活雜記 (17)
  • 未分類文章 (1)

文章搜尋

文章彙整

熱門文章

  • (15,726)修改Flash遊戲吧
  • (29,164)RPGViewer 介紹
  • (12,238)長江七號觀後感
  • (9,378)免空斷線續傳法
  • (108,015)去掉洪爺廣告吧
  • (18,105)什麼是放大絕
  • (29,791)修改Flash遊戲的存檔吧
  • (31,362)啤酒遊戲玩後感
  • (87,076)學校IP對照表
  • (9,153)少女時代 - Gee 空耳字幕

SiteTag

誰來我家

線上人數

參觀人氣

  • 本日人氣:
  • 累積人氣:

個人資訊

蕭雲
暱稱:
蕭雲
分類:
電玩動漫
好友:
累積中
地區: