一个“歼灭敌机”的小游戏,DEVc++编译通过:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
#define zlx 10 //增量坐标(x)让游戏框不靠边
#define zly 3 //增量坐标(y)让游戏框不靠边
#define W 26 //游戏框的宽度
#define H 24 //游竖唯戏框的高度
int jiem[22][22]={0}, wj=10 //界面数组, 我机位置(初值为10)
int speed=4,density=30, score=0,death=0//敌机速度, 敌机密度, 玩家成绩,死亡次数
int m=0,n=0 // m,n是控制敌机的变量
void gtxy (int x, int y) //控制光标位置的函数
{ COORD pos
pos.X = x pos.Y = y
SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos )
}
void Color(int a) //设定颜色的函数(a应为1-15)
{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a )}
void yinc(int x=1,int y=0) //隐藏光标的函数
{ CONSOLE_CURSOR_INFO gb={x,y} //y设为0即隐藏
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &gb)
}
void csh( ) //初始化函数
{ int i
Color(7)
gtxy(zlx,zly)printf("╔") gtxy(zlx+W-2,zly)printf("╗") //左上角和右上角的框角
gtxy(zlx,zly+H-1)printf("╚")gtxy(zlx+W-2,zly+H-1)printf("╝")//下边两框角
for(i=2i<W-2i+=2) {gtxy(zlx+i,zly) printf("═")} //打印上横框
for(i=2i<W-2i+=2) {gtxy(zlx+i,zly+H-1)printf("═")} //打印下横框
for(i=1i<H-1i++) { gtxy(zlx,zly+i) printf("║")} //打印左竖框
for(i=1i<H-1i++) {gtxy(zlx+W-2,zly+i)printf("║")} //打印右竖框
Color(14)gtxy(19,2)printf("歼灭敌机")Color(10)
gtxy(37,5)printf("设置:Esc ")
gtxy(37,7)printf("发射:↑ ")
gtxy(37,9)printf("控制:← → ")
gtxy(37,11)printf("得分:%d",score)
gtxy(37,13)printf("死亡:%d",death)
yinc(1,0)
}
void qcjm( ) //清除界面函数
{int i,j
for(i=0i<H-2i++)
for(j=0j<W-4j++){gtxy(zlx+2+j,zly+1+i)printf(" ")}
}
void feiji( ) //飞机移型腔动函数
{int i,j
for(i=21i>=0i--) //从底行往上是为了避免敌机直接冲出数组
for(j=0j<22j++)
{if(i==21&&jiem[i][j]==3) jiem[i][j]=0 //底行赋值0 以卜纤衫免越界
if(jiem[i][j]==3) jiem[i][j]=0, jiem[i+1][j]=3
}
if(jiem[20][wj]==3&&jiem[21][wj]==1) death++
}
void zidan( ) //子d移动函数
{ int i,j
for(i=0i<22i++)
for(j=0j<22j++)
{if(i==0&&jiem[i][j]==2) jiem[i][j]=0
if(jiem[i][j]==2) { if(jiem[i-1][j]==3) score+=100,printf("\7")
jiem[i][j]=0,jiem[i-1][j]=2}
}
}
void print( ) //输出界面函数
{int i,j
qcjm( )
for(i=0i<22i++)
for(j=0j<22j++)
{ gtxy(12+j,4+i)
if(jiem[i][j]==3) {Color(13)printf("□")}
if(jiem[i][j]==2) {Color(10)printf(".")}
if(jiem[i][j]==1) {Color(10)printf("■")}
}
gtxy(37,11)Color(10)printf("得分:%d",score)
gtxy(37,13)printf("死亡:%d",death)
}
void setting( ) //游戏设置函数
{ qcjm( )
gtxy(12,4)printf("选择敌机速度:")
gtxy(12,5)printf(" 1.快 2.中 3.慢>>")
switch(getche( ))
{case '1': speed=2break
case '2': speed=4break
case '3': speed=5break
default: gtxy(12,6)printf(" 错误!默认值")
}
gtxy(12,7)printf("选择敌机密度:")
gtxy(12,8)printf(" 1.大 2.中 3.小>>")
switch(getche( ))
{case '1': density=20break
case '2': density=30 break
case '3': density=40break
default: gtxy(12,9)printf(" 错误!默认值")
}
for(int i=0i<22i++)
for(int j=0j<22j++)jiem[i][j]=0
jiem[21][wj=10]=1jiem[0][5]=3
gtxy(12,10)printf(" 按任意键保存...")
getch( )
qcjm( )
}
void run( ) //游戏运行函数
{ jiem[21][wj]=1 //值为1代表我机(2则为子d)
jiem[0][5]=3 //值为3代表敌机
SetConsoleTitle("歼灭敌机") //设置窗口标题
while(1)
{ if (kbhit( )) //如有键按下,控制我机左右移动、发射或进行设定
{int key
if((key=getch( ))==224) key=getch( )
switch(key)
{ case 75: if(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1break
case 77: if(wj<20) jiem[21][wj]=0,jiem[21][++wj]=1 break
case 72: jiem[20][wj]=2break
case 27: setting( )
}
}
if(++n%density==0) //控制产生敌机的速度
{ n=0srand((unsigned)time(NULL))
jiem[0][rand( )%20+1]=3
}
if(++m%speed==0) {feiji( )m=0} //控制敌机移动速度(相对子d而言)
zidan( )
print( )
Sleep(120) //延时120毫秒
}
}
int main( )
{csh( )
run( )
return 0
}
新手要方便写代码,可以收藏下面几个自编函数:
SetConsoleTitle("俄罗斯方块") //设置窗口左上角标题栏处出现"俄罗斯方块"5个字
srand( (unsigned) time(NULL) ) //初始化随机数发生器
n= rand( ) % 20 //产生随机数0-19中的一个. 如 rand( )%5 就产生0-4中的一个数
SetConsoleTitle( )函数在<windows.h>里, srand( )函数与rand( )函数要配合用,
就是同时要用,在<stdlib.h>里。如果 rand( )%10+1 就产生1-10之中的一个数。
Sleep(300) //延时300毫秒(就是程序暂停300毫秒后继续运行)
system("cls") //清屏(把窗口里的内容全部清除,光标定于(0,0)位置处)
这两个函数都在<windows.h>里。开头4个自编函数 编写如下:
void gtxy (int x, int y) //控制光标位置的函数
{ COORD pos
pos.X = x
pos.Y = y
SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos )
}
void Color (int a) //设定颜色的函数
{ SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ),a )}
void yinc (int x,int y) //隐藏光标的函数
{ CONSOLE_CURSOR_INFO gb={ x , y } //gb代表光标
SetConsoleCursorInfo ( GetStdHandle(STD_OUTPUT_HANDLE), &gb )
}
void kou(int w,int h) //设置窗口大小的函数
{HANDLE hl=GetStdHandle ( STD_OUTPUT_HANDLE )
COORD size={ w , h }
SetConsoleScreenBufferSize( hl , size )
SMALL_RECT rc={ 0, 0, w, h }
SetConsoleWindowInfo( hl, 1, &rc )
}
最后这个函数,参数w是宽h是高。里边5行中第一行定义了句柄型变量hl,并给它赋值。
第二行定义了坐标型结构体变量size,它的取值决定了缓冲区的大小。第三行就是使用
size的值设置好缓冲区大小。第四行定义了变量rc,它的值决定当前窗口显示的位置与
大小(不得超过缓冲区的大小)。前两个0,0是从缓冲区左上角0列0行位置处开始,后两
个参数可以小于w和h.比如 rc={0,0,w-10,h-5}最后一行使用rc的值设置好窗口,中间
那个参数要为" 1 "或写“ true ”才有效。
控制台斗没小游戏 class YZDEL{
public static void main(String[] args)
{
java.util.Random Shiji = new java.util.Random()
java.util.Scanner Shuru = new java.util.Scanner(System.in)
java.util.Scanner Nandu = new java.util.Scanner(System.in)
int YingxHP = 20
int YingxMP = 0
int MogHP = 20
int MogMP = 0
int MogDo = 0
int fangyu = 0
System.out.println("┏━━━━╮┏━━┣┣┓ ╮ ┓┏━┳━┳┓┓━┓ ")
System.out.println("┏┣━━━┓┏━━┣┣┓ ┃┏ ┃ ┃┓┃ ╯ ")
System.out.println("┣┣━━━┫╭━━┻╯╮ ┃╰┓┃ ┃╯┏━┣━━┓")
System.out.println("┣┣━━━┫┏━━━━┓╭━━┣━┛┗━┻━┻┛┃┃")
System.out.println("┏┣━━━┓┣━━━━┫ ┃┃┃┗╮╮┃┃┣━╯")
System.out.println(" ┛┗╯┗━━━━╯┗╯╰╰━━┛┛┗━╯╰━┛")
System.out.println()
System.out.println(" 作者:天狐空幻")
System.out.println()
System.out.println("说明闹散:勇者的 *** 作方式为以下所示:")
System.out.println(" 使用攻击需消耗1MP 伤害1HP")
System.out.println(" 使用蓄力可增加1MP 伤害0HP")
System.out.println(" 使用躲闪需消耗0MP 伤害0HP 躲避攻击")
System.out.println(" 使用重击需消耗3MP 伤害2HP 防御无效")
System.out.println(" 恶龙攻击力高, 注意防御是取胜的关键"液销氏)
System.out.println(" 恶龙MP达到4时可能会放出火焰无法躲避")
System.out.println(" 准备说明完毕,那么让我们来挑战恶龙吧!")
System.out.println("==================================")
//难度选择
System.out.println("请选择难度")
System.out.println("1.娱乐 2.挑战 3.噩梦")
int ND = Nandu.nextInt()
System.out.println("==================================")
while(true)
{
//HP,MP的显示
System.out.print("勇者: ")
System.out.print(" HP ")
for(int x=YingxHPx>0x--) System.out.print("*")
System.out.print(" "+YingxHP)
System.out.println()
System.out.print(" ")
System.out.print(" MP ")
for(int x=YingxMPx>0x--) System.out.print("*")
System.out.print(" "+YingxMP)
System.out.println()
System.out.print("恶龙: ")
System.out.print(" HP ")
for(int y=MogHPy>0y--) System.out.print("*")
System.out.print(" "+MogHP)
System.out.println()
System.out.print(" ")
System.out.print(" MP ")
for(int y=MogMPy>0y--) System.out.print("*")
System.out.print(" "+MogMP)
System.out.println()
System.out.println("==================================")
//胜利判定
if(YingxHP<1) {System.out.println()System.out.println("勇者HP为0! 不..不可能..我怎么会..勇者倒下了。再接再厉吧!~")System.out.println()break}
if(MogHP<1) {System.out.println()System.out.println("恶龙HP为0! 恶龙绝望的哀鸣中倒了下去。勇者胜利了。恭喜你挑战成功!!")System.out.println()break}
//角色输入判定
System.out.println("你要做什么:")
System.out.println("1.攻击 2.蓄力")
System.out.println("3.躲闪 4.重击")
System.out.println("____________________")
int Do = Shuru.nextInt()
//敌人输入判定
//娱乐难度
if(ND==1){
for(int i=1i<3i++) MogDo = Shiji.nextInt(4)}
//挑战难度
if(ND==2){
if(YingxMP==0&&MogMP==0) {MogDo = 0}
else if(MogMP==0){for(int i=1i<3i++) MogDo = Shiji.nextInt(2)}
else if(YingxMP>2&&MogMP>2) MogDo = 2
else if(MogMP<4) {for(int i=1i<4i++) MogDo = Shiji.nextInt(3)}
else MogDo = 3}
//噩梦难度
if(ND==3){
if(Do==1) MogDo=1
if(Do==2&&MogMP>0) MogDo=2
if(Do==2&&MogMP==0) MogDo=0
if(Do==3&&MogMP<4) MogDo=0
if(Do==3&&MogMP>=4) MogDo=3}//变态判定。。
//战斗分析
//防御
if(Do==3) {fangyu=1System.out.println("你灵巧的躲避攻击!")}
if(MogDo==1) {fangyu=1System.out.println("恶龙进行防御!")}
//角色判定
if(Do==1&&YingxMP==0) {System.out.println("MP不足!")}
if(Do==1&&YingxMP>0) {
if(fangyu==0) {MogHP=MogHP-1YingxMP=YingxMP-1System.out.println("你发动攻击!")}
if(fangyu==1) {YingxMP=YingxMP-1System.out.println("你的攻击被格挡!")}}
if(Do==2) {YingxMP=YingxMP+1System.out.println("你进行蓄力!")}
if(Do==4&&YingxMP<3) {System.out.println("MP不足!")}
if(Do==4&&YingxMP>2) {MogHP=MogHP-2YingxMP=YingxMP-3System.out.println("你发动重击!")}
if(Do>4) System.out.println("你不知所措...")
//敌人判定
if(MogDo==2&&MogMP==0) {System.out.println("恶龙在发呆!")}
if(MogDo==2&&MogMP>0) {
if(fangyu==0) {YingxHP=YingxHP-2MogMP=MogMP-1System.out.println("恶龙发动攻击!")}
if(fangyu==1) {MogMP=MogMP-1System.out.println("恶龙的攻击被躲开了!")}}
if(MogDo==0) {MogMP=MogMP+1System.out.println("恶龙进行蓄力!")}
if(MogDo==3&&MogMP<4) {System.out.println("恶龙在发呆!")}
if(MogDo==3&&MogMP>3) {YingxHP=YingxHP-4MogMP=MogMP-4System.out.println("恶龙发动火焰吐吸!躲避不能!")}
//结束
fangyu = 0
MogDo = 0
System.out.println("____________________")
System.out.println()
System.out.println("==================================") }
}
}
不懂代码怎么制作微信小程序首先看一下官方的干货:mp.weixin.qq/...201714
指南包括小程序产品定位功能介绍,设计规范,开发入门教程,小程序数据相关分析等等一系列新手教程,接近手把手教,只要认真看总会有所感悟。
然后可以查看下GitHub上的一些小程序合集,比如:github/...-weapp
看看别人怎么做 总会有收获的,加油
微信小程序代码怎么用工具打开看
1、首先要下载微信官方的微信Web开发者工具。打开微信公众平台,找到右下方的小程序模块,点击「开发」按钮2、点击顶部导航栏的「工具」按钮,在新页面的左侧栏中找到「下载」。可以看到,开发工具提供 Windows 32 位、Windows 64 位和 Mac 三个版本。可根据实际情况,选择适合自己电脑的开发工具。 3、安装后,就可以直接启动开发者工具。如果是首次启动开发者工具,需要使用开发者的微信号扫码登录。登陆后,点击「添加项目」按钮,填写 AppID(如果没有,则点击无 AppID)和项目名称。接着,在项目目录中点击「选择」,新建一个文件夹作为新的项目目录。然后再次点击「添加项目」,就可以新建出一个微信小程序项目了。 4、微信开发者工具共分成「编辑」、「调试」和「项目」三个部分。 编辑:编辑和修改友逗小程序的代码。 调试:显示小程序代码错误和警告,便于调试代码错误。 项目:用于查看小程序的轮老属性、修改小程序配置,以及提交小程序代码至微信服务器。 开发工具还提供简单的模拟器(页面左侧),开发者可以使用模拟器在电脑上模拟用户点击及使用,提供后台情况模拟、多媒体播放器调试、缓存数据处理等功能。 5、懂技术的程序员到这一步就可以好桐卖自己开发了。而不懂编程的小白,可以登录微信小程序制作平台「即速应用」官方网站进行小程序的制作。里面有大量的小程序模板,根据自己的需求选择一个模板进行制作即可。 6、制作完成后,点击「生成」按钮。然后选择「小程序打包」,下载小程序的标准代码包。 7、回到在微信Web开发工具中,在「项目目录」这一栏选择下载好的代码包,打开后就可以看到小程序的预览效果了。 8、在「项目」页面中,开发者可以查看小程序的基本属性,也可以进行真机预览调试,或向微信服务器提交一个新版本的小程序代码。服务器收到代码后,管理员就可以通过公众平台,将新版本提交审核了。 以上就是微信小程序开发工具的具体使用方法。磨刀不误砍材工,只有认真了解过微信小程序开发工具如何使用,才能才微信小程序推出的关键时期抓住机会,尽快进入市场,拿下小程序的第一波红利。
微信小程序是什么?微信小程序有什么用
微信小程序是一种不需要下载安装即可使用的应用。特点:
它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。
也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
应用将无处不在,随时可用,但又无需安装卸载。
然而微信应用号要能获取足够多的用户,还得要开发者的支持。毫无疑问,开发者将是微信应用号的最大获益群体。对于开发者而言,应用号可以节省开发成本,并且可以提升研发效率,开发人员只需要研发出一款适用于浏览器应用的产品,就可满足不同 *** 作系统的使用需求。
第一个微信小程序代码在哪个文件写
需要在微信公众平台下载微信小程序开发者工具、在微信小程序开发者工具里面写
微信小程序是什么,怎么用?
什么的微信小程序?
小程序是一种无需安装,即可使用的手机「应用」。只需要扫描二维码,或是搜一搜,就能立即使用,可以解决手机内存不够的问题。
不同的小程序,能帮你实现不同的功能。
例如,买电影票、餐厅排号、餐馆点菜、查询公交、查询股票信息、查询天气、收听电台、预定酒店、共享单车、打车、查汇率、查单词、买机票、网购……
当然,作为微信的新产品,小程序只能在微信里使用。
如何添加微信小程序?
前提是升级微信至最新版本(6.5.3),需要说明的是:部分安卓手机上的软件商店更新不及时,所以建议直接通过微信“我”->“设置”->“关于微信”->“检查新版本” 来更新。
一、线下扫码,二维码是小程序最基础的获取方式,打开微信扫一扫,通过微信扫描线下二维码的方式进入小程序。
二、苹果手机请在微信主界面上下拉,露出搜索框;安卓手机点击最上方的放大镜图标进入搜索,这里输入一个小程序的完整名字,比如 “去哪儿出行”,在搜索结果中点击,“ 搜一搜 去哪儿出行 朋友圈,公众号,文章等 ”点进去到去哪儿出行,退回到发现的界面就能看到小程序了。
三、公众号关联,同一主体的小程序和公众号可以进行关联,并相互跳转,该功能需要经开发者自主设置后使用。通过公众号查看并进入所绑定的小程序一个公众号可以绑五个小程序,但一个小程序只能被一个公众号绑定。
四、好友推荐,当你发现一个好玩的或者实用的小程序,可以将这个,转发给好友或群聊。但是注意,小程序无法在朋友圈中发布分享。
五、历史记录,当你使用过某个小程序后,在微信客户端的“发现-小程序”里的列表,就可以看到这个小程序,想要再次使用它时,通过列表中的历史记录就可以进入。在“发现-小程序”中,也可以通过搜索进入小程序。
小程序怎么用?一、小程序切换
小程序和小程序,小程序和聊天记录界面可以迅速切换。
二、消息通知
你可以收到小程序的模板消息和客服消息。
三、附近的店
这是一个最新的玩法。将来,你可以在“发现小程序”里面的“附近的店”找到附近的小程序。
四、 Android 的特权
如果你是Android 用户,还可以享受一个特权:把小程序添加到桌面。
在小程序右上角点击三个点,即可看到「添加到桌面」的选项,点击即可直接将小程序添加到桌面。
小程序如何分享?小程序跟公众号不一样,它不能分享到朋友圈,只能分享给好友,或者是微信群。
微信里的小程序是什么意思,怎么用?
您好!很高兴能为您解答,
所谓的小程序就是无需下载某款应用程序,直接通过微信就可以打开并且使用它,这个功能对于那些手机内存不大的朋友来说算是福音了,那么如何找到它的入口呢?很简单,首先我们打开微信,然后在"通讯录"里直接搜索"小程序示例",如图;
找到以后直接点击进入,我们可以看到它的组件和接口等后台,不过这些对我们来说没有什么用处,我们点击该页面右上角的省略号图标,然后选择"显示在聊天顶部",这样便于我们查找,见下图;
此时我们返回到聊天界面,在最顶端会有它的显示,如图;这样我们就可以开始使用它了,不过微信里不会显示它收录的小程序列表,我们需要手动搜索;
比如我们在搜索框输入"今日头条",搜索结果里含有"lite"字样的就说明小程序里包含这款应用,那么无需下载它就可以使用了...
接着以上,我们点击进入小程序以后,就打开了这款软件的主界面,如图;同用在该程序的右上角点击省略号图标可以将其置顶,不过功能还是不能完全和下载以后的完全一样,比如发帖/跟帖等暂时还是无法实现的;
微信应用号是什么,微信小程序是什么
techweb/....shtml
仅供参考
微信小程序是什么
微信小程序其实是微信公众平台应用号的前身,据说跟苹果达成协议,苹果要垄断(应用)APP这个词,所以和谐相处,小而美的,叫小程序。
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
——Allen Zhang
关键点:
跨平台,开发简单,对比于安卓系统应用的不安全性,更好的保障了用户的数据。
预加载资源保障极速的用户体验。
随时能够更新资源与交互模式,通过微信通用JS API调用原生接口,保障体验的同时,提供了灵活应变的手段(春晚方案,没到最后一刻,都有可能会有变动,赞助商的投放名单与广告语,也有可能变动,红包方案需要保持灵活应变的手段)。
微信小程序来了,要不要学习小程序代码啊?
1.小程序上线后,创业门槛确实可以降低了,更多的非程序员可以加入到产品开发的过程中。就像著名的未来学家,趋势学家丹尼尔平克说的那样,人类已经进入右脑时代了,在这个时代中,知识和技术不再是力量,未来属于那些拥有与众不同的思维能力的人,专家不再值钱,未来属于那些跨领域的人才。
2. 但是如果你对代码头疼,那么无论是产品还是运营等非程序员还是比较吃力的。那么推荐一下即速应用这款无代码基础、可视化拖拽的小程序开工具(IDE)可以帮助哪些非程序员开发小程序。而且即速应用制作完小程序是可以直接生成小程序标准代码。你可以直接拿生成的代码到微信开发者平台上提交上传等待审核即可。
微信小程序是什么 微信小程序有什么用
微信小程序是一种不需要下载安装即可使用的应用。当用户关注了一个“应用号”之后,就相当于安装了一款app。在“应用号”内,用户就可以实现对app 的一些基本诉求。
实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。
体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
应用将无处不在,随时可用,但又无需安装卸载。
目前,小程序仍然处于内测阶段。全面开放申请后,主体类型为个人、企业、 *** 、媒体或其他组织的开发者,均可申请注册小程序。沈阳西里奥布科技有限公司
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)