導航:首頁 > 游戲攻略 > 游戲judge攻略

游戲judge攻略

發布時間:2020-04-20 21:34:24

1、C++游戲編程中的問題

額...是需要一個自己編的頭文件的...當時那一大段代碼也是我在網上找的...so...那個頭文件我目前是找不到了,過了太久了...

如果你只是想要一個背單詞的程序的話,我後來自己有寫一個,發在這里給你看下好了。

#include <iostream>
#include <fstream>
#include <ctime>
#include <string>
using namespace std;
void Input()
{
ofstream outfile("en.dat",ios::binary);
if(!outfile)
{
cerr<<"創建文件錯誤!"<<endl;
exit(1);
}
string word;
for(int i=0;i<100;i++)
{
cin>>word;
outfile.write(word.c_str(),30);
}
outfile.close();
}

class Word
{
private:
string str1;
string str2;
int m;
int b;
static int num;
static float sum;
public:
Word()
{
srand(time(0));
ifstream infile("en.dat",ios::binary);
if(!infile)
{
cerr<<"打開文件錯誤!"<<endl;
exit(1);
}
int n=rand()%19;
str1.reserve(30);
str2.reserve(30);
infile.seekg((2*n)*30,ios::beg);
infile.read((char *)str1.c_str(),30);
infile.seekg((2*n+1)*30,ios::beg);
infile.read((char *)str2.c_str(),30);
infile.close();
m=length();
b=space_num();
}

int length();
void display_word();
int space_num();
int space_position(int sum);

void judge();
void xuanze(char m,int n);

void display_chinese() {cout<<str2<<endl;;}
static float average() {return (sum/(num*5)); }
static int score() { return sum; }
friend void play();

};

float Word::sum=0;
int Word::num=0;
void Word::xuanze(char m,int n)
{
int f=0;
char ch[10];
for(int i=0;i<3;i++)
{
if(n==1)
{
cout<<"請輸入第一個空格的字母"<<endl;
cin>>ch[i];
}
if(n==2)
{
cout<<"請輸入第二個空格的字母"<<endl;
cin>>ch[i];
}
if(n==3)
{
cout<<"請輸入第三個空格的字母"<<endl;
cin>>ch[i];
}

if(m==ch[i]) {cout<<"正確!"<<endl;sum=sum+5;break;}
else {cout<<"不好意思,你答錯了!"<<endl;f++;}
}
if(f==3)
{
char a[4];
int c=m;
a[1]=rand()%26+97;
a[2]=rand()%26+97;
a[3]=rand()%26+97;
while(a[1]==a[2]||a[2]==a[3]||a[1]==a[3]||a[1]==c||a[2]==c||a[3]==c)
{
a[1]=rand()%26+97;
a[2]=rand()%26+97;
a[3]=rand()%26+97;
}
cout<<"請在四個選擇項中選擇一個字母"<<endl;
cout<<a[1]<<" "<<m<<" "<<a[2]<<" "<<a[3]<<endl;
cout<<"請選擇正確的字母:";
cin>>ch[3];
if(ch[3]==m) {cout<<"你終於對了,繼續啊!"<<endl; sum=sum+5;}
else cout<<"哈哈,你又答錯了,下次加油哦"<<endl;
}

}

int Word::length()
{
int sum=1;
char *p=&str1[0];
char ch;
for(int i=1;i<30;i++)
{
ch=*(p+i);
if(ch!='\0') sum=sum+1;
else break;
}
return sum;
}

int Word::space_num()
{
srand(time(0));
int n;
if(m>=2&&m<=4) n=1;
if(m>=5&&m<=7) n=2;
if(m>=8&&m<11) n=3;
if(m>=11&&m<30) n=rand()%3+1;
return n;
}

int Word::space_position(int sum)
{
srand(time(0));
if(b==1)
{
int n1;
for(int i=1;i<1000;i++)
{
n1=rand()%(m-1)+1;
if(n1==0||n1==(m-1)) continue;
else break;
}
if(sum==1) return n1;
else return 0;
}
if(b==2)
{

int n2,n3;
n2=rand()%(m-1)+1;
n3=rand()%(m-1)+1;
while(n2==0||n2==(m-1)||n3==0||n3==(m-1)||n2==(n3+1)||n3==(n2+1)||n2==n3)
{
n2=rand()%(m-1)+1;
n3=rand()%(m-1)+1;

}
if(sum==1) return n2;
if(sum==2) return n3;
else return 0;
}
if(b==3)
{

int n4,n5,n6;
n4=rand()%(m-1)+1;
n5=rand()%(m-1)+1;
n6=rand()%(m-1)+1;
while(n4==0||n4==(m-1)||n5==0||n5==(m-1)||n6==0||n6==(m-1)||n4==(n5+1)||n5==(n4+1)||n4==(n6+1)||n6==(n4+1)||n5==(n6+1)||n6==(n5+1)||n4==n5||n5==n6||n4==n6||n4==n5==n6)
{
n4=rand()%(m-1)+1;
n5=rand()%(m-1)+1;
n6=rand()%(m-1)+1;
}
if(sum==1) return n4;
if(sum==2) return n5;
if(sum==3) return n6;
else return 0;
}
else return 0;
}

void Word::display_word()
{
char *p=&str1[0];
if(b==1)
{
int n1=space_position(1);
for(int i=0;i<n1;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n1+1);i<m;i++)
cout<<*(p+i);
cout<<endl;
}
if(b==2)
{
int n2=space_position(1);
int n3=space_position(2);
int t;
if(n2>n3) {t=n2;n2=n3;n3=t;}
for(int i=0;i<n2;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n2+1);i<n3;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n3+1);i<m;i++)
cout<<*(p+i);
cout<<endl;
}
if(b==3)
{
int n4=space_position(1);
int n5=space_position(2);
int n6=space_position(3);
int t;
if(n4>n5) {t=n4;n4=n5;n5=t;}
if(n4>n6) {t=n4;n4=n6;n6=t;}
if(n5>n6) {t=n5;n5=n6;n6=t;}
for(int i=0;i<n4;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n4+1);i<n5;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n5+1);i<n6;i++)
cout<<*(p+i);
cout<<" ";
for(i=(n6+1);i<m;i++)
cout<<*(p+i);
cout<<endl;
}

}

void Word::judge()
{
char *p=&str1[0];
if(b==1)
{
num=num+1;
int n1=space_position(1);
xuanze(*(p+n1),1);

}
if(b==2)
{
num=num+2;
int n2=space_position(1);
int n3=space_position(2);
int t;
if(n2>n3) {t=n2;n2=n3;n3=t;}
char m2=*(p+n2);
char m3=*(p+n3);
xuanze(m2,1);
xuanze(m3,2);

}
if(b==3)
{
num=num+3;
int n4=space_position(1);
int n5=space_position(2);
int n6=space_position(3);
int t;
if(n4>n5) {t=n4;n4=n5;n5=t;}
if(n4>n6) {t=n4;n4=n6;n6=t;}
if(n5>n6) {t=n5;n5=n6;n6=t;}
char m4=*(p+n4);
char m5=*(p+n5);
char m6=*(p+n6);
xuanze(m4,1);
xuanze(m5,2);
xuanze(m6,3);
}
}

void play()
{

char c='0';
while(c!='q')
{ Word t;
int n=t.length();
while(n>7)
{
Word t;
n=t.length();
}

cout<<endl;
cout <<"-----------------------------------------"<<endl;
cout<<" "<<"2: 開始單詞的背誦記憶"<<endl;
cout<<" "<<"4: 顯示 中 文 提 示"<<endl;
cout<<" "<<"5: 查 詢 成 績"<<endl;
cout<<" "<<"q: 保存 並 退出 游 戲"<<endl;
cout <<"-----------------------------------------"<<endl;
cout<<" 請選擇操作序號: ";
cin>>c;
cout<<endl;
switch(c)
{
case '2':
t.display_word();
t.judge();
break;
case '4':
cout<<"該單詞的中文為:";
t.display_chinese();
t.display_word();
t.judge();
break;
case '5':
cout<<"你現在的分數為:";
cout<<Word::score()<<endl;
break;
case 'q':
ofstream outfile("f.dat",ios::binary);
if(!outfile)
{
cerr<<"創建文件錯誤!"<<endl;
exit(1);
}
float sco=Word::average();
outfile.write((char *) & sco,sizeof(sco));
outfile.close();
cout<<"你的正確率為:";
cout<<Word::average()<<endl;
break;

}
}
}

class Game
{private:
string wod;
char ch;
public:
Game(string X,char Y):wod(X),ch(Y){}
Game(){}
int choice_game();
friend void display_game();
};

int Game::choice_game()
{
cout<<endl;
cout<<"請輸入1或q "<<endl;
l:cin>>ch;
switch(ch)
{
case'1':cout<<"++++++在游戲過程中,你可以按『4』鍵尋求幫助,電腦會自動記錄成績+++++++++"<<endl;
cout <<"------------------------------華麗的分割線------------------------------"<<endl;
cout <<"--------------------------Game-----------begining-----------------------"<<endl;
cout <<"------------------------------華麗的分割線------------------------------"<<endl;
play();
break;

case'q':cout<<"你選擇了退出,請記住帳號密碼便於下次登錄"<<endl;
cout <<" .....單........詞......"<<endl;
cout <<" ....單..單.....詞.詞....."<<endl;
cout <<" .....單..單....詞..詞...."<<endl;
cout <<" ......單..單..詞.詞.詞...."<<endl;
cout <<" .....單......... 詞.... "<<endl;
cout <<" ...單.............詞..."<<endl;
cout <<" ..單...............詞.."<<endl;
cout <<" .單.................詞. "<<endl;
cout <<" 單...................詞 "<<endl;
cout <<" 單...................詞 "<<endl;
cout <<" 單.....∩.......∩.....詞 "<<endl;
cout <<" 單. ..................詞"<<endl;
cout <<" 單. ...◎....U....◎....詞 "<<endl;
cout <<" .單.................詞."<<endl;
cout <<" ..單單.............詞詞.."<<endl;
cout <<" ....單.單.單.哈.詞.詞.詞... "<<endl;
break;
default:cout<<"輸入有誤,請重新輸入!"<<endl;goto l;break;
}
return 0;
}

void display_game()
{
cout<<" ---------------------------- "<<endl;
cout<<"============|Welcome to The words house|=============="<<endl;
cout<<" ---------------------------- "<<endl;
cout<<endl;
cout<<"=============== 按'q'鍵結束游戲 ==================="<<endl;
cout<<"=============== 按'1'鍵開始游戲 ==================="<<endl;
cout<<endl;
Game t("love",'a');
t.choice_game();
}

class User:public Game
{
private:
string zhuce_num;
string zhuce_sec;
string denglu_num;
string denglu_sec;
char zhuce;
public:
User(string x0,string y0):zhuce_num(x0),zhuce_sec(y0){}
User(string x,string y,char z):zhuce_num(x),zhuce_sec(y),zhuce(z){}
User(){zhuce_num="ab";zhuce_sec="123";}
void user_display();
int zhu_ce();
int deng_lu();
string getX0(){return zhuce_num;}
string getY0(){return zhuce_sec;}
string getX(){return denglu_num;}
string getY(){return denglu_sec;}
};
void User::user_display()
{
cout<<"===請問您需要注冊屬於自己的賬號跟密碼嗎,==="<<endl;
cout<<"===以便於您下次玩時能夠看到您先前玩的情況==="<<endl;
cout<<"=========如果你已經注冊請按m直接登錄========="<<endl;
cout<<"==============Yes or NO or M================="<<endl;
}
int User::zhu_ce()
{
user_display();
l:cin>>zhuce;
if(zhuce=='m'||zhuce=='M')
{

deng_lu();

}
else if(zhuce=='y'||zhuce=='Y')
{
ofstream outfile("user.dat",ios::binary|ios::app);
if(!outfile)
{
cerr<<"Open error !"<<endl;
exit(1);
}
cout<<"請輸入您的賬號跟密碼:"<<endl;
string zhuce_num;
string zhuce_sec;
cin>>zhuce_num;
cin>>zhuce_sec;
outfile.write(zhuce_num.c_str(),16);
outfile.write(zhuce_sec.c_str(),16);
outfile.close();
cout<<"=====注冊成功,你現在可以登錄進入游戲了!===="<<endl;
deng_lu();
return 0;
}

else
{
cout<<"===帳號或密碼有錯,請重新輸入!==="<<endl;
goto l;

}
return 0;
}

int User::deng_lu()
{
int m=50;
int m1=0;
cout<<"======== 你有3次登陸機會,連續3次都沒登陸成功,你將無法再登陸!========="<<endl;
while(m1<3)
{
cout<<"=======請輸入你的登錄賬號:"<<endl;
cin>>denglu_num;
cout<<" =======請輸入你的帳號密碼:"<<endl;
cin>>denglu_sec;
ifstream infile("user.dat",ios::binary);
if(!infile)
{
cerr<<"打開用戶文件失敗!"<<endl;
exit(1);
}
string str1, str2;
string str3,str4;
int n1=0;
str1.reserve(14);
str2.reserve(7);
for(int i=0;i<m;i=i+2)
{
infile.seekg(i*16,ios::beg);
infile.read((char *)str1.c_str(),16);
str3=(char*)(str1.c_str());
infile.seekg((i+1)*16,ios::beg);
infile.read((char *)str2.c_str(),16);
str4=(char*)(str2.c_str());
if(str3==denglu_num&&str4==denglu_sec)
{
cout<<"=========恭喜你成功登陸========="<<endl;
display_game();
return 0;
}
else
{
n1=0;
continue;

}
}

if(n1==0)
{
m1++;
cout<<"對不起!賬號或密碼有錯,請重新輸入!!"<<endl;
}
infile.close();
}

cout<<endl;
if(m1==3)cout<<"=========對不起,請找管理員或另注冊一個帳號=========="<<endl;
return 0;
}

class Manager:public User
{
private:
char c;
public:
Manager(char ch){c=ch;}
friend void display();
void person_judge();
};

void display()
{
cout <<" ____ii~~~"<<endl;
cout <<"丿#####八 __" <<endl;
cout <<"|_[]__|田|__| The words house-單詞屋歡迎您"<<endl;
cout<<"=============== 進入單詞屋前請選擇你的身份 ==============="<<endl;
cout<<"=============== 1: 管理員 ==============="<<endl;
cout<<"=============== 2: 玩家 ==============="<<endl;
cout<<"=============== 請選擇用戶類型: ==============="<<endl;
Manager ma('a');
ma.person_judge();
}

void Manager::person_judge()
{
l:cin>>c;

switch(c)
{
case'1':
char a;
cout<<"=============== 請選擇你需要進行的操作 ==============="<<endl;
cout<<"=============== 3: 添加單詞 ==============="<<endl;
cout<<"=============== 4: 修改單詞 ==============="<<endl;
cout<<"=============== 5: 刪除單詞 ==============="<<endl;
cout<<endl;
l1:cin>>a;
if(a=='3')
{
cout<<"=============== 請輸入你需要添加的單詞的個數: ==============="<<endl;
int num;
cin>>num;
ofstream outfile("en.dat",ios::binary|ios::app);
if(!outfile)
{
cerr<<"創建文件錯誤!"<<endl;
exit(1);
}
cout<<"============== 請輸入你需要添加的單詞 ==============="<<endl;
string word;
cout<<"先輸入單詞,在輸入中文"<<endl;
for(int i=0;i<(2*num);i++)
{
cin>>word;
outfile.write(word.c_str(),30);

}
cout<<"========添加單詞成功!=========="<<endl;
cout<<endl;
outfile.close();
display();
}
else if(a=='4')
{
cout<<"=======請輸入你需要修改的單詞的位置=========="<<endl;
cout<<"n為偶數"<<endl;
int n;
cin>>n;
cout<<"========請輸入你要修改成的單詞:=========="<<endl;
string newstr;
cin>>newstr;
cout<<"========請輸入你要修改成的單詞的中文意思=========="<<endl;
string newch;
cin>>newch;
fstream modfile("en.dat",ios::in|ios::out|ios::ate|ios::binary);
if(!modfile)
{
cerr<<"創建文件錯誤!"<<endl;
exit(1);
}
newch.reserve(30);
newstr.reserve(30);
modfile.seekg(n*30,ios::beg);
modfile.write(newstr.c_str(),30);
modfile.seekg((n+1)*30,ios::beg);
modfile.write(newch.c_str(),30);
cout<<endl<<"第"<<(n/2+1)<<"個單詞被修改為:"<<newstr<<endl;
cout<<endl<<"第"<<(n/2+1)<<"個單詞中文被修改為:"<<newch<<endl;
modfile.close();
display();
}
else if(a=='5')
{
cout<<"========請輸入你需要刪除的單詞的位置=========="<<endl;
int n1;
cin>>n1;
string delete_word;
fstream modfile("en.dat",ios::in|ios::out|ios::ate|ios::binary);
if(!modfile)
{
cerr<<"創建文件錯誤!"<<endl;
exit(1);
}

delete_word.reserve(NULL);
modfile.seekg((n1-1)*30,ios::beg);
modfile.write((char * )&delete_word,sizeof(delete_word));
cout<<"======= 刪除成功! ======="<<endl;
modfile.close();
display();
}
else
{
cout<<"=======輸入有錯,請重新輸入! ========"<<endl;
goto l1;
}
break;
case '2':
zhu_ce();
break;
default:cout<<"輸入有誤,請重新輸入!"<<endl;goto l;break;
}

}

int main()
{
User us("a","b");
display();

return 0;
}

2、求最終幻想GBA版1和2的攻略

你好,我來解答一下:
GBA《最終幻想1·2》完全攻略

1.序章 消逝的和平
在另一個遙遠的世界,長久以來維持的和平如今宣告結束了。帕拉美奇亞的皇帝從魔界召喚出怪物,妄圖征服世界。面對突如其來的強敵,反抗軍在菲因城奮起抵抗。然而在帝國軍隊猛烈的進攻下,菲因城也落陷了。反抗軍撤離到邊境的小鎮阿魯迪亞繼續抵抗。住在菲因的4個年輕人,在帝國軍隊發動的進攻中失去了他們的雙親。為了逃避帝國軍隊的血腥屠殺,他們結伴而行,一路逃亡…………

帕拉美奇亞的皇帝從魔界召喚出怪物,帝國軍隊大肆侵略。

帝國軍隊猛烈的進攻無人能擋。反抗軍苦戰中。
2.重生 加入反抗軍
逃亡中的主角們最終被帝國軍隊追上,戰斗中4人先後被擊敗,倒在血泊中失去了知覺……。反抗軍的希爾達公主(ヒルダ)在向邊境小鎮阿魯迪亞(アルテア)撤退的過程中發現了滿身鮮血的幾人,把他們救了回來。公主和白魔導士敏武(ミンウ)用魔法陣救了幾人的命。主角醒來以後碰到了另兩個同伴,女主角告訴他反抗軍沒能救回她的哥哥,三人都很難過,兩位同伴鼓勵了她一番叫她不要放棄希望。一行人來到會議室,向公主表達了加入了抵抗軍抗擊帝國軍隊的決心。公主最終被3人的決心打動,讓他們加入了反抗軍,並告訴了他們反抗軍接頭的暗號——野玫瑰(のばら)。與公主和敏武交談後得到第一個任務—回菲因城(フイン)探探虛實。

公主和敏武救了主角。女主角的哥哥沒能獲救,三人都很難過,但還是互相鼓勵了一番。

加入反抗軍,並記錄下聯絡暗號——野玫瑰(のばら)。主角探望在戰斗中受了重傷的菲因國王。

在村子裡遇到神偷波爾(ポ-ル)。和卡修恩城的王子哥頓(ゴ-ドン)交談了解情況。
3.重返菲因 消逝的愛
先在阿魯迪亞周圍提升一下自己的實力,賺點錢購置一些裝備,然後主角一行人就向菲因城出發了。菲因城在阿魯迪亞左上不遠的地方,途中還要經過一個小村莊卡迪亞村(ガテア),菲因就在卡迪亞村的對岸。到達菲因後發現這里已經完全被帝國軍隊佔領了。在酒吧里用暗號野玫瑰(のばら)與老闆交談,他會告訴主角他也是反抗軍,並為主角打開密道。在密室里主角們見到了卡修恩的王子斯科特(スコット),他在菲因保衛戰中受了重傷。他告訴主角們波肯伯爵(ボ-ゲン)出賣了反抗軍,所以菲因才會失守。斯科特王子還表達了對希爾達公主的思念和愛,但他不要主角把這些話告訴公主,並把與公主的訂婚戒指交給主角,希望公主以後不要再想他,好好的生活下去。說完這話後重傷不治的斯科特王子就犧牲了………

在阿魯迪亞一定要記得購買回復魔法書(讓女主角學習)。卡迪亞村(菲因就在對岸)

菲因城裡全是帝國士兵(不要與敵人交談,會觸發戰斗)。從這里繞著邊走可以去酒吧。

使用反抗軍聯絡暗號野玫瑰(のばら)交談,老闆身後就是密道。重傷不治的斯科特王子犧牲了。
4.出發 找尋傳說中的魔法金屬米斯里魯
主角一行人離開菲因回到了阿魯迪亞(得到戒指後按Select+B可以看大地圖)。在會議室,主角把斯科特王子犧牲的事情告訴了公主。大家都很難過。隨後公主告訴主角,要他們去找米斯里魯(ミスリル)金屬,因為這種金屬打造的武器比一般的武器威力要大,菲因失守反抗軍就是輸在了武器裝備上。獲得了關鍵詞米斯里魯(ミスリル)之後與公主身邊的敏武交談,他會加入隊伍,並送給主角獨木舟(現在可以在湖泊上自由航行了)。敏武加入以後再與公主交談,她會告訴你帝國軍隊正在把飛空艇(ひくうせん)擴建為攻擊力巨大的戰爭武器大戰艦(だいせんかん),另外薩拉曼多鎮(サラマンド)的約瑟夫(ヨ-ゼフ)大概知道米斯里魯的位置。主角一行人離開阿魯迪亞,往右上方走,穿過一個湖泊來到帕魯姆鎮(パルム)。在帕魯姆鎮花32G乘船去波夫特(ポフト)。在波夫特的酒店中遇到施德(シド),他用自己私有的飛空艇來做生意。與他旁邊的人交談,花200G就可以乘坐飛空艇到薩拉曼多鎮(サラマンド)了。

把斯科特王子給的戒指拿給公主看會觸發劇情。記錄關鍵詞魔法金屬米斯里魯(ミスリル)。

與公主身旁的敏武對話,敏武加入隊伍並把獨木舟送給了主角。現在可以自由穿越湖泊了!

穿越湖泊向東來到帕魯姆鎮(パルム),與這個女人交談花32G坐船去波夫特(ポフト)。要穿過海洋才能到達。

在波夫特(ポフト)的酒吧碰到喝酒的施德,跟他交談之後向他身邊的僕人交200G就可以坐飛空艇了,它會把你載到薩拉曼多鎮(サラマンド)。飛空艇出發啦,真爽!

5.薩拉曼多—沒有男人的小鎮
主角一行人來到了薩拉曼多鎮,這里有強力的武器、防具和新的魔法出售,先把裝備換換吧。在鎮子里轉轉發現鎮中幾乎沒有一個男人,打聽後才知道鎮子里的男人們都被帝國軍隊強拉到塞美多瀑布洞窟(セミテの瀧の洞窟)去了。主角一行人由此推斷米斯里魯金屬礦就在塞美多瀑布洞窟里。在鎮子右上角的屋子裡主角發現了約瑟夫(ヨ-ゼフ)。約瑟夫並不相信主角一行人的反抗軍身份,除非主角幫他救出村子裡被抓去做苦力的人。於是主角便向塞美多瀑布洞窟出發了。出了薩拉馬多鎮一直往左走,不一會就看見一條小河,順著小河向右前進一會就來到塞美多瀑布洞窟了。在洞窟3層救出了薩拉馬多鎮的鎮民,其中還有約瑟夫的女兒和神偷波爾。波爾告訴主角米斯里魯金屬就在洞窟更深的地方。繼續向下走,終於在洞窟5層拿到了米斯里魯金屬!再次回到約瑟夫家,約瑟夫感謝主角幫他救出了村民和他女兒,並透露暗黑騎士成為指揮官以後,大戰艦的製造速度提高了很多,已經快要完工了!

到了薩拉馬多先換一下裝備(錢不夠就在外面轉轉,這里的敵人不強,賺錢的同時順便提升一下自己的實力)。在鎮子里轉了轉,發現這里竟然沒有一個男人,交談中得知男人全都被帝國軍隊抓去做苦力了。

在鎮子右上角的房間里找到約瑟夫,用關鍵詞ミスリル和他交談可以觸發劇情,他要你去救人。離開鎮子一直往左走,到這里就下水,然後往右一直順流而下。

從這里進去就是瀑布洞窟了。在洞窟3F救出一幹人等。

洞窟5F的這個寶箱里可以拿瞬移(デレポ,可以脫離迷宮)魔法書,但是寶箱里有個怪物(它害怕冰魔法),會強制戰斗。在5F的另一個房間里將遭遇FF2里的第一場BOSS戰。

戰勝BOSS,在他身後的寶箱里得到魔法金屬米斯里魯!回約瑟夫那裡,他會告訴你一些重要情報。
6.成功打造米斯里魯裝備 反抗軍蓄勢待發
拿到米斯里魯(ミスリル)金屬的主角們離開薩拉曼多鎮,往東南方向走來到波夫特(ポフト),與酒吧外面的女人對話,花32G坐船回到帕魯姆鎮(パルム)。到達帕魯姆鎮後繼續南下,目的地是反抗軍的基地阿魯迪亞(アルテア)。回到阿魯迪亞後去武器店把米斯里魯金屬交給武器店裡的老頭,他會用你給的原料製作出米斯里魯武器和防具。以後武器店就會多了一個伙計,專門出售強力的米斯里魯武器和防具。從現在開始反抗軍的士兵們就能使用米斯里魯武器和帝國軍隊戰鬥了!

到波夫特後與這個女人交談可以坐船回帕魯姆鎮。到帕魯姆後繼續往回走,回反抗軍基地阿魯迪亞。

回到阿魯迪亞後把米斯里魯(ミスリル)金屬交給武器店裡的這個老頭。老頭會幫反抗軍打造武器,多出來的這個伙計就是專門出售米斯里魯裝備的。

使用米斯里魯打造的武器和防具。趕緊買吧!
7.完美計劃流產 破壞大戰艦行動失敗
完成武器打造之後,主角等人回會議室向公主復命。公主告訴他們,由於反抗軍成功搶奪了米斯里魯金屬,已經引起帝國的注意,實力超強的暗黑騎士已經被緊急調回帕拉美奇亞,這樣就有機會破壞大戰艦了。公主還告訴主角反抗軍已經有間諜秘密潛入了大戰艦停泊的帕夫斯克(バフスク)軍事基地,到時候里應外合,一定能破壞大戰艦!主角一行立刻出發。先去帕魯姆鎮(パルム)坐船到波夫特(ポフト),然後花100G坐飛空艇就到帕夫斯克了。帕夫斯克里到處都是帝國士兵,與左下一個帝國士兵交談,使用關鍵詞野玫瑰(のばら)和大戰艦交談之後,他會告訴你他就是反抗軍的內應,並把主角帶到通往大戰艦的下水道。眼看走到了下水道的盡頭,沒想到暗黑騎士竟然出現在出口處!「大戰艦已經完工了!你們根本沒有勝算!盡早向皇帝投降吧!」,說完之後,暗黑騎士頭也不回的走掉了。波肯伯爵(ボ-ゲン)也乘機對主角們嘲笑一番,然後怪笑著離開了。主角一行人追了出去,無奈大戰艦已經飛走了。重新返回下水道,在出口右邊的房間里找到通行證(つうこうしょう
)後通過傳送點離開。

用關鍵詞大戰艦與公主交談會觸發劇情,公主認為現在是破壞大戰艦的好時機。在波夫特(ポフト)花100G可以乘坐飛空艇去帕夫斯克(バフスク)。

飛空艇把你送到帕夫斯克。使用關鍵詞野玫瑰(のばら)和大戰艦與地圖左下的這個士兵交談,他會告訴你他就是反抗軍的內應,並把你帶到下水道的入口。

在下水道的出口處暗黑騎士擋住了主角的去路。大戰艦飛走了,主角一行人的行動失敗!

回到下水道,在右邊的房間里找到「通行證」(つうこうしょう )。通過這個傳送點可以離開下水道。
8.帝國反擊戰 殘存的希望
作為對反抗軍搶奪米斯里魯金屬和企圖破壞大戰艦的懲罰,帝國軍隊展開了大規模的空襲行動。主角到波夫特找到施德,詢問有關飛空艇和大戰艦弱點的事。這里剛剛遭到帝國軍隊的空襲,已經是一片廢墟了。施德告訴主角大戰艦和飛空艇都是使用太陽火焰(太陽の炎)作為動力,但是太陽火焰並不穩定,稍微多加一點就會爆炸。離開波夫特,主角回到了阿魯迪亞。除了波夫特以外,帕魯姆和阿魯迪亞也同時遭到了帝國軍隊的大規模空襲。這幾個給予反抗軍支持的城市現在都已經是一片廢墟了,空襲同時造成了大量反抗軍戰士和無辜平民的傷亡。回到會議室,白魔導士敏武表示要留下來照顧受傷的人和病重的菲因國王,於是敏武離開了隊伍。使用關鍵詞太陽火焰(太陽の炎)與公主交談,公主告訴主角太陽火焰是卡修恩城(カシュオ-ン)的標志之一,施德的飛空艇可以送他們去卡修恩城,但是怎樣取得火焰卻不清楚。去國王的房間與敏武交談,敏武告之只有用超級火把(エギルのたいまつ)才能取得太陽火焰。與國王對話,國王告訴大家斯科特(斯科特就是游戲剛開始在菲因城犧牲的那位王子)在戰爭爆發以前,為了保護太陽火焰,已經把卡修恩城封印了,誰也進不去,只有使用女神鈴(女神のベル)才能破解封印。敏武告訴主角,斯科特已經死了,但公主曾是他的未婚妻,因此公主或許知道女神鈴的下落…………。回會議室與公主交談,公主告訴主角她的確從斯科特那裡聽說過此事,女神鈴就藏在雪原洞穴的深處,而雪原洞穴就在約瑟夫家的背後,去約瑟夫那裡問問他吧。帶著擊敗大戰艦的一線希望,主角們離開了廢墟中的城市,朝薩拉曼多鎮(サラマンド)出發了。

主角離開帕夫斯克(バフスク)來到波夫特(ポフト),這里已經是一片廢墟。在酒吧里與與施德交談獲得關鍵詞太陽火焰。

帕魯姆凄涼的慘景,房屋被炸毀,地上布滿了彈坑。阿魯迪亞也遭到了帝國軍隊的空襲。

敏武要照顧傷者離開了隊伍。在國王的房間與敏武交談得知關於超級火把(エギルのたいまつ)的事。

用太陽火焰與國王交談獲得關鍵詞女神鈴(女神のベル)。回會議室與公主交談,公主要主角去薩拉曼多鎮找約瑟夫。
9.雪上船
主角一行人由帕魯姆(パルム)乘船到達波夫特(ポフト),在波夫特花200G乘坐飛空艇就到薩拉曼多鎮(サラマンド)了。去約瑟夫家拜訪他,使用關鍵詞女神鈴(女神のベル)與他交談,他會告訴你女神鈴就藏在雪原洞窟(せつけんのどうくつ),但是要去雪原洞窟必須先找到雪上船(せつじょうせん),否則是無法在茫茫雪原上行動的,而雪上船就藏在以前去過的塞美多瀑布洞窟(セミテのたきのどうくつ)里一個有蘭色石頭的地方。說完之後約瑟夫會加入了隊伍。來到塞美多瀑布洞窟,在1F找到有蘭色石頭的地方,調查右上方的牆壁會發現一條密道!從密道進去可以獲得雪上船,以後就可以在雪原上自由行動了!

在帕魯姆(パルム)乘船去波夫特(ポフト)。在波夫特花200G坐飛空艇去薩拉曼多。

用關鍵詞女神鈴(女神のベル)與約瑟夫交談,他會告訴你雪上船(せつじょうせん)的事情。說完之後約瑟夫加入隊伍。

在瀑布洞窟1F調查這里的牆壁會發現密道。從密道進去以後獲得雪上船(せつじょうせん)!
10.約瑟夫最後的決定 永別了朋友!
獲得雪上船後,從地圖的左上角一個狹窄的通道進入雪原,一直向右前進就可以到達雪原洞窟(せつけんのどうくつ)。來到洞窟5F的一個房間里,發現那裡有許多大海狸(ジャイアントビ-バ-)。與左上方的海狸交談,它會告訴你女神鈴被藏在房間右邊的牆里。在右方的牆壁里發現密道,進去之後順利取得女神鈴(這里有BOSS戰)。在眾人經過來時那條長階梯准備離開的時候,波肯伯爵(ボ-ゲン)出現並擋住了去路(BOSS戰)。打倒這個出賣反抗軍的叛徒後,喪心病狂的波肯伯爵在死前發動了機關,一個巨大的圓石順著階梯滾了下來!主角一行人趕緊往下跑去,但那石頭卻越滾越快、越來越近,眼看就要追上大家了!在這千鈞一發之際,約瑟夫挺身而出,用自己的身體頂住了那巨大的圓石。「快走!不要管我!替我照顧我的女兒......。快走!!!」。三人剛跑下樓梯,那圓型巨石就滾了下來,為了救大家的命,約瑟夫壯烈犧牲了…………。主角一行人懷著悲痛的心情回到薩拉馬多鎮,那個一直在約瑟夫家門外徘徊的愛慕著約瑟夫的紅衣女子答應主角會好好照顧約瑟夫的女兒。把約瑟夫女兒的事情安排妥當之後,眾人才離開了薩拉曼多鎮…………

從這里進入大雪原。這里就是雪原洞窟(せつけんのどうくつ)。

在洞窟5F用關鍵詞女神鈴(女神のベル)與大海狸交談,它告訴主角女神鈴被藏在房間右邊的牆里。這個地方有密道,可以直接走進去。

與守護女神鈴的妖怪交戰(BOSS戰)。打倒BOSS後調查它身後的牆壁發現了女神鈴!!

波肯伯爵擋住去路。與波肯伯爵交戰(BOSS戰)。

波肯伯爵臨死前發動了機關。約瑟夫用自己的身體擋住巨石!

約瑟夫拯救了大家,他自己卻獻出了生命。主角一行人回到約瑟夫家裡,紅衣女子表示會好好照顧約瑟夫的女兒。
11.太陽火焰
離開薩拉曼多鎮向南來到波夫特(ポフト),在波夫特乘船回帕魯姆(パルム),到達帕魯姆後繼續向南回到反抗軍的基地阿魯迪亞(アルテア)。在會議室里主角把事情的經過告訴了公主,公主為約瑟夫的死感到非常難過。為了不讓約瑟夫白白犧牲,主角決定立刻前往卡修恩城(カシュオ-ン)去取得太陽火焰。公主告訴主角,取得太陽火焰後她會安排施德用飛空艇接大家回來。主角一行人離開了阿魯迪亞,在帕魯姆乘船到波夫特,然後在波夫特花100G坐飛空艇來到帕夫斯克(バフスク),到帕夫斯克後步行南下就來到了群山環抱中的卡修恩城。入城就可以看到一樓大廳中央的太陽火焰了,但是沒有超級火把(エギルのたいまつ)是無法取走太陽火焰的,而超級火把就在城中。用女神鈴開啟城門,剛進去就看到了哥頓。哥頓是卡修恩的王子,為了協助眾人取得火把他加入了主角的隊伍。城堡中有許多寶物,最關鍵的超級火把在4F,將守護火把的紅色靈魂打倒之後就可以獲得。回到一樓,使用超級火把順利取得了太陽火焰!出城後,發現兩艘飛空艇快速飛了過來,前面的是施德的飛空艇,後面追趕它竟是帝國軍隊的大戰艦!大戰艦正在不斷攻擊施德的飛空艇,看起來情況十分危急!

公主為約瑟夫的死感到十分難過。為了不讓約瑟夫白白犧牲,一行人決定去卡修恩城(カシュオ-ン)去取得太陽火焰

在波夫特花100G去帕夫斯克。到帕夫斯克後繼續向南出發。

群山環抱中的卡修恩城。一樓大廳中央的就是太陽火焰。

在這里要使用女神鈴(めがみのベル)才能打開城門。哥頓加入隊伍。

守護超級火把的紅色靈魂(4F)。BOSS戰,擊倒它後在裡面的寶箱中取得超級火把

使用超級火把(エギルのたいまつ)取得太陽火焰。出城以後目睹大戰艦追擊施德的飛空艇。
12.潛入作戰 大戰艦內部的激斗
在卡修恩城南邊不遠的森林中,有一處地方與周圍明顯不同,進去之後發現原來這里就是陸行鳥森林(這是陸行鳥首次在FF系列中登場)!主角一行人往北回到波夫特(ポフト),然後坐船去帕魯姆(パルム),接著就回到了反抗軍基地阿魯迪亞(アルテア)。在阿魯迪亞,眾人得知了一個驚人的消息——施德的飛空艇已經被大戰艦俘獲,公主當時也在飛空艇上,因此公主也一起落入帝國手中了!繼續打聽情況,反抗軍的情報顯示大戰艦目前正停靠在菲因(フイン)北邊的軍事基地進行補給。事不宜遲,主角立刻動身往北方基地趕去。在基地入門處有士兵盤查主角的身份,使用以前拿到的通行證(つうこうしょう)可以混進去。大戰艦內部守衛森嚴,帝國精銳部隊負責這里的防務工作。主角一行人小心翼翼的潛入大戰艦內部,在2F發現關押公主和施德的牢房,奇怪的是這里竟然沒有帝國士兵守衛……。打開牢門以後,公主說話和平時似乎有點不一樣。和施德交談,施德表示他先把公主帶到飛空艇那裡,叫主角趕緊找到大戰艦的引擎,用太陽火焰引爆它,最後大家在飛空艇那裡匯合。時間緊急,來不及細想兩撥人便分頭行動了。一邊搜索,一邊繞開一些士兵把守的關卡,終於到達了大戰艦內部的核心部位——引擎室。主角把太陽火焰扔進了大戰艦的引擎里,引擎立刻發生劇烈反應,整個大戰艦都在不停的搖晃!這時候暗黑騎士趕來了,在確認引擎內的太陽火焰已經完全無法控制之後,冷冷的說了一句:「不要以為你們炸毀大戰艦就贏了,對帝國來講,這點損失根本微不足道」。女主角感覺這聲音很熟悉,似乎想和暗黑騎士說點什麼。男主角告訴她沒有時間了,大戰艦就要爆炸了!一行人立刻用最快的速度向和施德約好的地方跑去。終於趕到施德的飛空艇那裡了,飛空艇剛一起飛,大戰艦就發生了猛烈的爆炸。整個基地隨大戰艦的爆炸一起灰飛煙滅…………。雖然成功救出了公主,炸毀了大戰艦可以暫時緩解帝國軍隊的進攻,但是眾人想起暗黑騎士說的話,心裡感覺到隱隱的不安…………。

卡修恩城南邊不遠的地方有陸行鳥森林。和陸行鳥對話就可以使用它了。騎在陸行鳥上能夠高速移動,而且不會遇敵,非常討人喜歡,騎著它回波夫特是最快捷的方法。

回到阿魯迪亞,得知公主被帝國軍抓住的消息。從菲因往北走可以到達大戰艦停靠的北方基地。

這就是補給基地。位置如圖所示。

對門口的士兵使用通行證(つうこうしょう)可以混進去。大戰艦內守衛森嚴(不要與敵人交談,會觸發戰斗)。

這堵牆其實是空的,直接走進去就可以拿睡眠劍(ねむりのけん),開寶箱時有強制戰斗。在大戰艦2F救出公主和施德,感覺公主有些異樣。

在大戰艦5F找到引擎室,對引擎使用太陽火焰(たいようのほのお)。暗黑騎士出現,女主角似乎想和他說些什麼。

大戰艦發生猛烈爆炸。施德的飛空艇成功脫出基地。
13.三個遺願
回到阿魯迪亞,從人們的口中得知病重的菲因王快要不行了。眾人立刻趕到國王的房間。菲因王交代了三件事情。他首先任命哥頓為反抗軍的指揮官,協助公主一起抗擊帝國軍隊;然後吩咐敏武去解除究極之書的魔法封印;最後希望主角去一趟迪斯特城(ディスト),找尋倖存下來的龍騎士,因為反抗軍非常需要龍騎士和飛龍的力量。「只要你們團結在一起,就一定能堅持到勝利的一天」,菲因王說完就去世了。回到會議室與哥頓交談,獲得兩個關鍵詞龍騎士和飛龍(ひりゅう)。主角離開阿魯迪亞,在帕魯姆(パルム)遇到一個女人,她說願意用她的船送他們去迪斯特城。女主角感覺有些不妥,男主角卻認為沒什麼不妥,而且還是免費乘坐,不坐可惜了……。海上,那女子亮出身份,她就是女海盜蕾拉,要主角留下錢財……。打敗她之後,主角希望她能加入反抗軍,蕾拉欣然同意。(蕾拉加入以後可以自由使用她的海船,現在你可以去世界上的任何地方了)

菲因王臨終前交代了三個遺願。和哥頓交談獲得兩個關鍵詞:龍騎士、飛龍。

在帕魯姆與女海盜蕾拉對話。蕾拉的船停在這里。

在船上打敗蕾拉的手下。蕾拉加入隊伍(從現在開始可以操作海船去地圖上的任何地方了)!!
14.龍騎士團的覆滅 最後的飛龍蛋
來到迪斯特城,發現這里只剩下母子兩人。與他們交談後才知道這女的丈夫是龍騎士團的一員,但是他已經在戰斗中陣亡了。卑鄙的帝國軍隊先在水中偷偷的下毒,在毒死了絕大多數的飛龍之後,帝國軍隊立刻展開了瘋狂的進攻。失去了飛龍的龍騎士根本不能發揮自己的實力,所以龍騎士團很快被帝國軍隊所殲滅了。現在整座迪斯特城就只剩下他們母子兩人了。在他們身後的房間里有最後一條奄奄一息的飛龍,只有使用龍騎項鏈(ベンダント)才能和飛龍交談。在迪斯特城北邊的迪斯特洞窟2F,主角在一位龍騎士的骨骸中找到了龍騎項鏈。回來與飛龍交談,它會把龍族的最後一枚飛龍蛋(ひりゅうのたまご)交給主角,並拜託主角把蛋放到飛龍洞窟的生命之泉里,這個蛋將是龍族最後的希望。再次來到迪斯特洞窟,在5F打敗守在生命之泉前面的怪獸(BOSS戰)後,把飛龍蛋放到了生命之泉里。回去城堡和母子告別,女子告訴主角最後的飛龍已經安靜的離開了這個世界。

迪斯特城(ディスト)在地圖右上方的海島上,位置如圖。在迪斯特城與女子對話獲知只有使用龍騎項鏈(ベンダント)才能與飛龍交談。

在迪斯特洞窟2F得到龍騎項鏈(ベンダント)。回到飛龍的房間用關鍵詞(飛龍)和它交談,得到飛龍蛋。

在迪斯特洞窟5F找到生命之泉。與守衛的BOSS交戰。

獲勝後把飛龍蛋(ひりゅうのたまご)放進生命之泉。回城裡和母子告別。
15.真假公主
使用蕾拉的海船很容易就回到了阿魯迪亞(アルテア)。眾人一回來就聽說公主現在變得越來越奇怪了,跟以前完全不一樣。去會議室和哥頓交談,哥頓告訴主角他現在完全沒辦法和公主溝通,希望主角去看一看公主。來到公主的房間,公主表示要和主角單獨談一談。其他人離開後,公主竟然往床上一躺,溫柔的說「來吧,還等什麼呢?到我身邊來……」。主角似乎被一股奇怪的力量拉到床邊,突然間美麗的希爾達公主變成了一個蛇身人面的怪物,欲加害主角!這時候剛才離開的幾位同伴及時沖了進來,四人一起制服了這個妖怪。假公主打倒了,那真公主在哪裡呢?這時候一個反抗軍士兵進來報告說,帕拉美奇亞帝國的鬥技場(とうぎじょう)正在舉行比武大會,而獎品就是希爾達公主!哥頓救人心切加入隊伍,蕾拉則表示自己願意在這里留守。一行人便急急忙忙的向鬥技場出發了!

與哥頓交談,他希望主角去看一看公主。來到公主的房間,公主要求和主角單獨談話。

原來公主是妖怪假扮的!BOSS戰!

反抗軍士兵報告說情報顯示公主在帝國鬥技場。哥頓加入隊伍。
16.皇帝的圈套
帝國鬥技場在阿魯迪亞的海對岸,向右橫度海洋再穿過一片沙漠就到了。進入鬥技場,裡面空無一人,往前走了幾步發現帝國皇帝正靜靜的坐在王座上,身邊一個士兵也沒有!眾人立刻沖了上去,卻在皇帝面前被機關攔住了。「既然來了,就表演一下吧。如果你們贏了比賽,就把公主還給你們。」皇帝冷冷的說。這時候圓形角斗場另一邊的門打開了,出來的是恐怖的怪獸!經過一番戰斗,主角打敗了怪獸。「不錯,很精彩!你們上來領賞好了!」這可是打倒皇帝的好機會啊!走到皇帝面前,皇帝說他早就知道主角一行人是反抗軍戰士。說完皇帝就消失了,緊接著暗黑騎士和大隊的帝國士兵從四面八方湧出,原來這根本就是一個圈套……。主角一行人被關進了大牢,正走投無路的時候神偷波爾(ポ-ル)出現了!他打倒了看守牢房的帝國士兵,還幫主角打開了房門。「上次你們在礦山救了我,作為報答,這次該我來救你們了!快逃吧!」說完波爾就閃人了。主角在逃離地牢的時候,卻意外的發現了被囚禁在地牢1F的公主!救出公主後哥頓保護公主先走,主角等人在後面掩護。最終一行人成功脫出,這次真是因禍得福了。

這就是帝國鬥技場。位置如圖。

鬥技場除了皇帝空無一人。在皇帝前被機關攔住。

與怪獸決斗!BOSS戰!

皇帝消失,暗黑騎士和帝國士兵卻出現了。波爾救出了關在地牢里的主角。

在地牢1F發現了被囚禁的公主。救出公主,一行人成功脫出。
17.吹響反攻的號角 反抗軍重奪菲因城
回到反抗軍基地阿魯迪亞(アルテア),發現這里的人都不見了,與留守的士兵交談,他告訴主角反抗軍開始大反攻了,首先就是要奪回帝國軍隊重

3、小游戲的C++代碼

/*一個火柴人游戲,親自驗證,可運行*/
/*在編譯時添加如下命令:-std=c++11,否則會編譯錯誤*/
#include <cstdio>
#include <cstdlib>
#include <Windows.h>
#include <thread>
#include <conio.h>
using namespace std;
const unsigned char CTRL_KEY = 0XE0;
const unsigned char LEFT = 0X4B;
const unsigned char RIGHT = 0X4D;
const unsigned char DOWN = 0X50;
const unsigned char UP = 0X48;
int men2[2] = {0,0};
int women2[2]={10,10};
int Game();
void gotoxy(int x,int y) //游標移動到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
int TorF()
{
if ( men2[0] == women2[0] && men2[1] == women2[1] ) return 1;
else return 0;
}
int clean(int mm, int nn)
{
gotoxy ( mm, nn );
printf ( " " );
gotoxy ( mm,nn+1);
printf ( " " );
gotoxy ( mm,nn+2);
printf (" ");
}
int men(int x, int y)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);

gotoxy( x,y );
printf(" O");

gotoxy( x,y+1 );
printf("<H>");
gotoxy( x,y+2 );
printf("I I");

}
int women(int i,int j)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy( i+1,j );
printf(" O");

gotoxy( i+1,j+1 );
printf("<H>");
gotoxy( i,j+2 );
printf("/I I\\");
}
int m=10, n=10;
int womenmove()
{
int turn;
int YNbreak=0;
while( YNbreak==0 )
{
YNbreak = TorF();
turn=rand()%3;
clean(m,n);
if ( turn == 0 ) m++;
if ( turn == 1 ) m--;
if ( turn == 2 ) n++;
if ( turn == 3 ) n--;

if ( m<0 ) m=0;
if ( m>=75 ) m=75;

if ( n<0 ) n=0;
if ( n>=22 ) n=22;
women( m,n );

women2[0]=m;
women2[1]=n;
Sleep(100);
}
system ( "cls" );
gotoxy ( 28,10 );
printf ( "You died!!!\n" );
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
system ( "pause" );
return 0;
}
int x=0;int y=0;
int menmove()
{
system("cls");
while (1)
{

switch(getch())
{
case UP:y--;break;

case DOWN:y++;break;

case LEFT:x--;break;

case RIGHT:x++;break;
}

system("cls");
if ( x<0 ) x=0;
if ( x>77 ) x=77;

if ( y<0 ) y=0;
if ( y>22 ) y=22;

men(x,y);

men2[0]=x;
men2[1]=y;
}
}
int Game()
{
women(10,10);
men(0,0);

int t=0;
thread qq(womenmove);
menmove();

qq.join();
return 0;
}
int main()
{
printf ( "游戲開始後,隨機按下一個鍵,喚醒你的藍色小人.如果你被紅色的老女人碰到了,那麼你就死了\n" );
printf ( "方向鍵操控小人\n" );
system ( "pause" );
system ( "cls" );
Game();
return 0;
}
/*留下您的贊再拿走,謝謝!*/

4、c語言游戲

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//這個函數:判斷輸入是否重復
int EachDiff(int a[],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
return 0;
else
return 1;
}
//這個函數:判斷幾個數位置和數字都對
int JudgeA(int a[],int b[],int n)
{
int i,result=0;
for(i=0;i<n;i++)
{
if(a[i]==b[i]) result++;
}
return result;
}
//這個函數:判斷有幾個數猜對
int JudgeB(int a[],int b[],int n)
{
int i,j,result=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i]==b[j]&&i!=j){result++;break;}
return result;
}
//這個函數:生成不重復的隨機數
void CreateNum(int a[],int n)
{
int i;
srand(time(0));
do
{
for(i=0;i<n;i++)a[i]=rand()%10;
}while(!EachDiff(a,n));
}
//這個函數:判斷輸入是否滿足要求
int JudgeInput(int a[],int n)
{
int i;
if(!EachDiff(a,n))
return 0;
else
for(i=0;i<n;i++)
if(a[i]>9||a[i]<0)
return 0;
else
return 1;
}
int main()
{
//system();
int a[4],b[4],i;
int fth=1;
printf("作者 Dante -- 謝煜東");
printf("\t\t 歡迎來到猜數字游戲\n\n");
printf(" 計算機想好了一個4位無重復數字,首位可以為零。\n 例如:0913是可以的,3502也是可以的,6787不可以。\n");
printf(" 現在您想辦法把這個數字猜出來。\n\n");
printf(" 每猜一個數字,計算機會根據這個數字給出幾A幾B:\n 其中A前面的數字表示位置正確的數的個數,\n 而B前的數字表示數字正確而位置不對的數的個數。\n\n");
//printf(" 如正確答案為5234,而猜的人猜5346,則是1A2B。\n 其中有一個5的位置對了,記為1A;\n 而3和4這兩個數字對了,而位置沒對,因此記為2B;\n 合起來就是1A2B。\n\n");
printf(" 記住!1:你共有8次機會,2:輸入的數字不能重復。\n\n");
printf(" 當出現\"第幾次:\"字樣並等待的時候,您就可以輸入你要猜測的四位數字,\n 輸入完之後回車確認。祝您開心\n\n 明白之後任意鍵游戲正式開始!");
getchar();
CreateNum(a,4); //生成4位不重復的隨機數
system("cls");
printf("\t\t現在可以輸入你要猜的四位數字了,輸入之後回車確認。\n");
while(fth<=8)
{
int t=1000;
printf("第%d次: ",fth);
scanf("%d",&b[0]);
for(i=0;i<3;i++)
{
b[i+1]=b[i]%t;
b[i]=b[i]/t;
t/=10;
}
for(i=0;i<4;i++){printf("%d",b[i]);}
if(JudgeInput(b,4)==0)
{
printf("您的輸入有問題,請重新輸入\n");
continue;
}
if(JudgeA(a,b,4)==4)
{
printf("\t結果: 答對了!好聰明!");
system("pause");
//return;
}
printf("\t結果:您有%d個數字和位置都對了,有%d個數字對了而位置沒對\n",JudgeA(a,b,4),JudgeB(a,b,4));

fth++;
}
printf("\n很遺憾。正確答案是:");
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("下次再玩吧!88\n");
system("pause");

return 0;
}

5、dev-c++小游戲代碼,急急急急!!!!!

//你看看行不行?
//貪吃蛇
#include<graphics.h>

#include<stdlib.h>
#include<dos.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int i,key;
int score=0;
int gamespeed=32000;
struct Food /*食物的結構體*/
{
int x; /*食物的橫坐標*/
int y; /*食物的縱坐標*/
int yes; /*食物是否出現的變數*/
}food;
struct Snack /*蛇的結構體*/
{
int x[N];
int y[N];
int node; /*蛇的節數*/
int direction; /*蛇的方向*/
int life; /*蛇的生命,0活著,1死亡*/
}snake;
void Init(void); /*圖形驅動*/
void Close(void); /*關閉游戲函數*/
void DrawK(void); /*畫圖函數*/
void GameOver(void);/*輸出失敗函數*/
void GamePlay(); /*游戲控制函數 主要程序*/
void PrScore(void); /*分數輸出函數*/

DELAY(char ch)/*調節游戲速度*/
{
if(ch=='3')
{
delay(gamespeed); /*delay是延遲函數*/
delay(gamespeed);
}
else if(ch=='2')
{
delay(gamespeed);
}
}

Menu()/*游戲開始菜單*/
{
char ch;
printf("Please choose the gamespeed:\n");
printf("1-Fast 2-Normal 3-Slow\n");
printf("\nPlease Press The numbers..\n");
do
{ch=getch();}
while(ch!='1'&&ch!='2'&&ch!='3');
clrscr();
return(ch);
}

/*主函數*/
void main(void)
{
int ch;
ch=Menu();
Init();
DrawK();
GamePlay(ch);
Close();
}

void Init(void)
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc");
cleardevice();
}

void DrawK(void)
{
setcolor(11);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
for(i=50;i<=600;i+=10)
{
rectangle(i,40,i+10,49); /*畫出上邊框*/
rectangle(i,451,i+10,460); /*畫出下邊框*/
}
for(i=40;i<=450;i+=10)
{
rectangle(50,i,59,i+10); /*畫出左邊框*/
rectangle(601,i,610,i+10); /*畫出右邊框*/
}
}

void GamePlay(char ch)
{
randomize(); /*隨機數發生器*/
food.yes=1; /*1代表要出現食物,0表示以存在食物*/
snake.life=0;
snake.direction=1;
snake.x[0]=100;snake.y[0]=100;
snake.x[1]=110;snake.y[1]=100;
snake.node=2;
PrScore();
while(1) /*可以重復游戲*/
{
while(!kbhit()) /*在沒有按鍵的情況下蛇自己移動*/
{
if(food.yes==1) /*需要食物*/
{
food.x=rand()%400+60;
food.y=rand()%350+60; /*使用rand函數隨機產生食物坐標*/
while(food.x%10!=0)
food.x++;
while(food.y%10!=0)
food.y++; /*判斷食物是否出現在整格里*/
food.yes=0; /*現在有食物了*/
}
if(food.yes==0) /*有食物了就要顯示出來*/
{
setcolor(GREEN);
rectangle(food.x,food.y,food.x+10,food.y-10);
}
for(i=snake.node-1;i>0;i--) /*貪吃蛇的移動演算法*/
{
snake.x[i]=snake.x[i-1];
snake.y[i]=snake.y[i-1]; /*貪吃蛇的身體移動演算法*/
}

switch(snake.direction) /*貪吃蛇的頭部移動演算法,以此來控制移動*/
{
case 1:snake.x[0]+=10;break;
case 2:snake.x[0]-=10;break;
case 3:snake.y[0]-=10;break;
case 4:snake.y[0]+=10;break;
}
for(i=3;i<snake.node;i++) /*判斷是否頭部與身體相撞*/
{
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
{
GameOver();
snake.life=1;
break;
}
}
/*下面是判斷是否撞到牆壁*/
if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55||snake.y[0]>455)
{
GameOver();
snake.life=1;
}
if(snake.life==1) /*如果死亡就退出循環*/
break;
if(snake.x[0]==food.x&&snake.y[0]==food.y) /*判斷蛇是否吃到食物*/
{
setcolor(0);
rectangle(food.x,food.y,food.x+10,food.y-10); /*吃的食物後用黑色將食物擦去*/
snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*現把增加的一節放到看不到的地方去*/

snake.node++;
food.yes=1;
score+=10;
PrScore();
}
setcolor(4); /*每次移動後將後面的身體擦去*/
for(i=0;i<snake.node;i++)
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);
delay(gamespeed);
DELAY(ch);
setcolor(0);
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);

}
if(snake.life==1)
break;
key=bioskey(0); /*接受按鍵*/
if(key==ESC)
break;
else
if(key==UP&&snake.direction!=4)/*判斷是否改變方向*/
snake.direction=3;
else
if(key==RIGHT&&snake.direction!=2)
snake.direction=1;
else
if(key==LEFT&&snake.direction!=1)
snake.direction=2;
else
if(key==DOWN&&snake.direction!=3)
snake.direction=4;
}
}

void GameOver(void)
{
cleardevice();
setcolor(RED);
settextstyle(0,0,4);
outtextxy(200,200,"GAME OVER");
getch();
}

void PrScore(void)
{
char str[10];
setfillstyle(SOLID_FILL,YELLOW);
bar(50,15,220,35);
setcolor(6);
settextstyle(0,0,2);
sprintf(str,"scord:%d",score);
outtextxy(55,20,str);
}
void Close(void)
{
getch();
closegraph();
}

6、求一個安卓開發小游戲源代碼,臨時交作業用

package com.fiveChess;

import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;

public class MainActivity extends Activity {
GameView gameView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Display display = this.getWindowManager().getDefaultDisplay();
gameView = new GameView(this,display.getWidth(),display.getHeight());
setContentView(gameView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
e68a847a6431333335326161menu.add("重新開始").setIcon(android.R.drawable.ic_menu_myplaces);
menu.add("退出");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getTitle().equals("重新開始")){
gameView.canPlay = true;
gameView.chess = new int[gameView.row][gameView.col];
gameView.invalidate();
}else if(item.getTitle().equals("退出")){
finish();
}
return super.onOptionsItemSelected(item);
}
}

package com.fiveChess;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.view.MotionEvent;
import android.view.View;

public class GameView extends View {
Context context = null;
int screenWidth,screenHeight;
String message = "";//提示輪到哪個玩家
int row,col; //劃線的行數和列數
int stepLength = 30;//棋盤每格間距
int[][] chess = null;//0代表沒有棋子,1代表是黑棋,2代表白旗
boolean isBlack = true;
boolean canPlay = true;
public GameView(Context context,int screenWidth,int screenHeight) {
super(context);
this.context = context;
this.screenWidth = screenWidth;
this.screenHeight = screenHeight;
this.message = "黑棋先行";
row = (screenHeight-50)/stepLength+1;
col = (screenWidth-10)/stepLength+1;
chess = new int[row][col];

}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
canvas.drawRect(0, 0, screenWidth, screenHeight, paint);//畫背景
paint.setColor(Color.BLUE);
paint.setTextSize(25);
canvas.drawText(message, (screenWidth-100)/2, 30, paint);//畫最頂層的字
paint.setColor(Color.BLACK);
//畫棋盤
for(int i=0;i<row;i++){
canvas.drawLine(10, 50+i*stepLength, 10+(col-1)*stepLength, 50+i*stepLength, paint);
}
for(int i=0;i<col;i++){
canvas.drawLine(10+i*stepLength,50,10+i*stepLength,50+(row-1)*stepLength, paint);
}

for(int r=0;r<row;r++){
for(int c=0;c<col;c++){
if(chess[r][c] == 1){
paint.setColor(Color.BLACK);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}else if(chess[r][c] == 2){
//畫白棋
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);

paint.setColor(Color.BLACK);
paint.setStyle(Style.STROKE);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}
}
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(!canPlay){return false;}
float x = event.getX();
float y = event.getY();
int r = Math.round((y-50)/stepLength);
int c = Math.round((x-10)/stepLength);
if(r<0 || r>row-1 || c<0 || c>col-1){return false;}
if(chess[r][c]!=0){return false;}//若有棋子則不再畫棋子了
if(isBlack){
chess[r][c] = 1;
isBlack = false;
message = "輪到白棋";
}else{
chess[r][c] = 2;
isBlack = true;
message = "輪到黑棋";
}
invalidate();
if(judge(r, c,0,1)) return false;
if(judge(r, c,1,0)) return false ;
if(judge(r, c,1,1)) return false;
if(judge(r, c,1,-1)) return false;

return super.onTouchEvent(event);
}
private boolean judge(int r, int c,int x,int y) {//r,c表示行和列,x表示在y方向上的偏移,y表示在x方向上的偏移
int count = 1;
int a = r;
int b = c;
while(r>=0 && r<row && c>=0 && c<col && r+x>=0 && r+x<row && c+y>=0 && c+y<col && chess[r][c] == chess[r+x][c+y]){
count++;
if(y>0){
c++;
}else if(y<0){
c--;
}
if(x>0){
r++;
}else if(x<0){
r--;
}
}
while(a>=0 && a<row && b>=0 && b<col && a-x>=0 && a-x<row && b-y>=0 && b-y<col && chess[a][b] == chess[a-x][b-y]){
count++;
if(y>0){
b--;
}else if(y<0){
b++;
}
if(x>0){
a--;
}else if(x<0){
a++;
}
}
if(count>=5){
String str = "";
if(isBlack){
str = "白棋勝利";
}else{
str = "黑棋勝利";
}
new AlertDialog.Builder(context).setTitle("游戲結束").setMessage(str).setPositiveButton("重新開始", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
chess = new int[row][col];
invalidate();

}
}).setNegativeButton("觀看棋局", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
canPlay = false;

}
}).show();
return true;
}

return false;
}
}
PS:五子棋,無需圖片,直接在程序里畫出來的。注意我發的是兩個文件,一個activity,一個類文件,別把它當成一個文件了

7、求don'tjudgechallenge ,別以貌取人。游戲的全部背景音樂

worth it, the hills, cheerleader
還有兩首 New Thang, Chains

8、求C++小游戲源代碼啊~

非專業就不以代碼做答了,有需要可以去愛給網之類的網站上去看看,小游戲代碼還比較全的

9、用C++編寫的小游戲源代碼

五子棋的代碼:

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

#include <time.h>

using namespace std;

const int N=15; //15*15的棋盤

const char ChessBoardflag = ' ';//棋盤標志

const char flag1='o';//玩家1或電腦的棋子標志

const char flag2='X';//玩家2的棋子標志

typedef struct Coordinate//坐標類

int x; //代錶行

int y; //代表列

}Coordinate;

class GoBang//五子棋類

public:

GoBang()//初始化

{

InitChessBoard();

}

void Play() //下棋

{

Coordinate Pos1;// 玩家1或電腦

Coordinate Pos2;//玩家2

int n = 0;

while (1)

{

int mode = ChoiceMode();

while (1)

{

if (mode == 1) //電腦vs玩家

{

ComputerChess(Pos1,flag1); // 電腦下棋

if (GetVictory(Pos1, 0, flag1) == 1) //0表示電腦,真表示獲勝

break;

PlayChess(Pos2, 2, flag2); //玩家2下棋

if (GetVictory(Pos2, 2, flag2)) //2表示玩家2

break;

}

else//玩家1vs玩家2

{

PlayChess(Pos1, 1, flag1); // 玩家1下棋

if (GetVictory(Pos1, 1, flag1))//1表示玩家1

break;

PlayChess(Pos2, 2, flag2); //玩家2下棋

if (GetVictory(Pos2, 2, flag2))//2表示玩家2

break;

}

}

cout << "***再來一局***" << endl;

cout << "y or n :";

char c = 'y';

cin >> c;

if (c == 'n')

break;

}

protected:

int ChoiceMode() //選擇模式

{

int i = 0;

system("cls");//系統調用,清屏

InitChessBoard(); //重新初始化棋盤

cout << "***0、退出1、電腦vs玩家2、玩家vs玩家***" << endl;

while (1)

{

cout << "請選擇:";

cin >> i;

if (i == 0) //選擇0退出

exit(1);

if (i == 1 || i == 2)

return i;

cout << "輸入不合法" << endl;

}

}

void InitChessBoard()//初始化棋盤

{

for (int i = 0; i < N + 1; ++i)  

{

for (int j = 0; j < N + 1; ++j)

{

_ChessBoard[i][j] = ChessBoardflag;

}

}

}

void PrintChessBoard()//列印棋盤,這個函數可以自己調整

{

system("cls");//系統調用,清空屏幕

for (int i = 0; i < N+1; ++i)

{

for (int j = 0; j < N+1; ++j)

{

if (i == 0) //列印列數字

{

if (j!=0)

printf("%d", j);

else

printf(" ");

}

else if (j == 0)//列印行數字

printf("%2d ", i);

else

{

if (i < N+1)

{

printf("%c |",_ChessBoard[i][j]);

}

}

}

cout << endl;

cout << " ";

for (int m = 0; m < N; m++)

{

printf("--|");

}

cout << endl;

}

}

void PlayChess(Coordinate& pos, int player, int flag) //玩家下棋

{

PrintChessBoard(); //列印棋盤

while (1)

{

printf("玩家%d輸入坐標:", player);

cin >> pos.x >> pos.y;

if (JudgeValue(pos) == 1)//坐標合法

break;

cout << "坐標不合法,重新輸入" << endl;

}

_ChessBoard[pos.x][pos.y] = flag;

}

void ComputerChess(Coordinate& pos, char flag) //電腦下棋

{

PrintChessBoard(); //列印棋盤

int x = 0;

int y = 0;

while (1)

{

x = (rand() % N) + 1;//產生1~N的隨機數

srand((unsigned int) time(NULL));

y = (rand() % N) + 1; //產生1~N的隨機數

srand((unsigned int) time(NULL));

if (_ChessBoard[x][y] == ChessBoardflag)//如果這個位置是空的,也就是沒有棋子

break;

}

pos.x = x;

pos.y = y;

_ChessBoard[pos.x][pos.y] = flag;

}

int JudgeValue(const Coordinate& pos) //判斷輸入坐標是不是合法

{

if (pos.x > 0 && pos.x <= N&&pos.y > 0 && pos.y <= N)

{

if (_ChessBoard[pos.x][pos.y] == ChessBoardflag)

{

return 1;//合法

}

}

return 0;//非法

}

int JudgeVictory(Coordinate pos, char flag) //判斷有沒有人勝負(底層判斷)

{

int begin = 0;

int end = 0;

int begin1 = 0;

int end1 = 0;

//判斷行是否滿足條件

(pos.y - 4) > 0 ? begin = (pos.y - 4) : begin = 1;

(pos.y + 4) >N ? end = N : end = (pos.y + 4);

for (int i = pos.x, j = begin; j + 4 <= end; j++)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i][j + 1] == flag&&

_ChessBoard[i][j + 2] == flag&&_ChessBoard[i][j + 3] == flag&&

_ChessBoard[i][j + 4] == flag)

return 1;

}

//判斷列是否滿足條件

(pos.x - 4) > 0 ? begin = (pos.x - 4) : begin = 1;

(pos.x + 4) > N ? end = N : end = (pos.x + 4);

for (int j = pos.y, i = begin; i + 4 <= end; i++)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j] == flag&&

_ChessBoard[i + 2][j] == flag&&_ChessBoard[i + 3][j] == flag&&

_ChessBoard[i + 4][j] == flag)

return 1;

}

int len = 0;

//判斷主對角線是否滿足條件

pos.x > pos.y ? len = pos.y - 1 : len = pos.x - 1;

if (len > 4)

len = 4;

begin = pos.x - len; //橫坐標的起始位置

begin1 = pos.y - len;//縱坐標的起始位置

pos.x > pos.y ? len = (N - pos.x) : len = (N - pos.y);

if (len>4)

len = 4;

end = pos.x + len; //橫坐標的結束位置

end1 = pos.y + len;//縱坐標的結束位置

for (int i = begin, j = begin1; (i + 4 <= end) && (j + 4 <= end1); ++i, ++j)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j + 1] == flag&&

_ChessBoard[i + 2][j + 2] == flag&&_ChessBoard[i + 3][j + 3] == flag&&

_ChessBoard[i + 4][j + 4] == flag)

return 1;

}

//判斷副對角線是否滿足條件

(pos.x - 1) >(N - pos.y) ? len = (N - pos.y) : len = pos.x - 1;

if (len > 4)

len = 4;

begin = pos.x - len; //橫坐標的起始位置

begin1 = pos.y + len;//縱坐標的起始位置

(N - pos.x) > (pos.y - 1) ? len = (pos.y - 1) : len = (N - pos.x);

if (len>4)

len = 4;

end = pos.x + len; //橫坐標的結束位置

end1 = pos.y - len;//縱坐標的結束位置

for (int i = begin, j = begin1; (i + 4 <= end) && (j - 4 >= end1); ++i, --j)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j - 1] == flag&&

_ChessBoard[i + 2][j - 2] == flag&&_ChessBoard[i + 3][j - 3] == flag&&

_ChessBoard[i + 4][j - 4] == flag)

return 1;

}

for (int i = 1; i < N + 1; ++i) //棋盤有沒有下滿

{

for (int j =1; j < N + 1; ++j)

{

if (_ChessBoard[i][j] == ChessBoardflag)

return 0;//0表示棋盤沒滿

}

return -1;//和棋

}

bool GetVictory(Coordinate& pos, int player, int flag) //對JudgeVictory的一層封裝,得到具體那個玩家獲勝

{

int n = JudgeVictory(pos, flag); //判斷有沒有人獲勝

if (n != 0)//有人獲勝,0表示沒有人獲勝

{

PrintChessBoard();

if (n == 1)//有玩家贏棋

{

if (player == 0) //0表示電腦獲勝,1表示玩家1,2表示玩家2

printf("***電腦獲勝*** ");

else

printf("***恭喜玩家%d獲勝*** ", player);

}

else

printf("***雙方和棋*** ");

return true;//已經有人獲勝

}

return false; //沒有人獲勝

}

private:

char _ChessBoard[N+1][N+1];  

};

(9)游戲judge攻略擴展資料:

設計思路

1、進行問題分析與設計,計劃實現的功能為,開局選擇人機或雙人對戰,確定之後比賽開始。

2、比賽結束後初始化棋盤,詢問是否繼續比賽或退出,後續可加入復盤、悔棋等功能。

3、整個過程中,涉及到了棋子和棋盤兩種對象,同時要加上人機對弈時的AI對象,即涉及到三個對象。

與游戲judge攻略相關的攻略