111 狀態機刪除注釋

2022-03-13 02:41:13 字數 1807 閱讀 4989

狀態模式:

完整**

1

#define _crt_secure_no_warnings

2 #include 3 #include 4

5char *path = "

hello.c";

6char *pathnew = "

hellonew.c";

7//狀態模式:狀態模式允許乙個物件在其內部狀態改變的時候改變行為。8//

這個物件看上去象是改變了它的類一樣。狀態模式把所研究的物件的行為包裝在不同的狀態物件裡,9//

每乙個狀態物件都屬於乙個抽象狀態類的乙個子類。狀態模式的意圖是讓乙個物件在

10//

其內部狀態改變的時候,其行為也隨之改變。狀態模式需要對每乙個系統可能取得

11//

的狀態創立乙個狀態類的子類。當系統的狀態變化時,系統便改變所選的子類。

12//

例如13

//跟mm交往時,一定要注意她的狀態哦,在不同的狀態時她的行為會有不同,

14//

比如你約她今天晚上去看電影,對你沒興趣的mm就會說「有事情啦」,

15//

16//

已經喜歡上你的mm就會說「幾點鐘?看完電影再去泡吧怎麼樣?」,

17//

當然你看電影過程中表現良好的話,也可以把mm的狀態從不討厭不喜歡變成喜歡哦。

1819

2021

//標識狀態

22int state = 0;23

//備份前乙個讀取的

24char ch1 = 0;25

//當前讀取的

26char ch2 = 0;27

28//

狀態機29

void

changestate(ch)

3042

return;43

}44//如果遇到 *

45else

if (ch == '*'

)4652return;53

}54//遇到 " 進入狀態3 使 "" 中的資料輸出

55if (ch=='"'

)5659//

遇到 ' 進入狀態4

60if (ch == '\''

)6165//

如果是初始狀態,則輸出資料

66putchar(ch);

67}

68//

如果是狀態1,遇到"\n" 進入初始狀態

69else

if (state==1)70

7576}77

//如果是狀態2

78else

if (state == 2)79

88}89}

90//

如果是狀態3 遇到 " 結束狀態 進入最初狀態

91else

if (state == 3)92

97putchar(ch);98}

99//

如果是狀態4 遇到 ' 結束狀態,進入最初狀態

100else

if(state==4

)101

106putchar(ch);

107}

108}

109110

//主函式

111void

main()

112120

else

121131

}132

133fclose(pfr);

134fclose(pfw);

135 system("

pause");

136 }

狀態機 狀態機0

近半年都忙於做專案,沒有太多的時間去整理和總結在專案中用過的技術 個人還是覺得技術需要總結提煉和沉澱的,忙到沒時間去總結提公升其實不 是什麼好事,這次講下狀態機,在戰鬥型別的遊戲中角色有多種不同的狀態,而狀態的切換錯綜複雜,23種設計模式中有一種模式叫做狀態模式,不過 這種模式是把狀態切換條件放到各...

python 狀態機 Python 狀態機

class statemachine def init self self.handlers 狀態轉移函式字典 self.startstate none 初始狀態 self.endstate 最終狀態集合 引數name為狀態名,handler為狀態轉移函式,end state表明是否為最終狀態 de...

踱步狼注釋移除狀態機演算法2019 10

踱步狼注釋移除,狀態機演算法 入口條件 只要當前字元是,即必須進來處理。緊跟在轉義字元後面的char,一般我們是無條件寫回客戶端的,但如果此時是在處理,諸如塊注釋,單行注釋,多行注釋時,我們不寫。這邊為了後面處理回車換行方便,對於 後面如果是xd和xa,我們也順便處理,即寫回xd,xa到客戶端,只要...