简单小游戏——见缝插针
软件使用
EasyX、VS2013
效果图
个人最高纪录(滑稽
具体实现
顾名思义,找缝插针,插到别的针上游戏结束。主要难点是如何让针转起来,其实就是让每根针的度数都慢慢增加,每次变化都刷新、更新针的位置
源代码
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{const float PI = 3.14159;int width = 800, height = 600, score = 0;initgraph(width, height);setbkcolor(WHITE);//设置针样式int lineNum = 0;float angles[1000];float lineLen = 160, lineEndX, lineEndY, angle = 0;float rotateSpeed = PI / 360; //每次所有针都旋转这个角度setlinestyle(PS_SOLID, 2);BeginBatchDraw();while (1){cleardevice();setlinecolor(BLACK);line(0, height / 2, lineLen, height / 2); // 左边的针//让针旋转for (int i = 0; i < lineNum; i++){angles[i] += rotateSpeed;if (angles[i] > 2 * PI) //防止角度无限增大angles[i] -= 2 * PI;//更新针终点坐标//因为这里y轴和平时的y轴方向相反,所以角度是负的lineEndX = lineLen * cos(-angles[i]) + width / 2;lineEndY = lineLen * sin(-angles[i]) + height / 2;setlinecolor(BLUE);if (i == lineNum - 1) //刚插入的针设置为红色setlinecolor(RED);//画出针line(width / 2, height / 2, lineEndX, lineEndY);}//按下空格射出针if (_kbhit() && rotateSpeed != 0){char input = _getch();if (input == ' '){lineNum++; //针数加1angles[lineNum - 1] = PI; //因为是横着射出的,所以初始角度是PIlineEndX = lineLen * cos(-angles[lineNum - 1]) + width / 2;lineEndY = lineLen * sin(-angles[lineNum - 1]) + height / 2;line(width / 2, height / 2, lineEndX, lineEndY);//判断是否插到同一个位置,这里判断方式是两针夹角小于PI / 60bool flag = true;for (int i = 0; i < lineNum - 1; i++){if (abs(angles[lineNum - 1] - angles[i]) < PI / 60){rotateSpeed = 0;flag = false;break;}}if (flag)score += 1;}}//设置中心圆盘样式setlinecolor(RGB(255, 0, 0));setfillcolor(RGB(255, 0, 0));fillcircle(width / 2, height / 2, 60);//输出分数TCHAR s[20];_stprintf_s(s, _T("%d"), score);settextstyle(50, 0, _T("Times"));settextcolor(RGB(50, 50, 50));outtextxy(65, 200, s);FlushBatchDraw();Sleep(10);}_getch();closegraph();return 0;
}
简单小游戏——见缝插针相关推荐
- python pygame 简单小游戏
python pygame 简单小游戏 最近学习了pygame,感觉十分有意思,花了一点时间制作了一个简单的小游戏 效果图 这是一个很简单的防守类小游戏 玩家可以使用wasd控制人物移动,并且鼠标控制 ...
- python简单小游戏代码-零基础python教程-用Python设计你的第一个小游戏
学以致用,今天给大家分享零基础Python设计你的第一个小游戏,既然要学习Python就要让它来实现我们想做的东西,这次咱就用Python来做个简单小游戏,在实践中不断成长.刚学习Python的小伙伴 ...
- python简单小游戏代码_一个简单的python小游戏---七彩同心圆
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...
- 怎么用python编简单游戏大全_适合新手练手的三个python简单小游戏
学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来: 1.猜拳: import random #导入随机模块 num = 1 yin_num = 0 shu_ ...
- CSS小游戏2048—简单小游戏编程有手就行~会玩?你会写吗?
简单实现2048小游戏 想实现2048游戏书写代码时可以分为三个步骤 一.HTML部分 先书写HTML把游戏结构搭建出来 <!DOCTYPE html> <html lang=&qu ...
- 适合新手练手的三个python简单小游戏
学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来: 1.猜拳: import random #导入随机模块num = 1 yin_num = 0 shu_n ...
- python简单小游戏代码教程,python小游戏程序源代码
球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...
- 用c语言编写打猎小游戏,使用c语言编写简单小游戏.docx
PAGE / NUMPAGES 纯真童趣的<泡泡堂>,还有武林情仇,笑傲江湖的<剑侠情缘on line>.它是e时代常谈的话题,是交互式娱乐的主力军,是一种 高层次的综合艺术, ...
- 用unity做的简单小游戏------“小球酷跑“
游戏介绍: 游戏由小球和障碍物组成,在所布置的游戏背景中进行游戏,如图所示. 游戏主要以控制小球移动躲过障碍物继续行走为玩法,是一个简单的不够完整的小游戏,下面将会简单地介绍在unity中如何制作出这 ...
最新文章
- 4、jquery表格操作
- 【转】Loadrunner入门(《软件性能测试过程详解与案例剖析》)
- Codeforces 997E Good Subsegments (线段树)
- hbase中清空整张表的数据
- matlab中“存储空间不足,无法处理此命令”
- hibernate连接数据库配置
- java 二进制 定义_在Java中,我可以用二进制格式定义一个整数常量吗?
- python统计汉字字数_Python 统计字数的思路详解
- Kindle的对手来了?华为首款鸿蒙墨水平板国行发布时间曝光...
- python人脸比对算法_Python的人脸识别,欧式距离比对,机器训练,人脸采集,离线识别...
- MySQL Study之--MySQL下图形工具的使用(phpMyAdmin)
- Android视频播放器
- hdu2203java_HDU2203(KMP入门题)
- 手机/微信/浏览器的字体设置太大,rem 计算不准确
- Mybatis缓存机制(一级缓存、二级缓存、三级缓存)
- 1091: 童年生活二三事(多实例测试)Python
- 月结GR/IR重分类
- Android 下实现APK加密功能
- android lrc 歌词view,自定义View强势来袭,用自定义View实现歌词显示控件下篇之自定义LyricView的实现...
- 面试相关材料--开放性问题回答和行为事件访谈型面试问题回答示例
热门文章
- 中国四大发明是公认的
- c++数独小游戏3.3
- 计算机网络基础知识满昌勇,-精选版《计算机网络》说课课件.ppt
- Power BI销售业绩分析
- 【Vue】Vue中mixins的使用方法及实际项目应用详解
- 线下实体店结合VR全景,让虚拟购物更加真实
- Windows10为什么无法将文件命名为aux,com1,com2,prn,con,nul等?
- 12步解N-S方程之第三步
- 安卓微信7.0版本的微信支付只支持拉起默认的微信,不支持应用双开的微信
- 常用校验算法(累加和、异或和)