| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 286 人关注过本帖
标题:编程趣味俄罗斯方块的时候出的问题
只看楼主 加入收藏
子冉冰清
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-8-8
结帖率:0
  已结贴   问题点数:20  回复次数:7   
编程趣味俄罗斯方块的时候出的问题
#include<stdio.h>
#include<windows.h>
#include<conio.h>
#include<time.h>

#define FrameX 13
#define FrameY 3
#define Frame_height 20
#define Frame_width  18

int i,j,Temp1,Temp2;
int a[80][80]={0};//0,1,2
int b[4];
struct Tetris
{
    int x;//横坐标的值
    int y;//纵坐标的值
    int flag;//定义俄罗斯方块类型的序号
    int next;//定义下一个俄罗斯方块类型的序号
    int speed;//定义俄罗斯方块移动的速度
    int number;//定义俄罗斯方块的数量
    int score;//定义俄罗斯方块游戏的分数
    int level;//定义游戏的等级
};

 HANDLE hOut;//控制台HANDLE应用程序

/******函数声明*****/
int color(int c);                //控制台中的文字颜色
void gotoxy(int x,int y);        //光标移动到指定位置
void DrawGameframe();            //绘制游戏边框
void Flag(struct Tetris *);        //随机产生俄罗斯方块类型的序号
void MakeTetris(struct Tetris *);//制作俄罗斯方块
void PrintTetris(struct Tetris *);//打印俄罗斯方块
void CleanTetris(struct Tetris *);//消除俄罗斯方块的痕迹
void ifMove(struct Tetris *);    //判断是否能移动,返回值为1,可以移动,否则不可以移动
void Del_Fulline(struct Tetris *);//判断是否满行,并删除满行的俄罗斯方块
void Gameplay();                //开始游戏
void regulation();             //游戏规则
void explation();                //按键说明
void welcome();                    //欢迎进入
void Replay(struct Tetris *);    //重新开始游戏
void title();                    //欢迎界面上方的标题
void flower();                    //欢迎界面上的字符装饰花
void close();                    //退出游戏
 
 
 
 /*
 控制文字颜色
 */
 int color(int c)
 {
     SetConsoleTexAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
     return 0;
 }
 
 
  /*
 控制文字显示位置
 */
 void gotoxy(int x,int y)
 {
     COORD pos;
     pos.X=x;
     pos.Y=y;
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
 }
 
 
   /*
 欢迎界面上的标题
 */
 void title()
 {
     color(15);
     gotoxy(24,3);
     printf("趣 味 俄 罗 斯 方 块\n");
     color(11);
     gotoxy(18,5);
     printf("■");
 }
 
 
 int main()
 {
     title();
 }


附件: 您没有浏览附件的权限,请 登录注册
2018-08-08 11:32
子冉冰清
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-8-8
  得分:0 
有没有大神指导这个该怎么解决?
2018-08-08 11:33
no1xijin
Rank: 6Rank: 6
来 自:江西
等 级:侠之大者
威 望:1
帖 子:86
专家分:478
注 册:2015-7-8
  得分:5 
控制文字颜色 函数里的API名少了一个t,正确写法如下:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
2018-08-08 13:45
kfyniriu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:52
专家分:192
注 册:2018-7-6
  得分:5 
Set Console Text Attribute (GetStdHandle(STD_OUTPUT_HANDLE), c)
翻译过来是(空格是方便理解):
设置 控制台 文本 属性

(GetStdHandle(STD_OUTPUT_HANDLE), c)  //获取标准输出句柄

可以设置:

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE)

SetConsoleTextAttribute(hOut, c)
2018-08-08 18:51
子冉冰清
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-8-8
  得分:0 
回复 2楼 子冉冰清
谢谢大佬的指点
2018-08-10 22:27
子冉冰清
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-8-8
  得分:0 
回复 3楼 no1xijin
谢谢大佬的指点
2018-08-10 22:28
张哈哈nice
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2018-8-10
  得分:5 
厉害
2018-08-10 22:44
小菜鸟fanfan
Rank: 2
等 级:论坛游民
威 望:1
帖 子:42
专家分:36
注 册:2016-1-23
  得分:5 
运行时闪退是什么鬼
2018-08-12 18:07







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031197 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved