本次實作的思路 就是需要列印一個迷宮通道 然后通過wasd來控制物體移動
我們通過 實作 列印 空格 進行實作將一開始的小球 消失 操作
使用函式 getch這個錄入一個字符 并且 這個錄入的字符不會進行顯示 對于我們制作游戲 十分有幫助 當進行列印的時候 我們采用了puts函式 這個函式每次列印就會自動換行
然后我們需要創建臨時變數 確定小球所在位置 以及出口的位置 便于我們進行小球的移動判斷
第二個就是 對于螢屏清屏 每次移動之后需要將螢屏消失 達到螢屏消失術 十分好操作
西面進行代碼演示
c語言
上面的這個是對 物體移動的 描述
下面進行代碼演示
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <windows.h>
#include<stdlib.h>
#include<conio.h>
void menu()
{
printf("******w a s d*******");
printf("按鍵w a s d進行移動");
}
int main()
{
int i = 0;
int x = 1;
int y = 1;
int m = 3;// m,n 代表出口的 橫縱坐標
int n = 2;
char p;
char arr[5][5] = { "####",
"#o #",
"## #",
"## #" };//這里我們必須要留出一塊空間 給\0 所以說 我們初始化的時候 需要預留出一點空間
menu();
for (i = 0; i < 5; i++)
{
puts(arr[i]);
}
while (x != m || y!= n)//|| 或者的意思是只要兩個當中有一個為真的 那么這個運算式的整體結果就是真的 那么就能繼續進行條件的判斷
{
p=_getch();
if (p == 'w'&& arr[x-1][y]!='#')//這里對棋子的走路進行分析 需要錄入 上下左右的資訊
{
arr[x][y] = ' ';//當棋子移動之后 就用空格 代替剛剛的位置
x--;
arr[x][y] = 'o';
}
else if (p == 'd' && arr[x][y + 1] != '#')//&&這個意思就是兩個條件都滿足的時候才會進行下去 其他都不可以
{
arr[x][y] = ' ';
y++;
arr[x][y] = 'o';
}
else if (p == 's' && arr[x + 1][y] != '#')
{
arr[x][y] = ' ';
x++;
arr[x][y] = 'o';
}
else if (p == 'a' && arr[x][y - 1] != '#')
{
arr[x][y] = ' ';
y--;
arr[x][y] = 'o';
}
system("cls");//對螢屏進行清屏
//進行下一次的迷宮列印 進行準備
for (i = 0; i < 5; i++)
{
puts(arr[i]);
}
}
//一旦跳出這個回圈的話 就是勝利
printf("你取得勝利");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301852.html
標籤:其他
上一篇:【Unity3D 靈巧小知識點】 ?? | UnityHub中提示 許可證過期 了怎么辦?
下一篇:torch-1.8.1 cu111-cp38-cp38-win_amd64.whl is not a supported wheel on this p
