#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <time.h> int map[25][25] = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {2,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, }; void zuobiao(int x,int y, char* pszChar) //座標 { HANDLE hStdout; CONSOLE_CURSOR_INFO cci; COORD pos; cci.bVisible = FALSE; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorInfo(hStdout,&cci); pos.X = y*2; pos.Y = x; SetConsoleCursorPosition(hStdout,pos); printf(pszChar); } void hidden() //隱藏光標 { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cii; GetConsoleCursorInfo(hOut,&cii); cii.bVisible=0; //初始化給一個值,1爲顯示,0爲隱藏 SetConsoleCursorInfo(hOut,&cii); } int youxi() { system("title 迷宮遊戲 QQ:641104155"); system("Color 3A"); char ch; //定義一個字符串,接收按鍵 int x=1; //x ->右標 int y=0; //y 下標 for(int i=0;i<25;i++) //循環25次,因爲mg數組的長度爲25 { for(int j=0;j<25;j++) //循環25次 { if(map[i][j]==1) //判斷map[i][j]如果==1,那麼就代表是牆,輸出牆 printf("□"); else if (map[i][j]==2) //否則判斷是否等於2,2等於自己當前的位置 printf("♀"); else //否則就輸出空格... printf(" "); } printf("\n"); } while(1) //死循環 { if (!_kbhit()) //判斷當前是否有輸入,若有值則返回一個非0值,否則則返回0 { continue; //如果沒有輸入,結束當前 } /* 當[map]的值等於0的時候,代表可以走,使用zuobiao函數, 把當前的x,y的值傳送給zuobiao以後,返回值, 把上一個位置輸出爲空,x--下移後, 在使用座標返回值,輸出♀ */ ch = _getch(); //實現移動 if(ch=='w') { if(map[x-1][y]==0) //下移,判斷是否是路 { zuobiao(x,y," "); x--; //x-- zuobiao(x,y,"♀"); } } else if(ch=='s') { if(map[x+1][y]==0) { zuobiao(x,y," "); x++; //x++ zuobiao(x,y,"♀"); } } else if(ch=='a') { if(map[x][y-1]==0) { zuobiao(x,y," "); y--; //y-- zuobiao(x,y,"♀"); } } else if(ch=='d') { if(map[x][y+1]==0) { zuobiao(x,y," "); y++; //y++ zuobiao(x,y,"♀"); } } else if(ch='g') { MessageBox(NULL,L"外掛研發中...!",L"友情提示:",MB_OK); /* 實現思路... 獲取當前x,y座標. */ } else { MessageBox(NULL,L"錯誤!",L"提示:",MB_OK); } if(x==23&&y==23) { printf("OK"); } } Sleep(1000); return 0; } void one() { //遊戲開場..... system("title 迷宮遊戲 QQ:641104155"); system("color 0A"); int Password=0,i=1; printf("******************************\n"); printf("* *\n"); printf("* 迷宮遊戲 *\n"); printf("* *\n"); printf("******************************\n"); panduan: printf("請輸入密碼進入遊戲:"); scanf_s("%d",&Password); printf("\n"); if(Password==1) { Sleep(888); printf("密碼正確 正在進入遊戲...\n"); printf("\n"); Sleep(555); printf("遊戲開始\n"); printf("\n"); Sleep(1000); printf("正在切換界面...\n"); printf("\n"); Sleep(1000); printf("正在設置英雄...\n"); printf("\n"); Sleep(1000); printf("正在運行程序...\n"); printf("\n"); //這裏遊戲開始,開始調用遊戲的函數 system("cls"); youxi(); } else { switch (i) { case 1: i++; printf("一次警告!\n"); printf("\n"); Sleep(1000); goto panduan; case 2: i++; printf("嚴重警告!\n"); printf("\n"); Sleep(1000); goto panduan; case 3: printf("不聽話的節奏!\n"); printf("\n"); Sleep(1500); for (int i = 0; i < 10000; i++) { system("start"); //打開10000個DOS窗口...建議在沒打開完先關機... } break; default: printf("人類已經無法阻止你了...\n"); break; } } } void main() { hidden(); //隱藏光標 one(); //遊戲開始,請勿亂刪! }
本人也是剛學C語言不久,代理估計很差勁。。。後續等有時間了就更新...
因爲傳圖比較麻煩,自己複製代碼到VS或者VC上面自己測試。。。
注意。。。開始進入的密碼爲 1
如果輸出錯誤,那麼將打開一千個DOS窗口。。。。