// 大數相加/大數相乘 2007/5/14 0:54:49,14 21:20-23:51
//g++ -pipe -o add add.cpp && add
#include <iostream>
#include <cstring>
//using namespace std;
const int debug=0;
const int MAX_NUMBERS_COUNT=10;
const int MAX_DIGITS=256;
const char* DigitChar="0123456789abcdefghijklmnopqrstuvwxyz";
//="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int MapDigitCharToNumber(char& c, const int& base){
const char* p=DigitChar;
while(*p&&c!=*p)p++;
if(debug>0)std::cout<<"MapDigitCharToNumber: ["<<c<<"] -> "<<(p-DigitChar)<<"("<<*p<<")"<<std::endl;
if(*p==NULL||p-DigitChar>=base){
std::cout<<"Illegal digit: ["<<c<<"] -> 0"<<std::endl;
c=DigitChar[0];
return 0;
}
return p-DigitChar;
}
void regularByBase(int* n, int base, int max_digits){
int i=0,tr=0;
int* ptr=n;
for(;i<max_digits;i++){
if(debug>0)std::cout<<"regularByBase: ["<<(ptr-n)<<"]"<<tr<<"+"<<*ptr<<" -> ";
tr+=*ptr;
*ptr++=tr%base;
if(debug>0)std::cout<<*ptr<<std::endl;
tr/=base;
}
}
void doMultiplication(int result[], const int* num, int& max_d, const int& base=8){
int i=0,num2[MAX_NUMBERS_COUNT*MAX_DIGITS]={0};//num2[sizeof(result)/sizeof(int)]={0};
if(debug>0)std::cout<<"doMultiplication: base="<<base<<std::endl;
for(;i<max_d;i++){
for(int j=0;j<max_d;j++){
if(debug>0)std::cout<<result[i]<<" * "<<num[j]<<" -> ["<<(i+j)<<"] "<<num2[i+j];
num2[i+j]+=result[i]*num[j];
if(debug>0)std::cout<<" => "<<num2[i+j];
if(base>0&&num2[i+j]>base) // may cause error if not execute!
num2[i+j+1]+=num2[i+j]/base,num2[i+j]%=base;
if(debug>0)std::cout<<" => "<<num2[i+j+1]<<" , "<<num2[i+j]<<std::endl;
}
}
max_d*=2;
if(base>0){
while(num2[--max_d]==0);
regularByBase(num2,base,++max_d);
}
if(debug>0){
std::cout<<"doMultiplication: max digits="<<max_d<<std::endl;
std::cout<<"doMultiplication: ("<<base<<")";
for(int j=max_d;j>=0;j--)
std::cout<<num2[j];
std::cout<<std::endl;
}
for(i=max_d;i>=0;i--)
result[i]=num2[i];
}
int main(){
int base; // base to use
std::cout<<"Please input base (2~16): ";
std::cin>>base;
if(base<2||base>16)return 0;
int computeMethod;
std::cout<<"Please input the compute method (0: addition, others: multiplication): ";
std::cin>>computeMethod;
char input_num[MAX_NUMBERS_COUNT][MAX_DIGITS]={{0}}; // numbers inputted
int num_array[MAX_NUMBERS_COUNT][MAX_DIGITS]={{0}}; // number array
int i,max_d=0; // loop index, max digits
// input numbers & put reversed digits into num_array
for(i=0;i<MAX_NUMBERS_COUNT;i++){
std::cout<<"Please input a number "<<i<<" (e.g. 101, input 0 to begin compute): ";
std::cin>>input_num[i]; // need to check if overflow
int l=strlen(input_num[i]),d=0; // length of number, the digit processing to
if(l==0||l==1&&MapDigitCharToNumber(input_num[i][0],base)==0)break;
if(max_d<l)max_d=l;
while(l>0)
num_array[i][d++]=MapDigitCharToNumber(input_num[i][--l],base);
}
if(i<2)return 0;
int inC=i; // count of input numbers
int* r=new int[inC*MAX_DIGITS]; // result number
//int r[inC*MAX_DIGITS]={0}; // result number
/*
int a[]={4,2,3,4,5,6,7,8,9,3};
i=sizeof(a)/sizeof(int);
while(i>0)n1[p1++]=a[--i];
int b[]={9,0,1,2,3,4,5,6,7,8};
i=sizeof(b)/sizeof(int);
while(i>0)n2[p2++]=b[--i];
*/
if(debug>0)std::cout<<"max digits: "<<max_d<<std::endl;
if(computeMethod){
// multiplication
for(i=0;i<max_d;i++)
r[i]=num_array[0][i];
for(i=1;i<inC;i++)
doMultiplication(r,num_array[i],max_d,base);
}else{
// addition
//int carry=0;
for(i=0;i<max_d/*||carry>0*/;i++){
int j=0,tr=0; // loop index, temp result
for(;j<inC;j++){
if(debug>0)std::cout<<" + "<<num_array[j][i];
tr+=num_array[j][i];
}
if(debug>0)std::cout<<std::endl;
r[i]=tr;
/* 數字量小時可不用
carry+=tr;
r[i]=carry%base;
carry/=base;
*/
}
}
regularByBase(r,base,max_d);
// print result
std::cout<<std::endl<<input_num[0];
for(i=1;i<inC;i++)
std::cout<<(computeMethod?" * ":" + ")<<input_num[i];
std::cout<<" = "<<std::endl;
i=MAX_DIGITS;
while(r[--i]==0);
while(i>=0)
std::cout<<DigitChar[r[i--]];
std::cout<<std::endl;
return 0;
}
2007年5月15日
大數相加/大數相乘
有人要的
歌月十夜 (KAGETSU)=?UTF-8?B?IOODrOODk+ODpeODvA==?=
歌月十夜
這個 FUN DISC 已經有點脫出普通 FUN DISC 的範疇了。劇情還是不錯,雖然那種結構組織不夠一氣呵成的感覺還在,但這種程度的確不是普通的公司能做到的。
夢十夜是夏目溯石小說的標題,小說本身──就算看過也是五六年前的事了,完全沒印象。不過有點「這裡只是取其標題意境」的感覺。這 game 正編採取逐次增加選項或進入下一階段的方式,象徵不斷重複的夢境及逐漸釐清的真實。加上夢十夜,應該算是劇情結構為重的編劇法,不過說裏子倒也有的;只是我越看越覺得,這編劇和我之間的距離好像比普通人來的近。(汗)本來志貴就是那樣子的生活態度,好像對主角特別深入刻畫的都會比較吸引人的樣子。說得更有條理些,月姫及此次這 game 比起許多 Hgame 都來得更有文學性,原因之一可能是因為目的不同:很多都純粹為了討好讀者、愉悅玩家而作;真正的文學卻不是這樣。或是真摯感觸的抒發,或是深刻體驗後,如裝滿瓶子的水般自然流出;都不是為了讀者如何,或他人怎麼看。所� ��,對心靈的探討是很重要的。尤其在日本,還出現了「私小説」這種類型,以作者親身經歷為題材而作出的小說;可以說他們本來就有演「內心戲」的傳統。而要探討主角內心,自然就要摧殘主角(謎),這方面 ONE 是 Hgame 中佼佼者。這部起碼在語氣上不若其他眾 Hgame 般討好,而對許多情況下的黑暗思想也不虞匱乏,自然感覺起來就比較具文學性了。
話是這麼說,不過 service(請以日文假名拼音)也不少,所以其實說來…半分半分吧。夢十夜中有一兩篇不錯的,都是朱赤開頭。其中一篇啥月的甚至看不懂…月姫的劇情細部忘得差不多了,所以承受不住再次的打擊。夏祭只是一直陳述別離,渾水摸魚用的。到醉十夜又有點內容。ま、總之算是好東西。此部(包括月姫)有許多黑暗面的描寫,雖然有些頗為熱血或不成熟,不過那也可以當作是種夢想吧。例子?像是有彥對志貴的描述(記憶版):「我是直到死都還這麼活下去的人。而他就算是見到棺材,仍舊還是一副沒事的樣子。」那真是我夢想中的生活態度啊!只是我們是人,這是絕對不能忘記的,所以那種是不是不可能發生,只是起碼對「正常」的你我,除非藥物作用,否則不太可能到達那種程度。(啊,只是房子塌了的程度的話 ,說不定還沒什麼太大問題。)所以,這種有點神話般的敘述方式,相對於嚴酷的現實就有點不成熟了。
CG 像上次一樣,大概已經進步到 TV 版水準了。新加入的夢魔及奈奈子(假)都畫得不錯。音樂就甭提了,唯一能說的是「聽久了,難聽的也會悅耳起來。」系統…唉、邊玩邊 crash,到我幾近瘋狂的程度。還好(?)修改 save 能跳過 crash 的部分,才讓我繼續完結這遊戲。在測試 save 上就不知花了幾小時,夫復何言?
不過,以當下 Hgame 的水準來說,(不提文學小說,因為這 game 有點令我回想起高中讀過的東西…)這果然還是個好東西。
グリーングリーン (GreenGreen) レビュー
グリーングリーン
很遺憾的(?),我的攻略上順便附了結局簡述,結果大概是什麼樣的東西也很快就明瞭了,早苗的劇情總有君が望む永遠中我最後推薦的那位的味道。但就算是本來對劇情一無所知,恐怕也很容易猜出來吧,此作沒辦法像水夏一樣,直到最後才讓人有驚訝的感覺。猜測應該是劇本作家沒能把這些女主角的秘密隱藏得很好。五個人內我幾乎每個都能在終局之前猜出「又是那類型東西了!」真的是沒啥新刺激的遊戲,雖然放在兩三年前還說不定會得到很高的評價。
雖說如此,這部的許多事件安排及對話敘述都相當有趣,有的令我想起 Portrait 中,尤其是主角朋友和某女主角之一的鏡頭。男生們這種想女生想瘋了的心果然是無法抵擋的(謎)。無論如何,男生腳色部分如此的活躍(表現相當不錯),以及一開始所表現的氣氛與使用的題材(爆笑度十足),在在都令我聯想到一般的動畫。這代表此部作得相當不錯了。(啊、原來好的動畫其聲光效果,甚至是內涵一直都在 Hgame 之上嗎?←謎)
劇本長度中等,寫得最感人的自然還是早苗。甚至,staff 還為了唯一沒有生還的他作了些特殊效果。果然「死」還是太沈重了嗎?不過我總覺得比起來在結束如此長的時間後,sense off 給我的感覺更為悠遠逸脫。而真的要比起感動,老實說此部仍遠不及加奈在我心中的地位;加奈那時的用詞似乎過於煽情了。甚至,早苗還比不上君が望む永遠中螢的部分,所以頂多只能說「不錯」,還稱不上「優秀」。煽情用語果然得夠長才行,此部的 ED 部分大多過短了。
簡單的說明一下流程:到七月二號地圖出現前選得好的話大概尚可攻略全員。之後恐怕就得一一擊破了。朽木兩人倒還能再晚些。經過一些有的沒的會話及聯誼活動後,進入各腳色終局,揭露女主角們的秘密。H 有兩種(啊、好像某廣告詞…←爆),男生或女生主動,之後隨即別離,到了各自的 ED staff。最後是雖然 happy(早苗例外)卻總有點不夠滿足的 ED。換句話說,是充滿希望卻死不敘述到最後的結局,要讀者自己想像吧。
系統方面,沒 review 及 CG 模式都是此作的遺憾。canary 的時候還有 review 的,只是換了家公司,畢竟不能要求一樣的東西。特殊效果方面,作得倒不錯,雖然整體速度過慢。
效果音不錯(H 時無效果音),音聲表現也可圈可點。但這並不是說声優表現得好,而是因為劇本寫得活力十足,声優們才能好好發揮。事實上大多數声優還是照劇本一個字一個字念,像是狀聲詞就真的照樣念出來,實在是氣持ち惡い。故此點應歸功於劇本。
不過這部真的能長存某些人心中的話,我想不只是劇本的功勞,這部遊戲的特殊效果實在是相當優秀,足以讓此部升格為上等作品了。至於音樂…我實在懶得說。一定會有人迷戀這種動感的節奏,不過我可是只能敬而遠之。舉例來說,某曲曲風,甚至曲調都類似於宮崎俊某動畫中的さんぽ,但此曲卻是我在聽原聲帶時勢必會跳過的一首。這部的 BGM 在我眼中就相當是這種程度吧。老實說,剛結束早苗的劇情,我忽然想起 sense off。假如拿 sense off,甚至是 Bless 的 BGM 來配,對我來說說不定都會感覺更合適。(哀)
另一個令我嘔血的是封面。那幅活力十足的話真是令我不敢恭維:看到他完全連想不起遊戲內容,好像沒啥關係吧(¯▽¯)。順帶一提,剛剛講過的那些缺點都沒反映在總評上,這是我打成績的一貫風格。
印象最深的還是早苗。只不過,為何那種雞不拉屎(沒有雞?)的地方會有病院啊?照經濟利益來說,大醫院總會設在人口稠密處。會在那種地方的病院通常是為了已經沒有希望的人或長期病患設置,取的是其周遭環境。而醫院的設備通常不足以動劇情中的手術吧。不是完全說不過去,只是有點牽強。
Lavender レビュー
Lavender
Lavender(ラベンド)薰衣草(淡紫色)
天使與惡魔。ROSE or LOSE 是第一個聯想到的,不過這系列(等級)的劇本內涵實在沒多少,只是題材比較新穎罷了。結果劇情果然普通(不過比 ROSE or LOSE 還好些),又短得嚇人,(兩三小時解決,只是 skip 的話五分鐘不到吧。)並非良好示範啊。這劇本應該還有發揮餘地的,只是倉卒解決…也好,因為真的發揮起來我恐怕還是沒啥興趣,大不了是再一個 Kanon 罷了,悲傷度之外,內涵仍然沒變。有個別設計過的 ED,滿不錯的。幼馴染的聲音太老,販賣員的聲音又太年輕(或是說畫太老)是此 game 一大遺憾。CG 水準普通,有些地方塗得不錯,但有些人物又感覺不夠綺麗。
故事進行,玩家是第三者。這在其他 Hgame 中不常見,頗為有趣。只是,此部中實在不常令人感覺自己是第三者,而很容易套入主角的心境玩。是故,因為劇本寫作並未耗足夠心血於其上,這點設計事實上並沒發揮出來。
ねこねこファンディスク (neko_fd) レビュー
ねこねこファンディスク
nekoneko FUN disc
ねこねこ這片就 FUN disc 來說作得還不錯…指我這種對 quiz 毫無熱情的人來說。此片要 H 有 H,要東西…雖然說不上很精良啥的,不過終究算有了。說熱血…那個 Blue 其實作得不錯啊…(笑)雖然是一貫那種劇本的公式,不過爆笑度以及完全不處及人類內心黑暗面的傳統倒是毫無保留的發揮出來了。當初是為了那片 CD 特地買回來的,說實話本體部分在我只是おまけ。但音樂在我固然是值回票價,本體其實也不錯啊。在 H 部分中是除了先輩(在 staff 中出現過…)外所有みずいろ及銀色—Silver—中某人的 H,健二越來越像 cosplay H 狂了(笑)。銀色在此 FUN disc 中除了引用原銀色的 CG 外,全部都照みずいろ的風格重畫過,這樣看來反而更好了(哦),原來銀色的人物部分有些就不太令我滿意(雖然某些角度說來是很不錯了)。嚴肅的部分,這次加了之前三部作品的裏話或之後發展,還算不錯啦,只是讀起來總有點不能釋懷。熱血 Blue 滿爆笑的,不枉一試。
雖然有語音,但我實在很懷念那時進藤劇本外(?)配進藤的那位,相當有特性。某魔法天使中,雪希的個性好像全變了啊…那真的是可愛純情的雪希嗎?有點…(哀)另,某偵探劇本中,話がみえねよ!那是哪門子的推理啊(爆),而劇情…EVE 與 EVE 某代又有神奇的契合處。
CG 及音樂系統都沿襲之前作品,沒什麼創新,不過也沒退步就是。那惡搞格鬥遊戲…啊、我還沒玩過原作(笑)。
夜這いマニア (YMania) レビュー
訂閱:
文章 (Atom)