[問題] 改變@可以移動的範圍...確沒有效果
各位Coding 高手大家好,小弟練習C/C++無痛學習這本書內第12章
位於12-4頁的範例,書中提到@活動範圍為(1,1)~(10,10)
小弟試著將#define X_MAX 10更改為#define X_MAX 100
希望@可以移動的範圍變大,但測試後發現活動範圍跟原本10是一樣
小弟不解,煩請板上神手解惑,小弟跪謝,感激不盡。
作業系統:Windows 7
開發工具:Dev C++ 4.9.9.2
程式碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include <iomanip>
using namespace std;
#define X_MAX 10 // 定義"@"可活動範圍
#define Y_MAX 10 // 定義"@"可活動範圍
void ShowMouse();
int ix=1;
int iy=1;
int iStatus=1;
char cIcon='@';
int main(void)
{
char cIn;
ShowMouse();
while(iStatus!=0)
{
cIn=getch();
switch(cIn)
{
case 'w':
ix--;
if(ix<0)
{
iStatus=0;
}
else if(ix==0)
{
iStatus=2;
cIcon='Q';
}
else if(iy>=1 && iy<=Y_MAX)
{
iStatus=1;
cIcon='@';
}
break;
case 's':
ix++;
if(ix>X_MAX+1)
{
iStatus=0;
}
else if(ix==X_MAX+1)
{
iStatus=2;
cIcon='Q';
}
else if(iy>=1 && iy<=Y_MAX)
{
iStatus=1;
cIcon='@';
}
break;
case 'a':
iy--;
if(iy<0)
{
iStatus=0;
}
else if(iy==0)
{
iStatus=2;
cIcon='Q';
}
else if(ix>=1 && ix<=X_MAX)
{
iStatus=1;
cIcon='@';
}
break;
case 'd':
iy++;
if(iy>Y_MAX+1)
{
iStatus=0;
}
else if(iy==Y_MAX+1)
{
iStatus=2;
cIcon='Q';
}
else if(ix>=1 && ix<=X_MAX)
{
iStatus=1;
cIcon='@';
}
break;
}
if(iStatus)
{
ShowMouse();
}
else
{
cout<<"老鼠已經死亡,遊戲結束"<<endl;
}
}
system("pause");
return(0);
}
//------------------------------------------------------------
void ShowMouse()
{
system("cls");
for(int i=1; i<=ix; i++) cout<<endl;
cout<<setw(iy+1)<<setfill(' ')<<cIcon<<endl;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.139.79.75
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458185786.A.17F.html
→
03/17 12:11, , 1F
03/17 12:11, 1F
推
03/17 12:46, , 2F
03/17 12:46, 2F
→
03/17 13:06, , 3F
03/17 13:06, 3F
→
03/17 13:09, , 4F
03/17 13:09, 4F
→
03/17 13:15, , 5F
03/17 13:15, 5F
→
03/17 13:15, , 6F
03/17 13:15, 6F
→
03/17 13:16, , 7F
03/17 13:16, 7F
→
03/17 13:16, , 8F
03/17 13:16, 8F
→
03/17 13:33, , 9F
03/17 13:33, 9F
推
03/17 13:38, , 10F
03/17 13:38, 10F
→
03/17 15:17, , 11F
03/17 15:17, 11F
→
03/17 15:29, , 12F
03/17 15:29, 12F
→
03/17 15:29, , 13F
03/17 15:29, 13F
推
03/17 15:53, , 14F
03/17 15:53, 14F
推
03/17 19:24, , 15F
03/17 19:24, 15F
推
03/18 01:53, , 16F
03/18 01:53, 16F
推
03/18 10:36, , 17F
03/18 10:36, 17F
推
03/22 00:25, , 18F
03/22 00:25, 18F
→
04/08 16:05, , 19F
04/08 16:05, 19F