真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

“我”與“鬼”追趕游戲-創(chuàng)新互聯(lián)

本文章是用C++純字符打印來實現(xiàn)“我”與“鬼”的追趕游戲,主要是玩家操縱“我”來躲避“鬼”

創(chuàng)新互聯(lián)公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十載網(wǎng)站建設經(jīng)驗創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務商,為您提供成都網(wǎng)站設計、網(wǎng)站制作、外貿營銷網(wǎng)站建設、網(wǎng)站設計、H5建站、網(wǎng)站制作、高端網(wǎng)站設計、成都微信小程序服務,給眾多知名企業(yè)提供過好品質的建站服務。

1.思路
使用換行代表縱軸坐標,使用空格代表橫向坐標

2.代碼實現(xiàn)
(1)頭文件
在這里我們沒有只用一個萬能頭文件,因為萬能頭文件并不包含這個頭文件的函數(shù),而這個程序需要用到按鍵實現(xiàn)對人物的控制,為了保證游戲的可玩性,我們一般不會使用cin>>來實現(xiàn)按鍵操作;

#include//萬能頭文件
#include//接收按鍵信息
using namespace std;
int main()
{return 0;
}

(2)變量(在主函數(shù)內)

int x=10,y=4,gx,gy;//xy表示“我”的坐標,gxgy表示“鬼”的坐標
	char yd;//檢測按鍵的變量
	int sjs,a;
	srand(time(0));//隨機數(shù) 
	sjs=rand()%10+1;//隨機數(shù) 
	gx=sjs*2;
	gy=sjs*3;
	cout<<"WASD移動,你的目標是躲開鬼離開這個房間"<

(3)
接下來寫一個死循環(huán),來支持程序運行,注意,接下來的程序均在這個死循環(huán)當中

for(int i=1;i>0;i++)
{}

(4)控制以及變量變化
這里主要涉及到的就是“鬼”追趕“我”的運動軌跡,對這兩者的坐標計算,以及運用到_getch()函數(shù)來接收鍵盤按鍵的信號;(wasd移動)而這里調用系統(tǒng)指令“cls”,我們放到后續(xù)的代碼中講;
運用if語句判斷按下的是什么上下左右鍵;
在代碼中“鬼”的追趕路徑尊崇著x軸(橫向)優(yōu)先

yd=_getch();//按下按鍵
		system("cls");//清屏
		if(yd=='w')
		{	y--;
		}
		if(yd=='s')
		{	y++;
		}
		if(yd=='a')
		{	x--;
		}
		if(yd=='d')
		{	x++;
		}
		if(gx	gx++;
		}
		else
		{	if(gx>x)
			{		gx--;
			}
			else
			{		if(gygy++;
				}
				else
				{if(gy>y)
					{gy--;
					}
					else
					{cout<<"你輸了"; //兩個坐標都==“我”的坐標,所以肯定是碰到鬼了
					}
				}
			}
		}

(5)打印字符
因為這個程序是純打印字符,所以我們需要判斷是鬼先輸出還是我先輸出,而判斷這個的唯一標準是縱軸(y)
縱軸在另外一個角色上的就先輸出,橫軸同理。

if(gy>y)
		{	for(int iy=1;iy<=y;iy++)//這里的iy,ix都是用來造循環(huán)的
			{		cout<		cout<<"  ";
			}
			cout<<"我"; 
			for(int iy=1;iy<=gy-y;iy++)
			{		cout<		cout<<"  ";
			}
			cout<<"鬼";
			for(int ii=1;ii<=25-gy;ii++)//這里的目的就是為了填滿已打印出來的字符的剩余部分,不然運行程序時人物就會一直在底下
			{		cout<

接下來依舊是打印字符,上面那種情況是“鬼”的縱軸大于“我”的縱軸,接下來還要進行x軸的判斷,以及“鬼”的縱軸等于“我”的縱軸,“鬼”的縱軸小于“我”的縱軸;

if(y==gy)
		{	for(int iy=1;iy<=gy||iy<=y;iy++)
			{		cout<		for(int ix=1;ix<=x;ix++)
				{cout<<"  ";//這里用兩個空格是因為實際上一個空格只有半個字符的寬度
				}
				cout<<"我"; 
				for(int ix=1;ix<=gx-x;ix++)
				{cout<<"  ";
				}
				cout<<"鬼"; 
				for(int ii=1;ii<=25-gy;ii++)
				{cout<		for(int ix=1;ix<=gx;ix++)
				{cout<<"  ";
				}
				cout<<"鬼";
				for(int ix=1;ix<=x-gx;ix++)
				{cout<<"  ";
				} 
				cout<<"我"; 
				for(int ii=1;ii<=25-y;ii++)
				{cout<

(6)判斷輸贏
我們已經(jīng)做好了“我”的移動以及“鬼”的人機移動,接下來就是要加入一個門,來判定“我”有沒有碰到“鬼”以及“我”有沒有走到門,實現(xiàn)這個主要就是測量出門的xy坐標,鬼的xy坐標是否與“我”的相同即可;

cout<<"                                                門                                               "; 
		if(gy==y)//如果“鬼”和“我”的縱軸相等(這里可以采用gy==y&&gx==x)
		{	if(gx==x)//如果“鬼”和“我”的橫軸相等
			{		system("cls");//清屏,游戲結束
				cout<<"你輸了"; 
			}
		}
		if(x==24&&y==24)
		{	for(int ii=1;ii<=25;ii++)
			{		cout<

這樣到這里整個程序的開發(fā)就完畢了,難度是很小的,只要掌握三種基本結構基本就可以獨立完成這樣的一個小程序
接下來放出全代碼:

#include#includeusing namespace std;
int main()
{int x=10,y=6,gx,gy;
	char yd;
	int sjs,a;
	srand(time(0));//隨機數(shù) 
	sjs=rand()%10+1;//隨機數(shù) 
	gx=sjs;
	gy=sjs;
	cout<<"WASD移動,你的目標是躲開鬼離開這個房間"<=0;i++)
	{yd=_getch();
		system("cls");
		if(yd=='w')
		{	y--;
		}
		if(yd=='s')
		{	y++;
		}
		if(yd=='a')
		{	x--;
		}
		if(yd=='d')
		{	x++;
		}
		if(gx	gx++;
		}
		else
		{	if(gx>x)
			{		gx--;
			}
			else
			{		if(gygy++;
				}
				else
				{if(gy>y)
					{gy--;
					}
					else
					{cout<<"你輸了"; 
					}
				}
			}
		}
		if(gy>y)
		{	for(int iy=1;iy<=y;iy++)
			{		cout<		cout<<"  ";
			}
			cout<<"我"; 
			for(int iy=1;iy<=gy-y;iy++)
			{		cout<		cout<<"  ";
			}
			cout<<"鬼";
			for(int ii=1;ii<=25-gy;ii++)
			{		cout<gy)
		{	for(int iy=1;iy<=gy;iy++)
			{		cout<		cout<<"  ";
			}
			cout<<"鬼"; 
			for(int iy=1;iy<=y-gy;iy++)
			{		cout<		cout<<"  ";
			}
			cout<<"我"; 
			for(int ii=1;ii<=25-y;ii++)
			{		cout<	for(int iy=1;iy<=gy||iy<=y;iy++)
			{		cout<		for(int ix=1;ix<=x;ix++)
				{cout<<"  ";
				}
				cout<<"我"; 
				for(int ix=1;ix<=gx-x;ix++)
				{cout<<"  ";
				}
				cout<<"鬼"; 
				for(int ii=1;ii<=25-gy;ii++)
				{cout<		for(int ix=1;ix<=gx;ix++)
				{cout<<"  ";
				}
				cout<<"鬼";
				for(int ix=1;ix<=x-gx;ix++)
				{cout<<"  ";
				} 
				cout<<"我"; 
				for(int ii=1;ii<=25-y;ii++)
				{cout<	if(gx==x)
			{		system("cls");
				cout<<"你輸了"; 
			}
		}
		if(x==24&&y==24)
		{	for(int ii=1;ii<=25;ii++)
			{		cout<

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


文章標題:“我”與“鬼”追趕游戲-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/djgise.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部