亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.cpp

?? This code supplements the tutorial in Finite State Machines
?? CPP
字號:
/****************************************
*	Author:		Nathaniel Meyer			*
*	E-Mail:		nath_meyer@hotmail.com	*
*	Website:	http://www.nutty.ca		*
*										*
*   You are free to use, redistribute,  *
*   and alter this file in anyway, so   *
*   long as credit is given where due.	*
****************************************/


#include "Main.h"
#include "resource.h"


// Global Variables
HWND gHWnd;

char selEvent[50],
	 lastState[50];
unsigned int eventID;


/******************
	STATE ACTIONS
******************/
// State: TurnedOn: On Entry
void sIdle_OnExit (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Powering up...");
	Sleep(1000);	// Give some time for the user to read the response
}

void sIdle_TurnOff (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Bender has shut down");
}

// State: TurnedOn: On Entry
void sTurnedOn_OnEntry (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Bender is now online");
}

// State: Activity: On Event: Walk
void sActivity_Walk (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Activity: Walking");
}

// State: Activity: On Event: Run
void sActivity_Run (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Activity: Running");
}

// State: Activity: On Event: Talk
void sActivity_Talk (char *args)
{
	SetDlgItemText(gHWnd, IDC_RESPONSE, "Activity: Talking");
}



void init ()
{
	// Idle state
	cState[0].setName("Idle");
	cState[0].addAction(2, 0, "Action: TurnOn", sIdle_OnExit);
	cState[0].addAction(3, 0, "Action: TurnOff", "TurnOff", sIdle_TurnOff);
	cState[0].addTransition("TurnOn", &cState[1]);

	// TurnedOn state
	cState[1].setName("TurnedOn");
	cState[1].addAction(0, 0, "Action: TurnOn", sTurnedOn_OnEntry);
	cState[1].addTransition("TurnOff", &cState[0]);
	cState[1].addTransition("GoToActivity", &cState[2]);

	// Activity state
	cState[2].setName("Activity");
	cState[2].addAction(3, 0, "Action: Walk", "Walk", sActivity_Walk);
	cState[2].addAction(3, 0, "Action: Run", "Run", sActivity_Run);
	cState[2].addAction(3, 0, "Action: Talk", "Talk", sActivity_Talk);
	cState[2].addTransition("RequestTurnOff", &cState[1]);
	cState[2].addTransition("Walk", &cState[2]);
	cState[2].addTransition("Run", &cState[2]);
	cState[2].addTransition("Talk", &cState[2]);

	// Add the states to the FSM controller
	cFSM.addStates(cState);
}

/* CarFSM Dialog Box */
BOOL CALLBACK MainDlgProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
	switch(Message)
	{
		case WM_INITDIALOG:
			gHWnd = hWnd;

			// Initialize states and FSM
			init();

			strcpy(selEvent, "");

			// Set combo box events
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"TurnOn");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"TurnOff");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"GoToActivity");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"Walk");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"Run");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"Talk");
			SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)"RequestTurnOff");

			// Set default titles
			SetDlgItemText(hWnd, IDC_LASTSTATE, "none");
			SetDlgItemText(hWnd, IDC_CURRENTSTATE, "Idle");
			SetDlgItemText(hWnd, IDC_STATUS, "Ready");
			SetDlgItemText(hWnd, IDC_RESPONSE, "none");
		break;
		
		case WM_CLOSE:
			EndDialog(hWnd, 0);
			return 0;
		break;
		
		case WM_DESTROY:
			EndDialog(hWnd, 0);
			return 0;
		break;

		case WM_COMMAND:
			switch(LOWORD(wParam))
			{
				case IDC_EVENTLIST:
					switch(HIWORD(wParam))
					{
						case CBN_SELCHANGE:
							// Get the selected event
							eventID = SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_GETCURSEL, 0, 0);
							SendDlgItemMessage(hWnd, IDC_EVENTLIST, CB_GETLBTEXT, eventID, (LPARAM)(LPCTSTR)selEvent);
						break;
					}
				break;

				case IDC_SENDEVENT:
					/*
						Validate the event
						If it exists then process it, otherwise report an unknown event
					*/
					if ( strcmp(selEvent, "") != 0 )
					{
						// args is left blank, optionally you can add whatever you like
						if ( cFSM.outEvent(selEvent, "") )
						{
							GetDlgItemText(hWnd, IDC_CURRENTSTATE, lastState, 50);
							SetDlgItemText(hWnd, IDC_LASTSTATE, lastState);
							SetDlgItemText(hWnd, IDC_CURRENTSTATE, cFSM.getCurrentStateName());
							SetDlgItemText(hWnd, IDC_STATUS, selEvent);
						}
						else
						{
							SetDlgItemText(hWnd, IDC_STATUS, "Unknown Event");
						}
					}
				break;
			}
		break;
	}
	return FALSE;
}

int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	// Display the dialog box
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, MainDlgProc);

	return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久久久久久久久久| 国产精品一区二区视频| 国产精品美女一区二区三区| 欧美成人一区二区| 国产精品女人毛片| 久久毛片高清国产| 国产夜色精品一区二区av| 国产欧美一区二区精品忘忧草| 欧美成人精品1314www| 26uuu国产日韩综合| 国产三级精品视频| 有坂深雪av一区二区精品| 一区二区三区在线视频观看58| 亚洲一区二区在线观看视频| 午夜影视日本亚洲欧洲精品| 久久精品久久综合| 国产精品77777| 91麻豆精品秘密| 91麻豆精品国产无毒不卡在线观看| 欧美一卡在线观看| 精品少妇一区二区三区在线播放| 久久精品一区二区三区av| 国产精品成人午夜| 午夜精品久久久久久久久久久| 麻豆精品新av中文字幕| 成人动漫一区二区三区| 欧美三电影在线| 久久人人爽爽爽人久久久| 亚洲美女偷拍久久| 蜜臀av一区二区在线免费观看| 成人综合婷婷国产精品久久蜜臀 | 亚洲国产精品久久不卡毛片| 青青草一区二区三区| 福利视频网站一区二区三区| 欧美视频中文字幕| 久久久午夜精品| 午夜精品福利一区二区蜜股av| 国产精品1区2区3区| 欧美精品v国产精品v日韩精品| 久久亚洲综合色一区二区三区 | 91蜜桃视频在线| 日韩免费高清视频| 亚洲精品国产a| 国产福利一区在线观看| 欧美巨大另类极品videosbest| 国产色产综合产在线视频| 日韩精品乱码免费| 91美女片黄在线观看| 精品国产伦一区二区三区观看体验 | 精品国产乱码久久久久久久 | 一区二区三区不卡视频 | 久久久久99精品国产片| 亚洲一区二区三区四区五区黄| 国产一区二区三区在线观看精品 | 麻豆国产精品官网| 欧美男女性生活在线直播观看| 国产精品青草综合久久久久99| 七七婷婷婷婷精品国产| 欧美中文字幕一区二区三区| 国产精品美女久久久久aⅴ| 国内外成人在线视频| 91精品国产麻豆国产自产在线| 亚洲精品免费电影| 99国产一区二区三精品乱码| 欧美成人video| 日本视频在线一区| 91麻豆精品国产自产在线| 亚洲午夜电影网| 欧美午夜精品一区二区三区| 亚洲色图色小说| av在线不卡免费看| 中文字幕在线不卡视频| 成人一区二区视频| 国产精品久久久久永久免费观看 | 欧美午夜精品久久久久久超碰 | 国内精品伊人久久久久av一坑| 在线电影一区二区三区| 五月天激情小说综合| 欧美色国产精品| 午夜电影网一区| 欧美一区日本一区韩国一区| 婷婷综合五月天| 欧美一区二区黄色| 精品一区二区免费| 久久久精品2019中文字幕之3| 国产乱码精品1区2区3区| 国产亚洲精品中文字幕| 成人免费高清在线| 亚洲欧美经典视频| 欧美精品在线视频| 久草精品在线观看| 国产蜜臀97一区二区三区| 成人亚洲精品久久久久软件| 日韩伦理免费电影| 精品视频1区2区| 经典三级在线一区| 国产精品乱子久久久久| 欧美性受xxxx| 麻豆国产精品视频| 亚洲色图.com| 欧美一区二区三区性视频| 国产精品99久| 一区二区三区在线观看欧美| 91麻豆精品国产91久久久久久 | 欧美国产日本视频| 欧洲中文字幕精品| 国产伦精一区二区三区| 亚洲美女电影在线| 日韩精品综合一本久道在线视频| 韩国女主播一区二区三区| 亚洲欧洲综合另类在线| 欧美一级高清大全免费观看| 成人高清视频在线| 视频一区二区国产| 亚洲婷婷国产精品电影人久久| 欧美精品一二三四| 91免费观看视频| 男女激情视频一区| 亚洲永久精品大片| 国产精品国产三级国产普通话99| 欧美一区二区三区精品| 99在线视频精品| 国产综合色精品一区二区三区| 一区二区三区四区蜜桃| 国产拍揄自揄精品视频麻豆| 精品污污网站免费看| 99re这里只有精品视频首页| 韩日精品视频一区| 日韩av一二三| 亚洲综合区在线| 中文字幕一区不卡| 国产亚洲精品免费| 26uuu欧美日本| 91精品中文字幕一区二区三区| 91网页版在线| 成人app软件下载大全免费| 九九视频精品免费| 麻豆精品新av中文字幕| 视频一区中文字幕国产| 亚洲精品v日韩精品| 亚洲欧洲三级电影| 国产婷婷精品av在线| 精品国产污污免费网站入口| 91精品国产色综合久久久蜜香臀| 欧美综合一区二区| 欧美亚洲综合色| 色综合久久久久综合体| 一本色道久久综合精品竹菊| 成人av网址在线| 成a人片亚洲日本久久| 成人动漫一区二区| 91蜜桃网址入口| 在线看国产日韩| 欧美吞精做爰啪啪高潮| 精品视频一区三区九区| 欧美在线你懂的| 欧美色综合久久| 51精品视频一区二区三区| 欧美高清视频在线高清观看mv色露露十八| 91色porny蝌蚪| 欧美午夜一区二区| 欧美精品粉嫩高潮一区二区| 欧美乱熟臀69xxxxxx| 日韩一区二区免费高清| 欧美大片拔萝卜| 久久综合成人精品亚洲另类欧美 | 日韩一区欧美一区| 一区二区三区中文免费| 樱桃视频在线观看一区| 亚洲va韩国va欧美va精品| 麻豆专区一区二区三区四区五区| 麻豆freexxxx性91精品| 粉嫩在线一区二区三区视频| 99精品在线观看视频| 欧美日韩精品一区二区三区四区| 日韩一级在线观看| 久久综合色之久久综合| 国产精品夫妻自拍| 午夜精品爽啪视频| 国产一区二区伦理| 色哟哟精品一区| 欧美zozo另类异族| 亚洲色图视频网| 蜜桃视频一区二区三区在线观看| 国产成人在线网站| 欧美日韩电影在线播放| 精品国产99国产精品| 亚洲特黄一级片| 蜜桃视频第一区免费观看| 成人aa视频在线观看| 欧美日本免费一区二区三区| 国产亚洲人成网站| 午夜欧美在线一二页| 丁香天五香天堂综合| 欧美三级日韩三级国产三级| 久久久一区二区| 丝袜a∨在线一区二区三区不卡| 国产成人精品免费在线| 欧美日韩一卡二卡三卡| 国产精品人成在线观看免费|