作者AGanPTT (阿干)
看板C_and_CPP
標題[問題] switch 的case 一定要常數??
時間Sat May 23 01:42:34 2009
如題
我寫了一個小遊戲
我本來都用
#define Up 'H'
switch( Input )
case Up:
dosomething();
break;
...................
我想寫出能讓玩家自己選擇要哪些鍵當作上下左右等等...
我試過int Up = 'H';
但switch的case compile都不會過
只有const int Up = 'H';才會過
要如何才能寫出更改按鍵
用if...else???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.104.117
1F:推 varg:char 05/23 02:09
2F:→ weiyucsie:自己做hash? 05/23 02:39
3F:推 cplusplus:如果比較很少 if else就夠啦 不然用陣列作mapping也行 05/23 03:14
4F:→ MOONRAKER:array of function pointer 05/23 06:01
5F:→ AGanPTT:樓上那個是什麼意思 不太懂?? 05/23 08:15
6F:→ weiyucsie:就只是用陣列做功能的對應而已 05/23 12:33
7F:→ AGanPTT:不好意思 可以提供大概的寫法或舉個例嗎 還是不太懂ˊˋ 05/23 14:16
8F:→ AGanPTT:是指還是用switch?? 05/23 14:41
9F:推 zlw:你可以用if吧。比如定義int custU;決定上要用哪個鍵,然後 05/23 14:46
10F:→ zlw:if(input==custU) input = 'U'; switch(input) case 'U' 05/23 14:47
11F:→ AGanPTT:這樣用if..else不就好了??? 05/23 14:54
12F:推 zlw:只是考量你如果懶得刪掉原本的swich可以這樣 05/23 14:54
13F:→ AGanPTT:喔喔 我懂你的意思 但因為有十個以上的按鍵 05/23 14:58
14F:→ AGanPTT:用if..else 我怕程式會變慢 05/23 14:58
16F:→ AGanPTT:感謝樓上的資料 但我看不懂英文= = SORRY... 05/23 16:41
17F:推 chrisdar:map<key,value> 05/23 16:44
18F:→ AGanPTT:這個要怎麼弄???第一次見到map 05/23 16:57
20F:→ akasan:每個函數都有一些簡單的範例 05/23 17:02
21F:→ james732:我也會想要用 function pointer array 來做 XD 05/23 17:35
22F:→ AGanPTT:什麼是funtion pointer array 05/23 18:13
23F:→ MOONRAKER:就是function pointer的陣列 05/23 18:18
24F:→ AGanPTT:我查到function pointer array 可是看不出來 05/23 18:46
25F:→ AGanPTT:該怎麼用在我的要求上= = 05/23 18:46
26F:→ AGanPTT:目前有個想法了 先來試試看 05/23 19:41