作者libra1005 (符號人)
看板C_and_CPP
標題[問題] 改變@可以移動的範圍...確沒有效果
時間Thu Mar 17 11:36:23 2016
各位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
→ Caesar08: 你是不是改X_MAX,卻用a與d在測試? 03/17 12:11
推 stupid0319: 用Dev C++無痛學習= =,換本書好嗎 03/17 12:46
→ libra1005: Ca大大,抱歉,文章沒有說明完整,我都有更改x和y方向 03/17 13:06
→ libra1005: 的移動範圍後並作各方向的測試。 03/17 13:09
→ Caesar08: 真是奇怪了,code看起來沒問題,我執行起來也沒這問題 03/17 13:15
→ Caesar08: 不如你換visual studio用吧 03/17 13:15
→ Caesar08: 還有,如果你的code是從這本書上抄來的 03/17 13:16
→ Caesar08: 那你最好把這本書拿去丟了 03/17 13:16
→ flydragon198: 改完有重新編譯嗎? 03/17 13:33
推 stupid0319: 丟了也不好,別人撿到會害到別人,最好燒了 03/17 13:38
→ ronin728: 樓上讓我想到民俗中被詛咒的物品都要拿去大廟金爐火化XD 03/17 15:17
→ libra1005: 忘記編譯......sorry......腦殘了...... 03/17 15:29
→ libra1005: 改完,儲存,直接按執行= = 03/17 15:29
推 ronin728: XDD 忘記編譯還真是第一次聽過,推一個 03/17 15:53
推 Schottky: 有笑有推 03/17 19:24
推 kwpn: 燒了會被祖先撿走 03/18 01:53
推 saxontai: 新手有犯錯的權利 03/18 10:36
推 leoloveivy: XD 這篇留著 03/22 00:25
→ RishYang: 忘記編譯,是不是該加入戒律裡啊 04/08 16:05