c语言编俄罗斯方块有注释,C语言学习1年-俄罗斯方块(无注释)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include 

#include 

#include 

#include 

#include 

int randtmp=3,i,j,p,q,fx,fy,s,t,c,r,dltm,begin=0,fq,k,a,sj,score=0;

int dla=32000;

int nx[5],ny[5],h[5],m[25];

int x[8][4]={

0,0,0,0,

0,-2,-1,0,

0,0,1,2,

0,0,0,0,

0,-1,0,1,

0,0,1,1,

0,-1,0,1,

0,-1,0,1,

};        int y[8][4]={

0,0,0,0,

0,0,0,1,

0,1,0,0,

0,1,2,3,

0,0,1,0,

0,1,0,1,

0,1,1,0,

0,0,1,1,

};

display(int i,int t){

for(j=0;j<4;j++){

textcolor(i);

q=fy+y[i][j];

p=fx+x[i][j];

gotoxy(p,q); putch(t);

}

}

turn(){

for(j=1;j<4;j++){

c=x[i][j]; x[i][j]=-y[i][j]; y[i][j]=c;

}

test();

if (s==0) return;

for (j=1;j<4;j++){

c=y[i][j]; y[i][j]=-x[i][j]; x[i][j]=c;

}

}

full(){

int fj=0,yj;

for(j=0;j<4;j++){

yj=fy+y[i][j];

m[yj]++;

if(m[yj]==12)  fj=1;

}

if (fj==1) {kill();}

}

kill(){

char tm[2],tf,z,k=0;

for(z=23;z>4;z--){

if (m[z]==12){k++;

for(q=z-1;q>4;q--){

for (p=11;p<=22;p++){

gettext(p,q,p,q,&tm);

tf=tm[0];

if(tf==32){

gotoxy(p,q+1);

printf(" ");

}else{gotoxy(p,q+1);putch(219);}

}

m[q+1]=m[q];

} z++;

}

}

if(k==1) score++;

if(k==2) score+=3;

if(k==3) score+=7;

if(k>=4) score+=13;

}

test(){

char tmp[2];

s=0;

for(j=0;j<4;j++){

q=fy+y[i][j];

p=fx+x[i][j];

gettext(p,q,p,q,&tmp);

if(tmp[0]!=32) s=1;

}

}

left(){

int ox;

display(i,32);

ox=fx;

fx--;

test();

if(s==1) fx=ox;

display(i,219);

}

right(){

int ox;

t=32;

display(i,t);

ox=fx;

fx++;

test();

if(s==1) fx=ox;

t=219;

display(i,t);

}

inkey(){

int k;

if(kbhit()){

k=getch();

if(k==27) exit(0);

if(k==0){

k=getch();

switch(k){

case 77: right(); break;

case 75: left();  break;

case 72: turn();

break;

case 80: dla=8888;           break;

}

}

}

}

levelchooser(){

int level;

printf("\n\n\n\n\n\nWelcome Please:");

printf("\nINPUT LEVEL[Difficult=1 Normal=2 Easy=3]:");

scanf("%d",&level);

if(level<=1){dla=20000;dltm=dla;}

if(level==1){dla=20000;dltm=dla;}

if(level==2){dla=40000;dltm=dla;}

if(level==3){dla=60000;dltm=dla;}

if(level>=3){dla=60000;dltm=dla;}

clrscr();

begin=1;

}

over(){

int c,a;

textcolor(3);

for(i=1;i<=24;i++){

for(c=1;c<=40;c++){

textcolor(i);

delay(3200);

gotoxy(c,i);

putch(219);

}

}

for(a=1;a<=24;a++){

gotoxy(5,a);

delay(32000);

for(c=1;c<=40;c++){

textcolor©;

gotoxy(c,a);

putch(219);

}

}

delay(32000);

exit(0);

}

func(){

while(1){

i=randtmp;

randtmp=rand()%7+1;

fx=9;fy=2;

gotoxy(1,2);printf("NEXT:");

display(randtmp,219);

fx=16;fy=5;

while(1){

test();

if((s==1) && (fy==5)) {

over();

}

inkey();

display(i,219);

delay(dla);delay(dla);delay(dla);

display(i,32); fy++; test();gotoxy(12,1);printf("score=%d",score);

if(s==1){

fy--;

display(i,219);

full();

fx=9;fy=2;

display(randtmp,32);

fy=5;

fx=16;

dla=dltm;

break;

}

}

}

}

box(){

gotoxy(11,12);

for(i=4;i<=23;i++){

m[i]=0;textcolor(i);

gotoxy(10,i);

putch(219);

gotoxy(23,i);

putch(219);

}

for(i=10;i<=23;i++){

textcolor(i);

gotoxy(i,24);

putch(219);

}

fx=16;

fy=5;

}

main(){

int e1,e2;

union REGS r;

textmode(C40);

clrscr();

levelchooser();

randomize();

r.x.ax=0x0100;

r.x.cx=0x2000;

int86(0x10,&r,&r);

box();

func();

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体

使用 ControllerAdvice 和 实现ResponseBodyAdvice接口&#xff0c; 拦截Controller方法默认返回参数&#xff0c;统一处理返回值/响应体 1、Controller代码 以下是Controller方法源码&#xff1a; RestController RequestMapping("/manage/user") public class Te…

c语言中字符占用的存储单元,C语言知识点第1章.doc

C语言知识点第1章C语言知识点总结(二) 第八节 字符字符常量定义&#xff1a;一对单引号括起来的一个字符。如‘A’、‘a’、‘9’相应字符对应的ASCII编码值(见附录四)字符常量占用一个字节的存储单元(一个字节占8位)重点&#xff1a;表 C语言中常见的转义字符字符形式意义字符…

Spring的@ExceptionHandler注解使用方法

文章目录1&#xff0c;基本使用方法2&#xff0c;注解的参数3&#xff0c;就近原则4&#xff0c;注解方法的返回值5&#xff0c;错误的操作1&#xff0c;基本使用方法 Spring的ExceptionHandler可以用来统一处理方法抛出的异常&#xff0c;比如这样&#xff1a; ExceptionHan…

c语言dfs算法全排列代码,c语言dfs解决全排列问题

如1,2,3三个元素的全排列为&#xff1a;1,2,31,3,22,1,32,3,13,1,23,2,1共3*2*16种代码简单实现n个元素的全排列#include #define N 5int a[100];//存放数字序列int mark[100];//判断数字是否使用过,mark[3]1表示3这个数字能用int count;void dfs(int i,int a[N]);int main(int…

CAS单点登录详细流程

一、CAS简介和整体流程 CAS 是 Yale 大学发起的一个开源项目&#xff0c;旨在为 Web 应用系统提供一种可靠的单点登录方法&#xff0c;CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点&#xff1a; 【1】开源的企业级单点登录解决方案。 【2】CAS Server 为…

android 图片自动拉伸,解决关于ImageView自适应的问题(拉伸变形,图片模糊)

今天接手一个项目发现有个地方的图片显示非常小&#xff0c;而且还不够清晰&#xff0c;也没办法自适应屏幕的显示&#xff0c;非常的影响美观&#xff0c;于是 就像这优化一下。先看看优化前的效果和优化后的效果。修复后修复前布局文件修复前&#xff1a;修复前布局文件修复后…

redisTemplate.opsForValue()中方法讲解

查看源码可以看到redisTemplate.opsForValue()中的方法都定义在ValueOperations<K, V> 中&#xff0c;该接口中一共有17个方法&#xff1a; public interface ValueOperations<K, V> {void set(K key, V value);void set(K key, V value, long timeout, TimeUnit …

android获取未知字符串,android – 未知的URL内容:// downloads / my_dow...

我正在使用Download Manger下载一些多媒体文件并对其进行分类.我也在使用Crashlytics,这是一个错误,我经常在不同的设备和Android版本上得到它.我正在寻找你的解决方案/建议&#xff01;java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloadsat a…

spring boot配置dubbo(properties)

spring boot与dubbo配置(properties) dubbo和zookeeper配合使用&#xff0c;具体的它们之间的配置这里不说了。 一、spring boot与dubbo配置有两种方式&#xff1a; 1&#xff09;spring boot在自己的配置文件application.properties 配置dubbo。&#xff08;本篇主要说这个&…

spring boot配置dubbo(XML)

上一篇写的是spring boot在自己的properties配置文件中简单配置dubbo的步骤&#xff0c;那种配置有很多的功能&#xff08;比如超时时间、是否检查&#xff09;等等&#xff0c;配置起来也挺麻烦的&#xff0c;而我们也习惯传统的那种XML形式的dubbo配置。 这一篇写的是spring…

android线程优先级大小,android 设置线程优先级 两种方式

1) android.os.Process.setThreadPriority (int priority)或android.os.Process.setThreadPriority (int tid&#xff0c; int priority)priority&#xff1a;【-20&#xff0c; 19】&#xff0c;高优先级 -> 低优先级.(2)java.lang.Thread.setPriority (int priority)prior…

spring boot配置dubbo注意事项

spring boot配置dubbo注意事项 通过前两篇文章&#xff0c;知道了spring boot配置dubbo有两种方式。具体请回顾前两篇文章吧。 现在主要是说下spring boot在自己的application.properties 文件里配置dubbo内容&#xff0c;这种方式遇到的问题。 问题一&#xff1a;dubbo接口…

spring boot配置mybatis和事务管理

spring boot配置mybatis和事务管理 一、spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下&#xff1a; <!-- Spring Boot 启动父依赖 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spr…

android hud sdk,Android HUD SDK | 百度地图API SDK

简介为了给用户提供更安全优质的服务&#xff0c;LBS开放平台针对Android平台的SDK产品引入Key认证机制&#xff0c;用户在使用之前需要先申请配置Key&#xff0c;并在程序相应位置填写您的Key。Key机制&#xff1a;每个Key仅且唯一对于1个应用验证有效&#xff0c;即对该Key配…

spring boot配置druid(德鲁伊)

spring boot配置druid(德鲁伊) 关于druid的介绍请看 阿里巴巴温少访谈 1.引入相关依赖&#xff0c;全部依赖是上一篇spring bootmybatis依赖的基础上&#xff0c;再加上下边的依赖&#xff0c;如下&#xff1a; <!-- Druid数据库连接池组件 --> <dependency><…

spring boot----简单入门

Spring Boot其实就是spring,为了简便spring框架的搭建&#xff0c;快速开发项目而推出的另一种方式。使用spring boot&#xff0c;搭建框架将变得特别快。可以有更多的时间在代码性能上优化了。 一、Spring Boot个人感觉的优点: ​ 1&#xff09;搭建一个简单运行的框架很快&…

android中给button加图标,Android,如何在我的代码中的TabButton中添加图标

在这里,我制作了5个工作正常的Tab按钮,但现在我想为每个Tab添加图标,如何相对于Tab按钮添加Tab图标….请指导/帮助我.我第一次使用stackOverflow,请告诉我在发布此代码时是否错过了任何步骤…提前致谢package com.vishesh.soapbox;import android.app.TabActivity;import andro…

android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版

好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版书法字体2017.06.23css压缩分享一款好用的JS混淆加密工具:HDS JSObfuscator 2.14版&#xff0c;HDS JSObfuscator兼顾了JS压缩、JS混淆和JS加密三大功能。js加密工具的主要作用就是为了保护Javascript代码&#xff0c…

Maven 建立父子项目和跨项目调用内容的步骤

使用Maven管理项目&#xff0c;同时我们是做微服务&#xff0c;所以对于微服务项目来说&#xff0c;使用Maven建立起一个父子项目这种关系&#xff0c;很方便管理&#xff08;只是个人感觉&#xff09; 设计层面 &#xff08;1&#xff09;服务端和客户端肯定是分开写的&…

android支付宝运动修改器,一键修改支付宝运动步数-修改支付宝运动步数工具下载不要root手机版-西西软件下载...

修改支付宝运动步数工具是一款支付宝运动步数修改工具和教程,QQ微信也可以修改&#xff0c;最近在支付宝中推出了各种运动活动&#xff0c;很多朋友表示想要直接刷步数&#xff0c;不想去亲自运动来增加步数。那么下面手机乐园水银师小编就为大家介绍了支付宝快速刷步数的方法&…