俄罗斯方块

Labview学习之贪食蛇

北城余情 提交于 2020-08-08 12:07:09
Labview学习之贪食蛇 学习Labview基础之后的第二个练手项目——贪食蛇;写起来个人感觉比俄罗斯方块稍微简单一些。主要是一个图片二维数组作为一个游戏界面。蛇身是一个存放二维数组坐标的二维数组,食物是一个二维数组坐标。用户操作也只是对数组的操作。 主要的VI包括 生成蛇身 生成食物 绘制蛇身 绘制食物 吃到食物 还有主程序 如下: (本来还有方向控制的子VI后来直接放到了主程序VI里面) 先来看下主程序: 主程序先初始化界面,食物 蛇身及其他。 界面中有操作按钮控制上下左右,但鼠标实际操作并不舒服,所以添加了键盘的上下左右响应。 生成蛇身的VI: 此程序为贪食蛇的核心部分,写的时候还是思索了一会。主要还是对数组的操作。 生成食物VI: 通过蛇身的位置坐标,生成不与之冲突的食物坐标。 绘制蛇身 绘制食物: 蛇身为绿色 食物为红色 吃到食物: 通过食物坐标与蛇头坐标重叠判断是否吃到食物 判断死亡: 以上即是全部。 运行时:(可使用键盘控制方向) CSDN下载地址: https://download.csdn.net/download/qq_21877047/12689450 百度云:链接: https://pan.baidu.com/s/14hxeLzfc47f8GoW6QIqIjA 提取码: 63g8 来源: oschina 链接: https://my.oschina.net

【Java游戏】java俄罗斯方块!

拈花ヽ惹草 提交于 2020-08-04 13:35:33
目录 一、心得 二、游戏实例 三、代码 一、心得 在学习Java的过程中,难免会遇到很多的问题,这些问题可能会困扰你许久,为此我有个Java学习交流群( 925050116 ),里面都是CSDN的小伙伴,大家互相学习互相交流共同进步,每日分享不同的学习资料。 点击获取更多素材游戏源码!! 百度盘链接 链接:http://pan.baidu.com/s/1mhQ9SYc 密码:9ujo 二、游戏实例 游戏截图 目录结构 三、代码 1、主界面 Tetris.java package com.hsj.tetris; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; /** * 俄罗斯方块游戏面板 * */

imos-累积和法

不打扰是莪最后的温柔 提交于 2020-07-28 17:31:42
在解 AOJ 0531 Paint Color 时,学到了一个累积和的妙用——imos法,由于原文是日语,所以特意翻译过来。值得一提的是,作者Kentaro Imajo跟鄙人同龄,却已取得如此多的成就,而鄙人一无所成,实在汗颜。 imos法 imos法是将累积和算法拓展到多次元、高次空间的方法。虽然程序竞赛中出题最多不过2次元1次,但是2012年Kentaro Imajo将其用于高次元高次空间,在信号处理/图像处理领域取得了成就。 基础imos法 最简单的imos法是1次元0次系数的求解思想。如图,有三个俄罗斯方块在一起,悬空的部分会掉下去,求从左到右的高度?这个高度就是横坐标固定时,上面矩形高度之和。这就是最简单的imos法。 例题 你在经营一个咖啡厅,你的咖啡厅里每个客人在S_i时刻进店,E_i时刻出店。求店里最多有多少客人?(客人最多C个,时刻在T内。如果有多人同时进店出店,先算出店的人)。 朴素的解法 朴素的思想是,计算每个时刻客户的数量,从中找出最大值。但是,复杂度是 \(O(CT)\) #include <iostream> #include <algorithm> using namespace std; #define C 4 #define T 10 // 每个客人的进入时间 int S[C] = { 1, 3, 5, 7 }; // 每个客人的离开时间 int

我罗斯方块汇报(1)

坚强是说给别人听的谎言 提交于 2020-07-27 01:21:16
我罗斯方块汇报(1) 这个作业属于哪个课程 2020面向对象程序设计张栋班 这个作业要求在哪里 我罗斯方块汇报(1) 这个作业的目标 汇报自己这个阶段的开发进度 讲述自己遇到的问题和尝试解决的方法和最后的结果 制作一篇开发日记 作业正文 https://www.cnblogs.com/Misanthropel/p/12822414.html 小组成员 031902619吴俊玮 031902626许叶源 参考资料 https://blog.csdn.net/liluo_2951121599/article/details/66474233 git地址 https://github.com/xyyuan1/Tetris 开发进度 目前在四个类中:方块,玩家,游戏,渲染 方块:生成方块,打印方块,清除方块基本完成,还有待测试 渲染:目前选择用控制台渲染,已经初步完成控制台界面的绘制 玩家和游戏类由于比较复杂目前还未进行 开发难题 双人模式开发中,目前对于双人玩家各自的操作需要写各写一个函数来处理,无法做到统一,比如两个玩家的地图map1和map2的操作,极其复杂,一旦放在一个函数中,在光标位置生成方块就会受到影响。 方块的坐标x,y与控制台光标位置相反,在函数中计算光标位置比较难处理,对后续函数影响较大 函数太多又相互关联,放在不同类中的调用难实现,不是很会写 开发日记

我罗斯方块阶段报告(1)

社会主义新天地 提交于 2020-07-26 12:16:09
作业描述 详情 这个作业属于哪个课程 2020面向对象程序设计 这个作业要求在哪里 我罗斯方块汇报1 这个作业的目标 -汇报自己这个阶段的开发进度。(完成了哪几个模块) -讲述自己遇到的问题和尝试解决的方法和最后的结果(解决与否) -制作一篇开发日记,例子如此,描述自己开发某一个模块的过程 作业正文 我罗斯方块阶段报告(1) 其他参考文献 小组成员 031903146 罗佳昱 031903144 李雨情 111900811 林杞垒 开发进度 本组设计涉及到四个类:方块类(Mino)、玩家类(Player)、渲染类(Tetris)、游戏类(Game) 方块类(Mino): 目前已经完成方块的显示、擦除、方块的旋转以及随机生成,方块的下落和垃圾行的生成还未完成 玩家类(Player): 两个玩家键盘响应已完成 渲染类(Tetris): 完成首界面、欢迎界面以及游戏界面,光标移动控制,增加了对方块的颜色设置 游戏类(Game): 考虑到双人对战(只要有玩家方块触顶,对方就获胜),打算不设置游戏计分。(如果双方玩家都比较厉害,后期可以考虑阶段下落速度提升) 开发难题 一、线程问题,游戏中若采用单线程,在双方玩家的信息传递,时间控制上容易出现问题。而采用双线程,难点在于两个线程彼此需同步调配。两个玩家均同从键盘按键中获取键值进行相应操作,要避免二者相互冲突,还需引进临界区变量。 二

分享几个有趣的Python小项目

我与影子孤独终老i 提交于 2020-05-06 18:52:13
一.经典的俄罗斯方块 1.绑定功能 # 绑定功能 class App ( Frame ) : def __init__ ( self , master ) : Frame . __init__ ( self ) master . bind ( '<Up>' , self . Up ) master . bind ( '<Left>' , self . Left ) master . bind ( '<Right>' , self . Right ) master . bind ( '<Down>' , self . Down ) master . bind ( '<space>' , self . Space ) master . bind ( '<Control-Shift-Key-F12>' , self . Play ) master . bind ( '<Key-P>' , self . Pause ) master . bind ( '<Key-S>' , self . StartByS ) # rgb颜色值 self . backg = "#%02x%02x%02x" % ( 120 , 150 , 30 ) #大背景 self . frontg = "#%02x%02x%02x" % ( 40 , 120 , 150 ) #下一个形状颜色 self . nextg =

C++轮子队-软件需求规格说明书

可紊 提交于 2020-05-06 00:19:33
团队Github项目仓库 软件规格需求说明书 引言 编写目的 软件规格需求说明书书了“2048俄罗斯方块”1.0版本的软件功能性需求和非功能性需求。 文档约定 描述编写文档时所采用的标准或排版约定,包括正文风格,提示区或重要符号。例如,说明高层需求的优先级是否可以被所有细化分需求所继承,或者每个需求陈述是否都有优先级。 读者对象和阅读建议 该软件需求规格说明书针对开发人员、测试人员等,用于开发初期确定软件的系统设计,详细设计。本文内容包括面向用户分析、功能性需求、技术需求,阐述了系统的真实性、可用性以及价值所在。 项目范围 “2048俄罗斯方块”是在软件工程第三次大作业由C++轮子队提出来的一个项目,主要目的是供队员学习软件工程的开发过程,并通过此次开发,对C++掌握更加牢固。该游戏软件适用于大多数学生和上班族打发零散的空闲时间。 预期用户数量 我们预计的用户数量是1000人以上。 总体描述 产品前景 “2048俄罗斯方块”1.0版本是由微信小程序“我的方块2048”的改进版,增加了一些新的功能来吸引更多用户。 产品的简述 游戏规则:合并相同数字方块,合成2048或更大数字获得胜利,格子填满或方块超出上界游戏失败 得分规则:合成块对应分值 - 游戏时间 具体操作:左右控制方块移动,下键使悬空方块立刻落下 真实性 2048和俄罗斯方块都是两款很火很有意思的游戏,相信两者的结合体

SDOI 2019 R1 摸鱼记

那年仲夏 提交于 2020-05-02 18:36:56
Day -1 学文化课第一天,也是这周最后一天。 昨晚 mxl 让我们今天下午放学走,大概六点的样子,感觉良好。 早读班主任送来请假条,跟我讲中午放学走??? 很懵逼,以为班主任口胡了,问了一句“上午放学吗”。然后 tm 即刻后悔。 班主任就问我,结果口胡着改成下午了…… 亏了一个亿。 于是就大家一起合计一下,觉得这不能吃亏…… 就中午一起跑路了…… 跑路了。 (心慌下周回来可能会被锤。) 然后就回家打 ff14,部队长慷慨的施舍我 100w!于是就买了一些时装幻化来穿…… 详见空间。 并没有学习甚至感觉玩的很爽(。   Day 0 早起继续清了一波 ff14 日常,然后中午去坐车。 大家都在打电脑,可我的电脑不插电源开不开机…… 于是睡了一路终于到了。 山师的景色不错,有花有草,还蛮暖和的,还看到了从根部就开始分叉的樱花树…… 惊了。 漂亮姐姐喜欢,短发帅气姐姐喜欢,JK 喜欢,誰でも大好き。 到了宾馆就颓废,俄罗斯方块好玩,我能连玩 3+ hours。 晚上吃饭永远是出去学习不变的拉面 233。 不知道为什么这种大型考试总没有紧张感,也许算是好事吧 (nmd 总是考完才心态爆炸) 。   Day 1 早起到山师附中抽考号,进考场考试。 T1 暴力分好多诶,T2 不可做,T3…… nmd 这是啥? 打过 T1 暴力,看 T3,绝望了之后闲的没事按计算器…… 19 * 19…… =

Codeforces Round #627 (Div. 3)【ABCDEF】(题解)

人盡茶涼 提交于 2020-05-02 12:04:05
[toc] 涵盖知识点:思维、dp、树形dp。 比赛链接: 传送门 A - Yet Another Tetris Problem 题意: 俄罗斯方块 题解: 判断所有数的奇偶性 Accept Code: #include <bits/stdc++.h> using namespace std; const int maxn=110; int a[maxn]; int main(){ int t; cin>>t; while(t--){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } bool flag=true; int base=a[1]&1; for(int i=2;i<=n;i++){ if((a[i]&1)!=base){ flag=false; break; } } puts(flag?"YES":"NO"); } return 0; } B - Yet Another Palindrome Problem 题意: 问能否找一个子序列,其为长度为3的回文串 题解: 两个相同数中间还有任意的数字即可。 **Accept Code:**写的有点丑。。。讲道理$n^2$扫一遍就完事了 #include <bits/stdc++.h> using namespace std; const int maxn=5050; int

科技爱好者周刊:第 104 期

自闭症网瘾萝莉.ら 提交于 2020-04-28 12:32:33
这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly ),欢迎提交 issue,投稿或推荐你的项目。 [通知] 下周五是五一假期,周刊会提前一天在周四(4月30日)发布。 封面图片 美国阿拉斯加州举行的巨型卷心菜比赛,前三名合影。第一名(中间那颗)重达41.9公斤。( 出处 ) 本周话题:语音合成的用途 谷歌2018年发表了 一篇论文 ,只需要5秒的真人语音,就可以提取语音特征,然后任何文本都可以转成该人的语音。 上面的链接有这种技术合成的很多语音示例,大家可以去听一下,很惊人。 这种技术要是推广开来,其实挺危险的。我知道一件真人真事,一个同事有一天接到诈骗电话,声称他的小孩被绑架了,要求支付赎金。当然他没有上当,但是如果那些骗子用了谷歌的这种技术,电话里播放一段他儿子的合成语音,恐怕就很容易相信了。 我还想到一个用途。以后人死了,他的声音还活着,结合人工智能,就可以跟死去的人进行虚拟对话了。 美国作家菲利普·迪克写过一本科幻小说《尤比克》(Ubik)。他想象在未来世界,人死后还可以继续以脑电波的形式"存活"一段时间。人们将死去亲友的身体冷冻保存在亡灵馆,活人通过脑电波装置与亡灵的脑电波"对话"。 我觉得,现有的技术已经可以实现这个预言了。一个人的生理特征、行为习惯、写过的文章、说过的话,都可以输入计算机生成模型(英语叫做 avatar