弹力球游戏c语言代码

(6页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

#include #include #include #include /*定义游戏级别*/#define ELEMENTARY 15 /*初级*/#define INTERMEDIATE 8/*中级*/#define ADVANCED 3/*高级*/#define R 5 /*球半径*/struct box{ int x; int y; int color;}a[6][14]; int delaytime = 30;/*表示球的移动速度,今而表示游戏的级别*/int MouseX;int MouseY=400;int dx=1,dy=1; /*计算球的反弹*/int sizex=18,sizey=10; /*box的宽度和长度*/void InitGraphics(){ int gdriver = DETECT,gmode; initgraph(&gdriver,&gmode,"c:\\tc");}void InitGame(){ int grade; gotoxy(20,3); printf("Welcome to the Game of Striking ball\n\n"); gotoxy(20,5); printf("please input the grade you want to play:"); gotoxy(20,6); printf(" 1: elementary \n"); gotoxy(20,7); printf(" 2: intermediate \n"); gotoxy(20,8); printf(" 3: advanded \n"); scanf("%d",grade); switch(grade) { case 1 : delaytime = ELEMENTARY;break; case 2 : delaytime = INTERMEDIATE;break; case 3 : delaytime = ADVANCED;break; default: delaytime = ELEMENTARY;break; }}void DrawBox(int x,int y) /* x, y为左上角坐标sizex,sizey为长和宽*/{ int sizx=sizex-1; int sizy=sizey-1; setcolor(15); line(x,y,x+sizx-1,y); line(x,y+1,x+sizx-2,y+1); line(x,y,x,y+sizy-1); line(x+1,y,x+1,y+sizy-2); setcolor(8); line(x+1,y+sizy,x+sizx,y+sizy); line(x+2,y+sizy-1,x+sizx,y+sizy-1); line(x+sizx-1,y+1,x+sizx-1,y+sizy); line(x+sizx,y+2,x+sizx,y+sizy); setcolor(7); putpixel(x,y+sizy,3); putpixel(x+1,y+sizy-1,3); putpixel(x+sizx,y,3); putpixel(x+sizx-1,y+1,3); setfillstyle(1, 7); bar(x+2,y+2,x+sizx-2,y+sizy-2);}/*绘制游戏界面*/void DrawInterface(){ int i,j; cleardevice(); setcolor(15); rectangle(99,49,413,451); for(i=0;i<6;i++) for(j=0;j<14;j++) { a[i][j].color=0; a[i][j].x=104+j*22; a[i][j].y=54+i*14; DrawBox(104+j*22,54+i*14); } sizex=50,sizey=5;} /*鼠标光标显示*/void DrawMouse(int x,int y){ DrawBox(x,y);}/*设置鼠标左右边界*/void MouseSetX(int lx,int rx){ _CX=lx; _DX=rx; _AX=0x07; geninterrupt(0x33);}/*设置鼠标上下边界*/void MouseSetMaxY(int uy,int dy){ _CX=uy; _DX=dy; _AX=0x08; geninterrupt(0x33);}/*设置鼠标当前位置*/void MouseSetXY(int x,int y){ _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33);}/*获取鼠标当前位置*/void MouseGetXY(){ _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX;}void MouseStatus()/*鼠标按键情况*/{ int x; int status; status=0;/*默认鼠标没又移动*/ x=MouseX; if(x==MouseX&&status==0) /*鼠标没动*/ { MouseGetXY(); if(MouseX!=x) if(MouseX+50<413) status=1; } if(status)/*移动情况才重新显示鼠标*/ { setfillstyle(1,0); bar(x,MouseY,x+sizex,MouseY+sizey); DrawMouse(MouseX,MouseY);/*新位置显示*/ }}void BallStrike(){ int ballX; /*球的圆心*/ int ballY = MouseY-R; int i,j,t=0; randomize(); while(ballX=random(409)) if(ballX>=105 && ballX<=408) break; while(kbhit) { MouseStatus(); if(ballY<=(58-R)) /*碰上反弹*/ dy*=(-1); if(ballX>=(413-R)||ballX<=(108-R)) /*碰左右反弹*/ dx*=(-1); setcolor(WHITE); circle(ballX+=dx,ballY-=dy,R-1); delay(delaytime); setcolor(0); circle(ballX,ballY,R-1); for(i=0;i<6;i++) for(j=0;j<14;j++) /*判断是否传记撞击box*/ if(t<84&&a[i][j].color==0 && ballX>=a[i][j].x && ballX<=a[i][j].x+18 && ballY>=a[i][j].y && ballY<=a[i][j].y+10) { t++; dy*=(-1); a[i][j].color=1; setfillstyle(1,0); bar(a[i][j].x,a[i][j].y,a[i][j].x+18,a[i][j].y+10); } if(ballX==MouseX||ballX==MouseX-1||ballX==MouseX-2&&ballX==(MouseX+50+2)||ballX==(MouseX+50+1)||ballX==(MouseX+50)) /*碰板反弹*/ if(ballY>=(MouseY-R)) { dx*=(-1); dy*=(-1); /*原路返回*/ } if(ballX>MouseX && ballX=(MouseY-R)) dy*=(-1); if(t==84) { sleep(1); cleardevice(); setcolor(RED); settextstyle(0,0,4); outtextxy(100,200,"You Win"); sleep(1); break; } if(ballY>MouseY) { sleep(1); cleardevice(); setcolor(RED); settextstyle(0,0,4); outtextxy(100,200,"Game Over"); sleep(1); break; } }}void main(){ InitGraphics(); InitGame(); DrawInterface(); MouseSetX(100,362); /*设置鼠标移动的范围*/ MouseSetMaxY(MouseY,MouseY); /*鼠标只能左右移动*/ MouseSetXY(150,MouseY); /*鼠标的初始位置*/ DrawMouse(MouseX,MouseY); /*第一次显示鼠标*/ BallStrike(); closegraph();} 关 键 词: 弹力 游戏 语言 代码

 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

弹力球c语言代码运行,弹力球游戏c语言代码相关推荐

  1. python代码运行助手是什么业务_python代码运行助手怎么使用()

    python代码运行助手怎么使用 #/usr/bin/env python3 # -*- coding: utf-8 -*- r''' learning.py A Python 3 tutorial  ...

  2. C语言可以敲哪些小游戏,C语言可以写哪些小游戏?

    C语言可以写哪些小游戏? C语言可以编手机游戏.你叫他去死不过我这有贪吃蛇的代码,你倒可以看看(用TC编译一定过( #包括 #包括 #包括 #包括 #包括 #定义输入7181 #定义ESC 283 # ...

  3. python代码运行助手是什么业务_Python代码运行助手

    Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码.原理如下: 在网页输入代码: 点击Run按钮,代码被发送到本机正在运行的Python代码运行 ...

  4. c语言程序设计中三子棋游戏,C语言实现简易版三子棋游戏

    本文实例为大家共享了C语言实现三子棋游戏的详细代码,供大家参考,详细内容如下 什么是多文件? 多数大型的工程的头文件和源文件非常多,我们也不可能把所有的代码都写在同一个文件里,这样也不方便代码的阅读与 ...

  5. 为什么python代码运行不了_为什么Python代码能运行但是PyCharm给我画红线?

    PyCharm在遇到模块找不到时,会使用红色波浪线提醒开发者.这本来是一个非常好的功能,但却由于另外一个问题,会给一些Python初学者造成困扰. 这一篇文章,我们讲讲工作区导致的这个问题. 首先我们 ...

  6. c语言写入运行不了文件,c语言写入文件 不能马上更新

    今天用c语言  写入一个文件发现  调用写入函数后    打开文件文件里面是空的.只有程序结束后或关闭指针后文件中的内容才能更新. 网上找了半天终于把问题解决了: 原来是C语言对文件的操作使用了文件缓 ...

  7. C语言制作一个五子棋小游戏【附代码】

    目录 五子棋游戏设计与实现 1.1 系统开发思路(需求分析) 1.2 系统功能设计 1.3 系统详细设计 1.3.1数据结构设计 1.4 系统实现 1.5 系统测试 五子棋游戏设计与实现 1.1 系统 ...

  8. c语言程序运行时打开记事本,C语言打开一个记事本的内容!求助!

    #include #include struct student { int order; char num[11]; char name[20]; }; typedef struct student ...

  9. c语言实现约瑟夫双向生死游戏(附有详细代码)

    Reborn Terran Emperor 项目简介 约瑟夫双向生死游戏是在约瑟夫生者死者游戏的基础上,正向计数后反向计数,然后再正向计数... 具体描述如下:30个旅客同乘一条船,因为严重超载,加上 ...

最新文章

  1. spring配置datasource三种方式 数据库连接
  2. 36条网络安全术语盘点——Vecloud
  3. jQuery的遍历方法
  4. 位居行业第一,智能投影品牌坚果迎来3C数码零售行业的“扬眉曲线”?
  5. springboot @JsonSerialize 的使用
  6. 使用第三方《UITableView+FDTemplateLayoutCell》自动计算UITableViewCell高度(Masonry约束)...
  7. python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算
  8. 竖流式沉淀池集水槽设计计算_竖流式沉淀池的设计
  9. JavaScript(五)——错误处理
  10. [PYTHON] 核心编程笔记之八-Python条件和循环
  11. 计算机网络投标书质量保证措施,计算机网络标书模板.doc
  12. MAE 自监督算法介绍和基于 EasyCV 的复现
  13. 流行的权限管理 gem devise的定制
  14. python 的 int() 函数
  15. Java ClassCastException: xxx cannot be cast to xxx 问题4种情况解决(Java、EasyPoi、JFreeChart、EasyExcel)
  16. 使用windows自带虚拟机---Hyper-V 管理器
  17. [产品分析] Palm Pre,iPhone,Gphone全面大比拼
  18. 智能宠物饲养系统设计
  19. uni-app微信H5微信扫一扫支持安卓跟苹果
  20. 使用乾坤微前端nginx和服务器部署

热门文章

  1. 任达华主演的《重回地球》宣布正式杀青
  2. 机械臂控制C语言程序,51单片机的6自由度机械臂 16路舵机控制 源码
  3. 7-5 输出下三角队形
  4. 武汉计算机学校什么时候开学,武汉的大学开学时间表2019
  5. 谷歌不甘再为他人做嫁衣
  6. Cinema 4D R23 for Mac(C4D动画设计软件)
  7. 戴尔服务器型号r720,【戴尔易安信PowerEdge R720 机架式服务器参数】戴尔易安信PowerEdge R720 机架式服务器系列服务器参数-ZOL中关村在线...
  8. 程序员的算法趣题Q45: 排序交换次数的最少化
  9. 阿里集团副总裁语嫣,拜托别把这名字给玷污了行吗
  10. 阿里云副总裁杨名:“通向智能之路”