| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 21177 人关注过本帖, 3 人收藏
标题:C日记~立标记~
取消只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
端午回家~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-27 12:37
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
游戏编程对接受离散信息的加工处理要用到傅里叶变换这方面的知识~表示消化这块是一个漫长的过程~还是先看看怎么样处理简单的图层结构问题~

简单来说图层就是一个区域的多元信息参数~例如推箱子里面箱子的位置和目的地的位置可以叠加(刚开始用"重合"这个词~后来感觉用"叠加"表示更恰当)~表示在不同的图层里面~而人的位置和箱子的位置不能叠加~表示在同一个图层里面~


多元信息储存空间是可以变换的~可以通过一种映射找到元和其值的关系~

例如如果图层参数只用表示0或1来表示有或无的时候可以用二次方指数来标记各信息参数~这样可以通过其值的唯一组合来推测出该域到底储存了什么信息~不过考虑到不是所有信息都在不同的图层里面~单位信息参数值还可以通过其图层结构进行优化~



[此贴子已经被作者于2017-5-28 08:06编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 07:29
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
给一个简单的小练笔~怎么用一个16位数来记录一个俄罗斯方块的信息~~感觉这是处理信息问题的基础~~
如果要表示方向则可以用32位来表示(记得公开课是用一个char表示方向~或许这样会简单一点)~


[此贴子已经被作者于2017-5-28 09:11编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 08:08
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
写了个输入处理文件~这个可以防止输入数据出错而引发bug~不过是用动态处理的~~用完后记得释放空间~~~

程序代码:
#ifndef INPUT_DATA
#define INPUT_DATA

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#include<ctype.h>

#define BUFF_MAX 10  //最大缓冲区

void Input_UN_Int(char** );   //输入长无符号整数
void Absorb_Buffer(char** );  //对缓冲区残留数据进行处理

void Input_UN_Int(char** p)                //初始化数据
{
    char* pt=NULL;
    size_t length=0;

    pt=*p=(char* )malloc((BUFF_MAX)*sizeof(char));
    assert(*p!=NULL);
    memset(*p,0,sizeof(pt));

    while (isdigit(*pt=getchar()))
    {
        ++length;
        if (length%(BUFF_MAX-1)==0)
        {
            assert(realloc(*p,(length+BUFF_MAX)*sizeof(char)));
            memset(*p+length,0,BUFF_MAX*sizeof(char));

            pt=*p+length-1;
        }

        ++pt;
    }

    if (*pt=='\n')
    {
        *pt='\0';
        return ;
    }

    Absorb_Buffer(p);   //对缓冲区残留数据进行处理
}

void Absorb_Buffer(char** p)
{
    while (getchar()!='\n');

    free(*p);
    *p=strdup("");
}

#undef BUFF_MAX

#endif  


程序代码:
#include<stdio.h>
#include"Input.h"
int main()
{
    char* p1=NULL;
    char* p2=NULL;

    Input_UN_Int(&p1);
    Input_UN_Int(&p2);

    puts(p1);
    puts(p2);

    free(p1);
    free(p2);

    return 0;
}


[此贴子已经被作者于2017-5-28 21:56编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 21:28
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 120楼 renkejun1942
realloc这个函数没咋用~多谢提醒啦~
assert(realloc(*p,(length+BUFF_MAX)*sizeof(char)));

下次这个地方要注意一下才行~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 21:44
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 120楼 renkejun1942
所以我就是说~难怪用realloc后原来指向内存块里面的指针都不会变~得要重新把malloc里面的指针调整到相应的位置才行~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 21:51
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 123楼 renkejun1942
好的~这里我注意一下~~~

还有突然发现了可以为内部函数加个关键字staitc 修饰~这样就可以限定该函数只能在本文件使用~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-28 22:09
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
&renkejun1942

记得你之前曾经写过模拟printf函数~~那个涉及到可变长度函数参数~~能不能找些可变长度函数参数的示例看看~

还有~数据结构有广义表这块么~~好像我暂时在教材里面没有发现~有时间还是要看看才行~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-29 01:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 127楼 renkejun1942
上网搜过一下广义表~还真的有耶~还有详细解释~这个我也是听一个朋友偶然提起的~

PS~广义表还涉及到和原子相关的概念~

[此贴子已经被作者于2017-5-29 10:43编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-29 10:42
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
今晚公开课俄罗斯方块~这个打算听一下~看看一个俄罗斯方块是不是用unsigned short两个字节 表示~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-29 19:52
快速回复:C日记~立标记~
数据加载中...
 
   



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

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