苏嵌入日记4

学习日志4
姓名:沈菲 日期:2018.9.13
今日学习任务:
完成用c语言栈和队列的知识编写出停车场的程序。
今日任务完成情况:
在计算机内创建一个停车场的文件夹,再此文件夹中分别创建main.c,queue.c,park.c,park.h,stack.c五个文档,分别在这几个文档中编写程序。
上课按照老师的要求完成停车场的程序编写以及成功完成了编译与调试,编写500行代码。
1、 车辆出栈
2、 出去的进来
3、 等候队列进来
包括停车栈、让路栈、等候栈
今日开发中出现的问题汇总:
有些常用函数没有熟悉。
今日开发收获:
打代码速度有所提升,所犯的错误也变少了,对之前的知识点有了更深的印象先在计算机内创建一个停车场的文件夹,再此文件夹中分别创建main.c,queue.c,park.c,park.h,stack.c五个文档,分别在这几个文档中编写程序。
今日未解决问题:对停车战程序还不是很明白。
自我评价:
了解了基础项目编写的方法,便于以后编写程序。

main.c

include

include”queue.h”

int main()
{
int ret,i;
Q queue;

ret= InitQueue(&queue);
if (SUCCESS ==ret)
{
printf(“Init Success!\n”);
}
else
{
printf(“Init Failure!\n”);
}

for (i = 0; i<10;i++)
{
ret = EnterQueue(&queue,i +1);
if(ret ==FAILURE)
{
printf(“Enter Failure!\n”);
}
else
{
printf(“Enter %d Success!\n”,i +1);
}
}

for(i = 0; i< 5 ;i++)
{
ret = DelQueue(&queue);
if (ret == FAILURE)
{
printf(“Delete Failure!\n”);
}
else
{
printf(“Delete %d Success!\n”,ret);
}
}

ret = LengthQueue(queue);
printf(“Length is %d \n”,ret);
ret =ClearQueue(&queue);
if(ret==SUCCESS)
{
printf(“Clear Success!\n”);
}
else
{
printf(“Clear Failure!\n”);
}

ret = DestroyQueue(&queue);
if(ret==SUCCESS)
{
printf(“Destroy Success!\n”);
}
else
{
printf(“Destroy Failure!\n”);
}

return 0;
}

queue.h
#include "queue.h"
#include <stdlib.h>
int InitQueue(Q *q)
{
   if(NULL ==q)//
      {
   return FAILURE;
       } 
   q->data = (int *)malloc(sizeof(int) * MAXSIZE);
     if(NULL ==q->data)
        {
            return FAILURE;
       }
   q->rear = q->front = 0;

       return SUCCESS;
}
int EnterQueue(Q *q, int e)
{
   if(NULL == q)
    {
   return FAILURE;
    }
   if((q->rear +1)% MAXSIZE ==q->front) 
    {
       return FAILURE;
     }

   q->data[q->rear] = e;
   q->rear =(q->rear +1)% MAXSIZE;
       return SUCCESS;
}
int DelQueue(Q *q)
{
   if(NULL == q)
    {
    return FAILURE;
    }
   if(q->rear ==q->front) 
    {
       return FAILURE;
    }
   int e= q->data[q->front];
   q->front =(q->front +1) % MAXSIZE;
   return e;
}

int LengthQueue(Q q)
{
  return (q.rear - q.front + MAXSIZE )% MAXSIZE;
}
 int ClearQueue(Q *q)
{
 if(NULL == q)
 {
   return FAILURE;
  }
 q->rear = q->front;
 return SUCCESS;
}

 int DestroyQueue(Q *q)
{
 if(NULL == q)
 {
   return FAILURE;
  }
  free(q->data);
  q->data= NULL;
 return SUCCESS;
}

queue.h

ifndef QUEUE_H

define QUEUE_H

define MAXSIZE 10

define SUCCESS 1000

define FAILURE 1001

struct queue
{
int *data;//鎸囧悜瀵瑰ご鐨勫瓨鍌ㄧ┖闂? int front;//瀵瑰ご鎸囬拡
int rear;//闃熷熬鎸囬拡
};
typedef struct queue Q;

int InitQueue(Q *q);
int EnterQueue(Q *q, int e);
int DelQueue(Q *q);
int LengthQueue(Q q);
int ClearQueue(Q *q);
int DestroyQueue(Q *q);

endif

“`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在UE4中嵌入Web页面交互可以通过使用能够调用Web浏览器的插件或者使用浏览器内嵌模块来实现。 其中,一种常见的方法是使用UMG(Unreal Motion Graphics)来创建UI界面,并在UI界面中添加Web浏览器插件,这样就可以在游戏中嵌入Web页面。UE4提供了Web浏览器插件的支持,可以在UI界面中添加一个Web浏览器组件,并通过设置Web浏览器的URL属性来加载需要显示的Web页面。通过这种方式,可以实现在游戏内嵌入Web页面,并通过与Web页面的交互来实现一些功能。 另一种方法是使用浏览器内嵌模块,如CEF(Chromium Embedded Framework)来实现。CEF是一个开源的Web浏览器内嵌框架,可以在应用程序中嵌入一个完整的Chromium浏览器。在UE4中使用CEF可以实现更高级的Web页面交互功能,如与游戏内的物体进行交互、实时更新页面内容等。不过,使用CEF需要对C++编程有一定的了解,需要在代码层面进行一些配置和调用。 总之,无论是使用Web浏览器插件还是浏览器内嵌模块,通过在UE4中嵌入Web页面交互,可以在游戏中展示Web内容,并通过与Web页面的交互来实现更丰富的功能。这对于一些需要与互联网相关的功能、如在线排行榜、社交分享、在线购物等,都可以提供很大的帮助。 ### 回答2: 在UE4中嵌入Web页面交互可以通过使用Web浏览器组件来实现。这个组件允许在虚拟世界中加载和显示Web页面,并且可以与页面进行交互。 首先,在UE4的蓝图界面中创建一个新蓝图类,并添加一个Web浏览器组件。在蓝图中可以设置浏览器组件的大小、位置和URL等参数。 要加载Web页面,可以使用浏览器组件的Load URL函数,并指定要加载的页面的URL地址。加载完成后,页面将显示在虚拟世界中指定的位置。 为了能够与页面进行交互,可以使用蓝图中的事件和函数来调用页面中的JavaScript代码。例如,可以使用浏览器组件的Execute Javascript函数来执行JavaScript代码。在执行函数时,可以传递参数并接收返回值,从而实现与页面的双向通信。 此外,可以通过绑定事件来监听页面中的JavaScript事件。例如,可以使用浏览器组件的On BeforePopup事件来捕获页面中的弹出窗口事件,并根据需要进行处理。 需要注意的是,为了正常加载和显示Web页面,应该确保计算机上已安装了相应的浏览器插件或扩展。对于UE4的不同版本,可能需要额外的设置和配置,以确保嵌入Web页面交互的功能正常运行。 总之,通过使用UE4中的Web浏览器组件,并结合蓝图的事件和函数,可以实现在虚拟世界中嵌入Web页面并与其进行交互的功能。这为游戏开发者提供了更多的可能性,可以增强游戏的可玩性和互动性。 ### 回答3: UE4是一款功能强大的游戏开发引擎,它允许开发者将各种功能和元素嵌入到游戏中。当我们需要在UE4中嵌入web页面并实现交互时,我们可以采用以下步骤。 首先,我们需要在UE4中创建一个Web浏览器组件。UE4提供了一个名为WebBrowser的自带插件,我们可以通过将其添加到游戏中来轻松地实现这一点。这个组件可以在游戏中以2D或3D形式显示一个Web浏览器。 接下来,我们需要指定我们希望嵌入的Web页面。可以是一个已经存在的Web页面,也可以是一个即将开发的新页面。我们可以将要嵌入的页面链接或网址指定给WebBrowser组件,并在游戏中加载该页面。加载页面后,将会显示一个包含Web内容的浏览器窗口。 然后,我们需要实现UE4和Web页面之间的交互。在UE4中,我们可以使用蓝图或C++编写脚本来处理与Web页面之间的通信。通过使用WebBrowser组件提供的函数,我们可以向Web页面发送命令、获取返回值、监听Web事件等。同样地,我们也可以从Web页面调用UE4的函数或发送消息。 最后,我们需要确保我们的游戏在各种平台上正常工作。使用UE4嵌入Web页面时,我们需要在移动设备和桌面平台上进行测试和优化。这意味着我们需要确保WebView在不同设备上正确显示,并且交互功能在各种操作系统和浏览器中正常工作。 总结起来,通过将WebBrowser组件添加到UE4中,并实现UE4和Web页面之间的交互,我们可以实现在游戏中嵌入并与Web页面进行交互的功能。这为我们提供了更多的灵活性和创造力,使我们能够在游戏中实现各种有趣的功能,并与Web内容进行无缝链接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值