计算残影占用的字符的位置问题,是如何通过运用C语言的程序的代码编写的技术的方式去解决的

Problem Description
有一名大三的同学,他的速度是众所周知的,跑100米仅仅用了2秒47,在他跑步过程中会留下残影的哎,大家很想知道他是谁了吧,他叫仙人球,既然名字这样了,于是他的思想是单一的,他总是喜欢从一点出发,经过3次转折(每次向右转90°),回到出发点,而且呢,他每次转折前总是跑相同长度的路程,所以很多人都想知道如果用‘1’算他跑步出发的第一个残影的话,那么回到起点的时候,他的残影是怎么样的呢?

Input
测试数据有多行,每一行为一个数N(1<=N<=10)(以0结尾,0不做处理),即仙人球在没有回到起点的时候,跑过留下N个残影后突然90°右转。

Output
每组测试数据输出一个结果,并且每个残影的计数位长度为3个字符长度。(当然N等于1的话,它的结果也是占用3个字符位置的)

Sample Input
4

Sample Output
1 2 3 4
12 5
11 6
10 9 8 7

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C - 仙人球的残影
在美丽的HDU,有一名大三的同学,他的速度是众所周知的,跑100米仅仅用了2秒47,在他跑步过程中会留下残影的哎,大家很想知道他是谁了吧,他叫仙人球,既然名字这样了,于是他的思想是单一的,他总是喜欢从一点出发,经过3次转折(每次向右转90°),回到出发点,而且呢,他每次转折前总是跑相同长度的路程,所以很多人都想知道如果用‘1’算他跑步出发的第一个残影的话,那么回到起点的时候,他的残影是怎么样的呢?...
鼠标残影的问题
怎样做鼠标的残影效果rn即鼠标移动时rn根据鼠标的轨迹和移动速度显示不同的图片rn谁能提供一些想法
残影问题
一个对话框程序。问题是在将一个窗口在该对话框前最大化最小化,或者在上面拖动后,窗口图像内容就留在上面了。rnrn正常rn[img=http://hi.csdn.net/attachment/201107/11/9957802_1310381851ZZzw.jpg][/img]rnrn残影rn[img=http://hi.csdn.net/attachment/201107/11/9957802_131038166979Kj.jpg][/img]rnrn[code=C/C++]void CmediaCutterDlg::OnPaint()rnrn rn rn if (IsIconic())rn rn CPaintDC dc(this); // 用于绘制的设备上下文rn SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);rn // 使图标在工作区矩形中居中rn int cxIcon = GetSystemMetrics(SM_CXICON);rn int cyIcon = GetSystemMetrics(SM_CYICON);rn CRect rect;rn GetClientRect(&rect);rn int x = (rect.Width() - cxIcon + 1) / 2;rn int y = (rect.Height() - cyIcon + 1) / 2;rn // 绘制图标rn dc.DrawIcon(x, y, m_hIcon);rnrn rn elsern rn rn CDialog::UpdateWindow();//1不Update的话有前景覆盖图片后无法显示rnrn ShowImage( TheImage, IDC_ShowImg );//2rn //Invalidate();rn CDialog::OnPaint();rn rn rn[/code]rnrnShowImage函数里面主要调用一个opencv函数DrawToHDC( hDC, &rect );画图感觉关系不大rn希望哪位从机制上解释下原因,并提下解决方案,谢谢。
残影问题!
移动后如何刷新程序里面的图象,用什么函数
在拖动的时候出现残影,如何解决
功能像QQ列表中拖动好友,但是QQ却不出现残影rnrn分组的颜色变换很正常rnrn但是我做的这个功能却有块残影覆盖在上面,不知道如何去除,谢谢
残影的效果是怎么做的??
残影的效果是怎么做的??rn我说的不是那种用好几层的那种
Android-UI-解决动画残影问题
AnimationSet+TranslateAnimation写一个平移动画,动画过程出现控件残影,Duration越长残影越明显。 AnimationSet set = new AnimationSet(true); /** * 1 - 2 个参数表示x轴的类型和位置 * 3 - 4 个参数表示y轴的类型和位置 ...
怎么解决win7系统残影问题
win7系统因有着华丽的操作界面,俘获了不少注重系统外观美化的用户们的心。但近日来有少数win7系统使用者遇到有关于win7残影的问题,令他们苦恼万分。那么怎么解决win7系统残影的问题呢?接下来跟着小编来看看是如何取消桌面残影效果的。      1.使用鼠标右击桌面上的“计算机”找到“属性"选项;如下图所示:      2.接着在出现的窗口左边找到”高级系
如何消除窗口的残影
以A窗口为背景创建B窗口,B窗口关闭后紧接着一段耗时的程序,rn这时,B窗口的残影会一直覆盖着A窗口直到那段耗时程序结束。遇到rn这种情况时,若Delphi可以在那段耗时程序前调用Application.ProcessMessagesrn消除B窗口的残影,不知JAVA有没有类似的方法。rn
去字符位置的问题
10M的文件按0.5M的大小读如缓存。查找该文件里指定字符的位置。打印在屏幕或保存为一个新文件。我想这样。但是还不行。rn#include rn#include rn#include rn#include rn#include rnrnvoid main() rn rnchar buf1[5000]; rnchar buf2[5000]; rnchar buf3[5000]; rnFILE* zk1=NULL; rnFILE* zk3=NULL; rnchar* z1=NULL; rnchar* z2=NULL; rnchar* z3=NULL; rnint a1=0; rnint a2=0; rnint a3=0; rn/*char _char;/*指定要查找的字符内容*/rn/*char tmp;*/rnzk1=fopen("c:\\test.txt","r"); rnrnfseek(zk1,0,SEEK_END); /*社定资料的位置*/rna1=ftell(zk1); rnfseek(zk1,0,SEEK_SET); rnmemset(buf1,'\0',sizeof(buf1)); rnmemset(buf2,'\0',sizeof(buf2)); rnmemset(buf3,'\0',sizeof(buf3)); rnfread(buf1,a1,1,zk1);/*buf1是将要放文件内容的空间*/rn/*a1是文件内容的长度 rn为一次rntest为文件被读内容的起始点指针 */rnfclose(zk1); rn/* 至此读test文件结束,下面开始字符串操作 */rnz3=strstr(buf1,"cad");/*查找_char所在的位置 */rnprintf("%d\n",a2); rnstrcpy(buf3,z3);/*把_char后面的文件名取出来 */rnprintf("%s\n",buf3); rn//zk3=fopen("c:\\ddr.txt","w");/*用这个文件名建立新文件 */rnzk3=fopen((char*)buf3,"w+");rnz3=strstr(buf1,"cad");/*再次查找_char所在的位置 */rn//fwrite(buf3,strlen(buf3),1,zk3); rnfwrite(buf1,z3-buf3,1,zk3); rnprintf("%s\n",buf1); rnfclose(zk3); rn
BUTTONST残影
我这个类建立了一个透明按钮 但是当我把A窗口在上面 用TAB切换的时候 会覆盖上一层 谁知道怎么解决啊 还有当我把一个窗口在另一个窗口上擦过的时候也会留下痕迹。
仙人球的残影
Problem Descriptionn在美丽的HDU,有一名大三的同学,他的速度是众所周知的,跑100米仅仅用了2秒47,在他跑步过程中会留下残影的哎,大家很想知道他是谁了吧,他叫仙人球,既然名字这样了,于是他的思想是单一的,他总是喜欢从一点出发,经过3次转折(每次向右转90°),回到出发点,而且呢,他每次转折前总是跑相同长度的路程,所以很多人都想知道如果用‘1’算他跑步出发的第一个残影的话,那么回到起点的时候,他的残影是怎么样的呢?n nnInputn测试数据有多行,每一行为一个数N(1<=N<=10)(以0结尾,0不做处理),即仙人球在没有回到起点的时候,跑过留下N个残影后突然90°右转。n nnOutputn每组测试数据输出一个结果,并且每个残影的计数位长度为3个字符长度。(当然N等于1的话,它的结果也是占用3个字符位置的)n nnSample Inputn4n nnSample Outputn 1 2 3 4n 12 5n 11 6n 10 9 8 7n
.net俄罗斯方块残影问题
求大佬帮忙,教我怎样解决俄罗斯方块移动后留下的残影,就是方块移动后在地图上面留下了痕迹,但是用鼠标点住窗体往下面拖到最底部再拖上来又没了,学生n求解决,谢谢
自定义组件画图残影问题
我有一个自定义的组件,背景是透明的,在组件上用TPicture画一个幅含alpha通过的Png图片。rn组件有一个drawstyle属性,值可为Normal、Stretch、和Tile三种。rn我在DrawStyle属性的SetDrawStyle方法最后调用了,Repaint方法。可是在切换DrawStyle属性值是,会有图片残影,非得用鼠标点一下组件,才正常,该怎么解决?rn下边是Paint方法代码:rn[code=C/C++]rnvoid __fastcall TJTImagePanel::Paint()rnrnrn //画图片rn if(FPicture->Graphic != NULL)rn rn //FPicture->Graphic->rn if(FDrawStyle == jtStretch)rn Canvas->StretchDraw(ClientRect,FPicture->Graphic);rn else if(FDrawStyle == jtTile)rn TileDraw(Canvas,FPicture,ClientRect);rn elsern Canvas->Draw(0,0,FPicture->Graphic);rn rn //画文字rn int FontHeight;rn int Flags;rnrn TRect Rect = GetClientRect();rn if (Fborder || ComponentState.Contains(csDesigning))rn rn Canvas->Brush->Color = clBtnShadow;rn Canvas->FrameRect(Rect);rn rn Canvas->Brush->Style = bsClear;rn Canvas->Font = Font;rn FontHeight = Canvas->TextHeight('W');rn Rect.Top = ((Rect.Bottom + Rect.Top) - FontHeight) / 2;rn Rect.Bottom = Rect.Top + FontHeight;rnrn Flags = DT_EXPANDTABS | DT_VCENTER | DT_CENTER;rn Flags = DrawTextBiDiModeFlags(Flags);rn DrawText(Canvas->Handle, Caption.t_str(), -1, &Rect, Flags);rnrnrn TCustomControl:: Paint();rnrnvoid __fastcall TJTImagePanel::SetDrawStyle(const TJTDrawStyle style)rnrn FDrawStyle = style;rn rn Repaint();rn rnrnrn[/code]
WebBrowser 图片残影问题
新建了个非模态对话框rn添加了一个WebBrowser控件rn打开网页以后 把其他程序的窗口挡在网页上面来回拖rn网页窗口会出现灰色的残影rn但是IE或者其他浏览器不会 请问这是什么原因造成的 rn
窗口显示残影问题
我在启动一个程序之前,用了一个exe作为启动动画过渡,就是在这个exe上面画了一张图,然后等程序启动好了就发消息给这个exe,让它关闭。可是在[u]某些程序[/u]的情况下我启动程序,然后退出程序,会闪现一下前面exe启动时候的图片残影,请教诸位,这种情况属于什么问题,应该用什么方法解决?rnrnexe画图大致用到了: rnCreateCompatibleBitmaprnCreateCompatibleDCrnBitBlt
关于界面残影问题
1.我是win10的系统,win7旗舰版这都没问题,但在win7纯净版的时候,当界面被关闭的时候会留下部分餐饮,有大神能提示下么??
datagridview滚动条残影问题
在用datagridview控件时发现了一个问题rn在控件拖到屏幕边缘的时候,拖动滚动条,数据会出现残影rn[img=https://img-bbs.csdn.net/upload/201409/19/1411123382_254068.png][/img]rn请高人帮忙解答下rn
Unity_实现残影
Unity实现残影效果+对象池-
绘图残影
[code=C/C++] Graphics::TBitmap *Bitmap1=this->Image1->Picture->Bitmap;rn rn for(int i=Bitmap1->Width;i<=Bitmap1->Width*2;i++)rn rn TRect DestRect=Rect(Bitmap1->Width-i,0,Bitmap1->Width,Bitmap1->Height);rn TRect SourceRect=Rect(0,0,i,Bitmap1->Height);rn Application->ProcessMessages();rn TRect rect=Rect(0,0,Bitmap1->Width,Bitmap1->Height);rnrn // InvalidateRect(this->Handle,&rect,true);rn Sleep(1);rn Form1->Canvas->CopyRect(SourceRect,Bitmap1->Canvas,DestRect);rn [/code]rn想要得到图像移出的效果,已经写好了移入,移出于是偷了下懒,结果移出时出现很严重的残影,使用rnInvalidateRect(this->Handle,&rect,true);或Form1->Refresh()刷新出现同样严重的闪烁.
MoveWindow留下残影
各位高手我在一个停靠窗口中动态创建了一个编辑框控件,但是在停靠窗口移动 缩放时 这编辑控件 刷新不过来 留下残影 需要主窗口 最小化后再最大化后才刷新过来 请问是怎么回事?rn[img=https://img-bbs.csdn.net/upload/201403/31/1396232098_488521.jpg][/img]
JSP+CSS+DVI 下拉菜单残影
问题一:rnrn当我鼠标移到目录下,然后点击,就会出现一个残留的影子,复制下边代码到页面看,就能明白我的意思的了(请看图一)rnrn<%@ page language="java" pageEncoding="gb2312"%> rn rn rn rn rn rn 纯CSS的下拉菜单 支持IE6 IE7 Firefox --www.div-css.com 网站标准化 rn rn rn rn rn rn rn rn XHTML/CSS rn rn rn rn 标准 rn 教程 rn 技术文章 rn 常见问题 rn 布局教程专题 rn CSS菜单 rn 浏览器兼容 rn 滚动条相关 rn 圆角矩形专题 rn CSS特效欣赏专题 rn rn rn rn AJAX rn rn rn rn AJAX教程 rn AJAX技术 rn rn rn rn Javascript rn rn rn rn JSON rn 技术文章 rn rn rn rn 正则表达式 rn rn rn rn 正则表达式简介 rn 正则表达式之道 rn rn rn rn 建站技术 rn rn rn rn PHP rn ASP rn ASP.NET rn JSP rn SQL rn Flash rn Dreamweaver rn rn rn rn rn rn rnwww.div-css.com 测试网站标准化 2007-4-16 rncss drop down menu rn rnrnrnrn问题二: 我的INDEX.JSP包含一个IFRAME,当我根据下拉菜单的选择后,进入相对应的功能,在选择下拉菜单的导航后,其中部分的下拉菜单给IFRAME里面的内容给遮住了(请看图二)rnrnrn图一:rn[img=http://widget.slide.com/rdr/1/1/3/W/2500000006e707e7/1/28/GT_snbp06D-1aj1hdwarJmwmfmu1WWae.jpg][/img]rnrnrn图二:rn[img=http://d.imagehost.org/0728/1_3.jpg][/img]rnrn
unity3d:运动残影
Shader &quot;Custom/GhostOnly_Transparent&quot; { Properties { _MainTex (&quot;Base (RGB)&quot;, 2D) = &quot;white&quot; {} _GhostColor (&quot;Ghost Color&quot;, Color) = (0, 1, 0, 1) _Pow (&quot;Pow Factor&quot;, int) = 2 } SubShader ...
残影文字.fla
简单flash,好看的残影文字!简单flash,好看的残影文字!简单flash,好看的残影文字!
Z - 仙人球的残影
仙人球的残影题目描述在美丽的HDU,有一名大三的同学,他的速度是众所周知的,跑100米仅仅用了2秒47,在他跑步过程中会留下残影的哎,大家很想知道他是谁了吧,他叫仙人球,既然名字这样了,于是他的思想是单一的,他总是喜欢从一点出发,经过3次转折(每次向右转90°),回到出发点,而且呢,他每次转折前总是跑相同长度的路程,所以很多人都想知道如果用‘1’算他跑步出发的第一个残影的话,那么回到起点的时候,他的
Unity残影
可以用两种方式实现残影:1. 新建一个Mesh,记录前几帧的人物的影像,然后通过后处理混合上去。2.记录前几帧的人物位置,将其传入shader中,对每个位置进行一个pass渲染。 第一方式 using UnityEngine; using System.Collections; using System.Collections.Generic; public class AfterImage
Z-仙人球的残影
循环赋值,右对齐三位输出,其余输出空格
51单片机数据管移位残影解决
51单片机,优化
基于C++的校园残影联盟程序
这是用c++编写的一个小程序,供大家使用,初学者适用。
OnSize之后有边框残影是怎么回事?
对话框里有子控件,子控件随对话框放大缩小。在对话框的OnSize里调整子控件大小。rnrn我在OnSize之后调整了子控件大小之后调Invalidate(),但是对话框的背景里还是有子控件调整大小之前的边框残影。rn要怎么做?
C语言算命程序很好,运用的是C语言编写
C语言你是C语言算命程序很好,运用的是C语言编写
unity3d 实现残影特效
c#脚本 挂相机下 using UnityEngine; using System.Collections; using System.Collections.Generic; //[ExecuteInEditMode] [RequireComponent(typeof(Camera))] public class TestMRT : MonoBehaviour { public
QGraphicSecne显示图片产生残影
我在绑定到QGraphicview的QGraphicSecne中add了QVideoItem播放来自qcamera的影像,影像正常显示。rn 我又在secne中add了一个QPixmapItem显示我的半透明图片,图片也正常显示在播放的影像上。rn 我不停的调用moveby对图片进行移动,当我的图片移动右边尽头时,我希望能够让图片从影像左边出现,于是调用moveBy(0,-secne.width())。图像成功的移动到了另一端,问题是在移动的瞬间出现了白色残影。rn 我换了一种方法,当图片移动到尽头时我setvisible隐藏图片并向相反方向移动直到secne左边,当我显示图片时还是出现了白色残影。rn 白色残影大小为图片大小,我的图片是半透明的。rn求大神指点,希望大神加我小弟非常感激不尽
Unity人物残影实现
unity人物残影方法小结
拖动分离器出现残影?
Qt项目,运行后拖动水平的分离器出现残影的现象不明显,rn但是拖动竖直的分离器出现很严重的残影,rn同事说可能是Qt双缓冲的缘故,rn究竟这个是什么原因?该怎么解决??跪求高手指教!
Unity 3D残影技术实现
主要实现了3D游戏中残影效果,非常适合游戏开发。
C语言计算字符的长度
用C语言计算字符的长度 小小代码可供参考
C语言字符长度的计算~
printf("%d\n",strlen("s\n\016\0end"));rn 为什么答案是3,不是2吗?
快速拖动窗口有残影.如何解决
我快速拖动标题栏就会出先画面重绘.[code=C/C++][/code]rn#include rn#include "resource.h"rn#include rnrn#define UP 0 rn#define LEFT 1rn#define DOWN 2rn#define RIGHT 3rnrnLRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;rnrnvoid GameMessage (HWND hwnd, int time ,int point)//结束时的对话框设置rnrn TCHAR szBuffer[1024] ;rnrn KillTimer (hwnd, 1) ;rn sprintf(szBuffer,"所用时间: %d\n你的得分: %d ", time, point) ;rn MessageBox (hwnd,szBuffer, TEXT ("GameOver"), 0) ;rnrnrnBOOL CheckSnake ( HWND hwnd, RECT *Snake, RECT *TwoRect, int *Array)//检查是否蛇撞到自身和蛇头出界rn //返回TRUE表示得到目标,FALSE表示还要爬行rn RECT StRect[60] ;rn int i ,Number ;rnrn Number = Array[2] + 4 ;rn switch (Array[0])rn rn case UP :rnrn if( TwoRect[1].right == Snake[Number].right && TwoRect[1].bottom == Snake[Number].top)rn return TRUE ;rnrn for (i = 0 ; i < Number + 1 ; i++)rn StRect[i] = Snake[i] ;rn for (i = 0 ; i < Number ; i++)rn Snake[i] = StRect[i+1] ;rnrn for (i = Number - 2 ; i >= 0 ; i--)rnrn if(Snake[Number].top <= TwoRect[0].top ||rn ((Snake[Number].left == Snake[i].left && Snake[Number].top == Snake[i].top)))rn rn GameMessage (hwnd, Array[1], Array[2]) ;rn break ;rn rnrn Snake[Number].top -= 15 ;rn Snake[Number].bottom -= 15 ;rnrn break ; rnrn case DOWN :rnrn if (TwoRect[1].right == Snake[Number].right && TwoRect[1].top == Snake[Number].bottom)rnrn return TRUE ;rnrn for (i = 0 ; i < Number + 1 ; i++)rn StRect[i] = Snake[i] ;rn for (i = 0 ; i < Number ; i++)rn Snake[i] = StRect[i+1] ;rnrn Snake[Number].bottom += 15 ;rn Snake[Number].top += 15 ;rnrn for (i = Number - 2 ; i >= 0 ; i--)rnrn if(Snake[Number].bottom >= TwoRect[0].bottom ||rn ((Snake[Number].left == Snake[i].left && Snake[Number].top == Snake[i].top)))rnrn rn GameMessage (hwnd, Array[1], Array[2]) ;rn break ;rn rnrn break ;rnrn case LEFT :rnrn if(TwoRect[1].right == Snake[Number].left && TwoRect[1].bottom == Snake[Number].bottom)rnrn return TRUE ;rnrn for (i = 0 ; i < Number + 1 ; i++)rn StRect[i] = Snake[i] ;rn for (i = 0 ; i < Number ; i++)rn Snake[i] = StRect[i+1] ;rnrn for (i = Number - 2 ; i >= 0 ; i--)rnrn if(Snake[Number].left <= TwoRect[0].left ||rn ((Snake[Number].left == Snake[i].left && Snake[Number].top == Snake[i].top)))rnrn rn GameMessage (hwnd, Array[1], Array[2]) ;rn break ;rn rnrn Snake[Number].right -= 15 ;rn Snake[Number].left -= 15 ;rnrn break ;rnrn case RIGHT :rnrn if(TwoRect[1].left == Snake[Number].right && TwoRect[1].top == Snake[Number].top)rnrn return TRUE ;rnrn for (i = 0 ; i < Number + 1 ; i++)rn StRect[i] = Snake[i] ;rn for (i = 0 ; i < Number ; i++)rn Snake[i] = StRect[i+1] ;rnrn Snake[Number].left += 15 ;rn Snake[Number].right += 15 ;rnrn for (i = Number - 2 ; i >= 0 ; i--)rnrn if(Snake[Number].right >= TwoRect[0].right ||rn ((Snake[Number].left == Snake[i].left && Snake[Number].top == Snake[i].top)))rnrn rn GameMessage (hwnd, Array[1], Array[2]) ;rn break ;rn rnrn break ;rn rn return FALSE ;rnrnrnPOINT GetRect (HWND hwnd, RECT MainRect, RECT *Snake, int Number) //得到目标黑色矩形rnrn int i, xSize, ySize ;rn BOOL In ;rn POINT lPoint, rPoint ;rnrn xSize = (MainRect.right - MainRect.left) / 15 ; //给窗口按比例缩放rn ySize = (MainRect.bottom - MainRect.top) / 15 ;rn In = FALSE ;rnrn while(1) //让目标在主框内,并且不会和蛇碰到rn rnrn lPoint.x = MainRect.left + (rand() % (xSize + 1)) * 15 ;rn lPoint.y = MainRect.top + (rand() % (ySize + 1)) * 15 ;rn rPoint.x = lPoint.x + 15 ;rn rPoint.y = lPoint.y + 15 ;rnrn if (PtInRect (&MainRect, lPoint) && PtInRect (&MainRect, rPoint))rn rn for ( i =0 ; i <= Number ; i ++)rn rnrn if (PtInRect (&Snake[i], lPoint) && PtInRect (&Snake[i], rPoint))rn In = TRUE ;rn rnrn if(In == FALSE)rn break ; rn rn rn return lPoint ;rnrnrnint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,rn PSTR szCmdLine, int iCmdShow)rnrnrn HWND hwnd;rn MSG msg;rn WNDCLASS wndclass;rn HACCEL hAccel ;rnrn static TCHAR szAppName [] = TEXT ("Snake");rnrn wndclass.style = CS_HREDRAW | CS_VREDRAW ;rn wndclass.lpfnWndProc = WndProc ;rn wndclass.cbClsExtra = 0 ;rn wndclass.cbWndExtra = 0 ;rn wndclass.hInstance = hInstance ;rn wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;rn wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;rn wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;rn wndclass.lpszMenuName = szAppName ;rn wndclass.lpszClassName = szAppName ;rnrn RegisterClass (&wndclass) ;rnrn hwnd = CreateWindow (szAppName, TEXT ("Snake"),rn WS_OVERLAPPEDWINDOW,rn CW_USEDEFAULT, CW_USEDEFAULT,rn CW_USEDEFAULT, CW_USEDEFAULT,rn NULL, NULL, hInstance, NULL) ;rnrn ShowWindow (hwnd, iCmdShow) ;rn UpdateWindow (hwnd) ;rnrn hAccel = LoadAccelerators (hInstance, szAppName) ;rnrn while (GetMessage (&msg, NULL, 0, 0))rn rn if (!TranslateAccelerator (hwnd, hAccel, &msg))rn rn TranslateMessage (&msg) ;rn DispatchMessage (&msg) ;rn rn rnrn return msg.wParam ;rn rnrnrnLRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)rnrn HDC hdc ;rn PAINTSTRUCT ps;rn static int cxClient, cyClient, time, drection, point, i, Array[3];rn static TCHAR szGetPoint[] = TEXT ("得分 : "),rn szTime[] = TEXT ("时间 : "),rn szBuffer[10] ;rn static RECT MainRect, SnakeRect[60], DstRect, TwoRect[2] ;rn HBRUSH Hbrush ;rn static BOOL ChangeRect, Stop ;rn static POINT RectPoint ;rn HMENU hMenu ;rnrn switch(message)rn rnrn case WM_CREATE:rnrn hdc = GetDC (hwnd) ;rnrn time = 0 ;rn drection = 3 ;rn point = 0 ;rn Stop = ChangeRect = TRUE ;rnrn ReleaseDC (hwnd ,hdc) ;rnrn return 0;rnrn case WM_SIZE :rnrn cxClient = LOWORD (lParam) ;rn cyClient = HIWORD (lParam) ;rn rn MainRect.left = cxClient / 12 ;rn MainRect.top = cyClient / 12 ;rn MainRect.right = 10 * MainRect.left ;rn MainRect.bottom = 10 * MainRect.top ;rnrn SetRect (&SnakeRect[0], MainRect.left + 45 , MainRect.top + 45, MainRect.left + 60, MainRect.top + 60) ;//设置5个蛇部分rnrn for (i = 1 ; i < 5 ; i ++)rn SetRect (&SnakeRect[i], SnakeRect[i-1].left + 15, SnakeRect[i-1].top, SnakeRect[i-1].right + 15, SnakeRect[i-1].bottom);rnrn return 0;rnrn case WM_TIMER:rnrn time++;rn InvalidateRect (hwnd ,NULL, TRUE) ;rnrn return 0;rnrn case WM_KEYDOWN:rnrn switch (wParam)rn rnrn case VK_UP :rn if(drection == DOWN )rn rn KillTimer (hwnd, 1) ;rn MessageBox (hwnd, TEXT (" Game Over!"), TEXT (" Game Message "), 0) ;rn rn elsern drection = UP ;rn break ;rnrn case VK_DOWN :rnrn if(drection == UP)rn rn KillTimer (hwnd, 1) ;rn MessageBox (hwnd, TEXT (" Game Over!"), TEXT (" Game Message "), 0) ; rn rn elsern drection = DOWN ;rn break ;rnrn case VK_LEFT :rnrn if(drection == RIGHT)rn rn KillTimer (hwnd, 1) ;rn MessageBox (hwnd, TEXT (" Game Over "), TEXT (" Game Message "), 0) ; rn rn elsern drection = LEFT ;rn break ;rn rn case VK_RIGHT :rn rn if(drection == LEFT)rn rn KillTimer (hwnd, 1) ;rn MessageBox (hwnd, TEXT (" Game Over "), TEXT (" Game Message "), 0) ; rn rn elsern drection = RIGHT ;rn break ;rnrn case VK_SPACE :rn if(Stop)rn rn KillTimer (hwnd, 1) ;rn Stop = FALSE ;rn rn elsern rn SetTimer (hwnd, 1, 100, NULL) ;rn Stop = TRUE ;rn rn rn rn return 0 ;rnrn case WM_COMMAND:rn rn hMenu = GetMenu (hwnd) ;rnrn switch (LOWORD (wParam))rn rnrn case IDA_F2:rn case IDM_START : //重新开始rnrn drection = 3 ;rn SetRect (&SnakeRect[0], MainRect.left + 45 , MainRect.top + 45, MainRect.left + 60, MainRect.top + 60) ;rnrn for (i = 1 ; i < 5 ; i ++)rn SetRect (&SnakeRect[i], SnakeRect[i-1].left + 15, SnakeRect[i-1].top, SnakeRect[i-1].right + 15, SnakeRect[i-1].bottom);rnrn SetTimer (hwnd, 1, 100, NULL) ;rn InvalidateRect (hwnd ,NULL, TRUE) ;rnrn break;rnrn case IDM_HELP :rnrn KillTimer (hwnd, 1) ;rn MessageBox (hwnd, TEXT ("空格暂停"), TEXT("about"), 0) ;rn break;rn rn return 0;rnrn case WM_PAINT :rn rn hdc = BeginPaint (hwnd, &ps) ;rnrn Hbrush = GetStockObject (BLACK_BRUSH) ;rn Rectangle (hdc, MainRect.left , MainRect.top, MainRect.right, MainRect.bottom ) ;rn TextOut (hdc, MainRect.right + 40, 2 * MainRect.top, szTime, strlen (szTime)) ;rn TextOut (hdc, MainRect.right + 40, 3 * MainRect.top, szGetPoint, strlen (szGetPoint)) ;rn TextOut (hdc, MainRect.right + 80, 2 * MainRect.top, szBuffer, wsprintf( szBuffer, TEXT(" %d"), time / 10));rn TextOut (hdc, MainRect.right + 80, 3 * MainRect.top, szBuffer, wsprintf( szBuffer, TEXT(" %d"), point));rnrn if(ChangeRect)rn rn RectPoint = GetRect (hwnd, MainRect, SnakeRect, 4 + point) ;rn ChangeRect= FALSE ;rn rnrn for(i = 4 + point ; i >= 0 ; i --)rn Rectangle (hdc,SnakeRect[i].left, SnakeRect[i].top, SnakeRect[i].right, SnakeRect[i].bottom) ;rn FillRect (hdc, &SnakeRect[4+point], Hbrush) ;rnrn SetRect (&DstRect, RectPoint.x, RectPoint.y, RectPoint.x + 15, RectPoint.y + 15) ;rn FillRect (hdc, &DstRect, Hbrush) ; //给蛇头涂黑rnrn TwoRect[0] = MainRect ; //做这些是为了在CheckSnake中少放点参数进去rn TwoRect[1] = DstRect ;rn Array[0] = drection ;rn Array[1] = time / 10;rn Array[2] = point ;rnrn if(ChangeRect = CheckSnake (hwnd, SnakeRect, TwoRect, Array))rn rn point ++ ;rn SnakeRect[4+point] = DstRect ;rn rnrn EndPaint (hwnd, &ps) ;rnrn return 0;rnrn case WM_DESTROY:rnrn KillTimer (hwnd,1) ;rn PostQuitMessage (0) ;rn return 0;rnrn rn return DefWindowProc (hwnd ,message, wParam, lParam) ;rnrnrnrn[img=http://DRPUFT@PO7C9]KY_1_DP6HA.jpg][/img]
运用C语言解决排队论问题
应用排队系统流程图,用C语言编制仿真程序,求解以下问题。rn 修理店只有一个修理工,来修理的顾客到达次数服从泊松分布,平均4人/h;修理时间服从指数分布,平均需6min。试求(随机数发生器采用float lcgrand(int stream) ,种子stream 为15。):rn① 修理店空闲的概率;rn② 店内有三个顾客的概率;rn③ 店内至少有一个顾客的概率;rn④ 在店内顾客的平均数;rn⑤ 顾客在店内的平均逗留时间;rn⑥ 顾客必须在店内消耗15分钟以上的概率。rn
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合

相似问题

1
请问ASCII控制字符的问题?c语言字符串的问题
1
C语言字符串的排序问题如何解决?
0
二维字符连通图的问题,运用C语言的知识的综合理解的实现
1
C语言字符串数组问题:将文件中的多行文本存储到数组中
1
C语言计算实现,字符串的编码值小于等于给定的值则输出yes,否则输出no
0
输入一个字符串,判断其是否是C的合法标识符,运用C语言编程处理的方式
0
输出每个残影的计数位长度为3个字符长度,利用C程序的编程语言实现的办法怎么做
0
32位的整数的运算实现IP地址的算法,C语言的字符数组的运用怎么做
0
最长二进制字符串子串的一个算法的实现的问题,运用C语言的程序的设计的思想的实现的过程
1
用C语言来计算:字符串的第L位(从1开始)到第R位,含有的B的个数是多少
0
根据存储空间判断这个字符串是否是安全的,运用C语言的程序实现的过程如何做?
0
二进制的字符串的表示和计算问题,怎么采用的C语言的程序的编写实现的思路是什么?
0
字符串大小写匹配搜索的问题,运用的是C语言的代码编程过程的方式的思路怎么做?
0
阶梯形状的字符串的输出的问题,运用的是C程序的语言代码的编写技术实现的方式的做法?
0
给定的一个字符串,统计其中数字字符出现的次数,怎么采用C语言来回答这个问题的
0
字符串运用的查找最大元素,怎么采用C语言的程序代码编写的过程的方式去实现
1
计算字符串第R位,含有的B的个数是多少,运用C语言的代码编写程序的思想来实现?
0
运用C语言的程序代码,输入三个字符按字符的ASCII码从小到大的顺序输出这三个字符
0
用程序来每个残影的计数位长度为3个字符长度,怎么使用C语言的代码的编写思想的技术去实现呢?
0
字符串点阵字模的一个运用问题,怎么使用C语言的程序的编写的过程去实现的呢?