我正在尝试制作“Lights out”c++ 控制台游戏,但我遇到了问题:我使用数字占卜来判断它是开灯还是关灯,例如:
if(a1/2){a1s="*";}else{a1s="o";};
,但是,此语句在使用一次后失败:如果您从车外开始,它仍然有效。有没有办法“刷新” if 语句再次起作用。谢谢。:) 顺便提一句。这是代码:
#include <iostream>
using namespace std;
int main()
{
string zaidimas,l,a1s,b1s,c1s,d1s,e1s,a2s,b2s,c2s,d2s,e2s,a3s,b3s,c3s,d3s,e3s,a4s,b4s,c4s,d4s,e4s,a5s,b5s,c5s,d5s,e5s;
zaidimas = "veikia";
int a1,b1,c1,d1,e1,a2,b2,c2,d2,e2,a3,b3,c3,d3,e3,a4,b4,c4,d4,e4,a5,b5,c5,d5,e5;
a1=b1=c1=d1=e1=a2=b2=c2=d2=e2=a3=b3=c3=d3=e3=a4=b4=c4=d4=e4=a5=b5=c5=d5=e5=1;
cout<<string( 100, '\n' );
while(zaidimas=="veikia")
{
{
if(a1/2){a1s="*";}else{a1s="o";};
if(a2/2){a2s="*";}else{a2s="o";};
if(a3/2){a3s="*";}else{a3s="o";};
if(a4/2){a4s="*";}else{a4s="o";};
if(a5/2){a5s="*";}else{a5s="o";};
if(b1/2){b1s="*";}else{b1s="o";};
if(b2/2){b2s="*";}else{b2s="o";};
if(b3/2){b3s="*";}else{b3s="o";};
if(b4/2){b4s="*";}else{b4s="o";};
if(b5/2){b5s="*";}else{b5s="o";};
if(c1/2){c1s="*";}else{c1s="o";};
if(c2/2){c2s="*";}else{c2s="o";};
if(c3/2){c3s="*";}else{c3s="o";};
if(c4/2){c4s="*";}else{c4s="o";};
if(c5/2){c5s="*";}else{c5s="o";};
if(d1/2){d1s="*";}else{d1s="o";};
if(d2/2){d2s="*";}else{d2s="o";};
if(d3/2){d3s="*";}else{d3s="o";};
if(d4/2){d4s="*";}else{d4s="o";};
if(d5/2){d5s="*";}else{d5s="o";};
if(e1/2){e1s="*";}else{e1s="o";};
if(e2/2){e2s="*";}else{e2s="o";};
if(e3/2){e3s="*";}else{e3s="o";};
if(e4/2){e4s="*";}else{e4s="o";};
if(e5/2){e5s="*";}else{e5s="o";};
}
cout<<" ABCDE"<<endl;
cout<<"1 "<<a1<<b1s<<c1s<<d1s<<e1s<<endl;
cout<<"2 "<<a2s<<b2s<<c2s<<d2s<<e2s<<endl;
cout<<"3 "<<a3s<<b3s<<c3s<<d3s<<e3s<<endl;
cout<<"4 "<<a4s<<b4s<<c4s<<d4s<<e4s<<endl;
cout<<"5 "<<a5s<<b5s<<c5s<<d5s<<e5s<<endl;
cin>>l;
{
if(l=="a1"){a1++;b1++;a2++;}
else if(l=="a2"){a2++;b2++;a1++;a3++;}
else if(l=="a3"){a3++;b3++;a4++;a2++;}
else if(l=="a4"){a4++;b4++;a3++;a5++;}
else if(l=="a5"){a5++;b5++;a4++;}
else if(l=="b1"){b1++;a1++;c1++;b2++;}
else if(l=="b2"){b2++;a2++;c2++;b3++;b1++;}
else if(l=="b3"){b3++;a3++;c3++;b4++;b2++;}
else if(l=="b4"){b4++;a4++;c4++;b3++;b5++;}
else if(l=="b5"){b5++;a5++;c5++;b4++;}
else if(l=="c1"){c1++;b1++;d1++;c2++;}
else if(l=="c2"){c2++;b2++;d2++;c3++;c1++;}
else if(l=="c3"){c3++;b3++;d3++;c4++;c2++;}
else if(l=="c4"){c4++;b4++;d4++;c5++;c3++;}
else if(l=="c5"){c5++;b5++;d5++;c4++;}
else if(l=="d1"){c1++;e1++;d2++;d1++;}
else if(l=="d2"){c2++;d2++;e2++;d3++;d1++;}
else if(l=="d3"){c3++;d3++;e3++;d4++;d2++;}
else if(l=="d4"){c4++;d4++;e4++;d3++;d5++;}
else if(l=="d5"){c5++;d5++;e5++;d4++;}
else if(l=="e1"){d1++;e1++;e2++;}
else if(l=="e2"){d2++;e2++;e1++;e3++;}
else if(l=="e3"){d3++;e3++;e2++;e4++;}
else if(l=="e4"){d4++;e4++;e3++;e5++;}
else if(l=="e5"){d5++;e5++;e4++;}
}
cout<<string( 100, '\n' );
}
return 0;
}
(Zaidimas 代表 Game,l 代表 Square,a1s a2s 等代表 A 行第 1 行符号(* 或 o),veikia 代表 Running)