C/C++箱押しの作成
本論文の例では、C/C++の箱押しゲームの具体的なコードを共有します。参考にしてください。具体的な内容は以下の通りです。
私たちは壁を「萼」で表しています。「O」は箱を代表して、「*」は終点を表しています。「@」は箱が終点に到達したことを表しています。「Sは人を表しています」。
注意:W、A、S、Dは矢印キーで、しかも英語で書きます。
実行例:
以下は完全コードです。
私たちは壁を「萼」で表しています。「O」は箱を代表して、「*」は終点を表しています。「@」は箱が終点に到達したことを表しています。「Sは人を表しています」。
注意:W、A、S、Dは矢印キーで、しかも英語で書きます。
実行例:
以下は完全コードです。
/*
( )
*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
int main()
{
char a[12][12]={"##########",
"## ###",
"##O### #",
"# S O O #",
"# **# O ##",
"##**# ##",
"##########",
};
int x=3,y=2;
int i;
char ch;
for(i=0;i<7;i++)
puts(a[i]);
while(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@')
{
ch=getch();
if(ch=='s')
{
if(a[x+1][y]!='#'&&a[x+1][y]!='O'&&a[x+1][y]!='@') // ,
{
a[x][y]=' ';
x++;
a[x][y]='S';
}
else if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='*') //
{
a[x][y]=' ';
x++;
a[x][y]='S';
a[x+1][y]='O';
}
else if(a[x+2][y]!='#'&&(a[x+1][y]=='O'||a[x+1][y]=='@')&&a[x+2][y]=='*') // ,
{
a[x][y]=' ';
x++;
a[x][y]='S';
a[x+1][y]='@';
}
}
if(ch=='w')
{
if(a[x-1][y]!='#'&&a[x-1][y]!='O'&&a[x-1][y]!='@') // ,
{
a[x][y]=' ';
x--;
a[x][y]='S';
}
else if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O') //
{
a[x][y]=' ';
x--;
a[x][y]='S';
a[x-1][y]='O';
}
else if(a[x-2][y]!='#'&&(a[x-1][y]=='O'||a[x-1][y]=='@')&&a[x-2][y]=='*') // ,
{
a[x][y]=' ';
x--;
a[x][y]='S';
a[x-1][y]='@';
}
}
if(ch=='a')
{
if(a[x][y-1]!='#'&&a[x][y-1]!='O'&&a[x][y-1]!='@') // ,
{
a[x][y]=' ';
y--;
a[x][y]='S';
}
else if(a[x][y-2]!='#'&&a[x][y-1]=='O') //
{
a[x][y]=' ';
y--;
a[x][y]='S';
a[x][y-1]='O';
}
else if(a[x][y-2]!='#'&&(a[x][y-1]=='O'||a[x][y-1]=='@')&&a[x][y-2]=='*') // ,
{
a[x][y]=' ';
y--;
a[x][y]='S';
a[x][y-1]='@';
}
}
if(ch=='d')
{
if(a[x][y+1]!='#'&&a[x][y+1]!='O'&&a[x][y+1]!='@') // ,
{
a[x][y]=' ';
y++;
a[x][y]='S';
}
else if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O') //
{
a[x][y]=' ';
y++;
a[x][y]='S';
a[x][y+1]='O';
}
else if(a[x][y+2]!='#'&&(a[x][y+1]=='O'||a[x][y+1]=='@')&&a[x][y+2]=='*'&&a[x][y+2]!='O') // ,
{
a[x][y]=' ';
y++;
a[x][y]='S';
a[x][y+1]='@';
}
}
if(a[4][2]!='@'&&a[4][2]!='S'&&a[4][2]!='*')
{
a[4][2]='*';
}
if(a[4][3]!='@'&&a[4][3]!='S'&&a[4][3]!='*')
{
a[4][3]='*';
}
if(a[5][2]!='@'&&a[5][2]!='S'&&a[5][2]!='*')
{
a[5][2]='*';
}
if(a[5][3]!='@'&&a[5][3]!='S'&&a[5][3]!='*')
{
a[5][3]='*';
}
if(a[1][2]=='O'||a[1][6]=='O'||a[2][8]=='O'||a[3][8]=='O'||a[5][5]=='O'||a[5][7]=='O') //
{
break;
}
system("cls");
for(i=0;i<7;i++)
puts(a[i]);
}
system("cls");
if(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@')
printf("YOU LOSE!");
else
printf("YOU WIN!");
Sleep(3000);
return 0;
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。