说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

创建一个Windows Phone 7推箱子益智游戏

HTML文档下载 WORD文档下载 PDF文档下载
现在我们用Windows Phone 7创造一个益智游戏,使用Silverlight和XNA框架音频API的功能。

 

作者:Daniel Vaughan

 

下载源代码

 

介绍

 现在我们用Windows Phone 7创造一个益智游戏,使用Silverlight和XNA框架音频API的功能。

 

入门

 

安装WP7的工具

安装vs 2010 

安装程序将自动下载并安装所需的组件。

如果你想使用的Expression Blend 4 WP7的拓展,下载并安装Expression Blend 。

一旦安装过程完成后,重新启动Visual Studio 2010中。

 

游戏界面

这是主要的用户界面 PhoneApplicationPage。当你创建一个新的 Windows Phone 应用程序这是默认的代码。

 

PageOrientation

Windows Phone应用程式中一个重要的问题是与之匹配的布局方向,特别是检测到方向变化时,如何使我们的UI与之匹配。 PhoneApplicationPage有一个可设置的属性命名SupportedOrientations。该枚举值可以是横排(PORTRAIT)或竖排(LANDSCAPE),或者是PortraitOrLandscape的。分配给它一个值,无论是在XAML或代码中,我们可以控制应用程序如何能变换。我们采用PortraitOrLandscape,因为我希望用户根据自己的意愿自由选择。

一个值得注意的是,从用户代码设置方向是不可能的,因为它被标记为SecurityCritical。

 

SecurityCritical是大多数Silverlight开发人员熟悉的属性。 

请注意,这是Silverlight的安全,并没有具体到 Windows Phone。 

 

从反射,我们可以观察到Page.Orientation不是一个依赖项属性,(也不会引发Page.Orientation PropertyChanged事件),绑定到PhoneApplicationPage属性不会带到其它地方。

 

方向转换

我们可以简单地在OrientationChanged事件中处理,但我没有简单地这样做,而是在MainPage里创建依赖属性,当OrientationChanged事件发生时被调用。我创建了一个IValueConverter,当Page.Orientation属性改变,改变TextBlock的Visibility。

 

 

<TextBlock Visibility="{Binding ElementName=Page, Path=PageOrientation,     Converter={StaticResource OrientationToVisibilityConverter}, 				ConverterParameter= Landscape}" .../>
以下代码从OrientationToVisibilityConverter中摘录,展示了转换器改变PageOrientation来改变Visibility的值。

 

 

public object Convert(object value, Type targetType, 		object parameter, CultureInfo culture){	var orientation = (PageOrientation)value;	string showWhenOrientation = parameter.ToString().ToLower();	bool show = false;	switch (orientation)	{		case PageOrientation.Portrait:		case PageOrientation.PortraitDown:		case PageOrientation.PortraitUp:			show = showWhenOrientation == "vertical";			break;		case PageOrientation.Landscape:		case PageOrientation.LandscapeLeft:		case PageOrientation.LandscapeRight:			show = showWhenOrientation == "landscape";			break;	}	return show ? Visibility.Visible : Visibility.Collapsed;}
使用XNA Framework的音频API
我惊喜的是我们可以容易的使用XNA框架来播放音效。需要即时播放。被警告,但它有挑剔的格式。我发现,只有PCM格式的WAV文件提供了支持。我用GoldWave保存所有到PCM格式的音频。对于较长的片段,如果用MP3,更有意义,但你需要使用MediaElement控件。
所有的声音效果在MainPage.xaml.cs中的代码定义处,以下是代码演示:
readonly SoundEffect footStepSoundEffect = 	SoundEffect.FromStream(TitleContainer.OpenStream("Audio/Footstep.wav"));
然后我们可以向这样播放声音效果:
footStepSoundEffect.Play();
MainPage实例化过程中,有一个Game实例作为其指定DataContext。
主要是控制其所有活动数据绑定和游戏属性的变化。 MainPage如下所示:
<phoneNavigation:PhoneApplicationPage     x:Class="DanielVaughan.Sokoban.UI.MainPage"    x:Name="Page"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:phoneNavigation="clr-namespace:Microsoft.Phone.Controls;		assembly=Microsoft.Phone.Controls.Navigation"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"     xmlns:controls="clr-namespace:DanielVaughan.Sokoban.UI"     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="800"    SupportedOrientations="PortraitOrLandscape"    FontFamily="{StaticResource PhoneFontFamilyNormal}"    FontSize="{StaticResource PhoneFontSizeNormal}"    Foreground="{StaticResource PhoneForegroundBrush}" Orientation="Landscape">    <phoneNavigation:PhoneApplicationPage.Resources>        <controls:OrientationToVisibilityConverter 		x:Key="OrientationToVisibilityConverter" />        <Style x:Key="CenterLabels" TargetType="TextBlock">            <Setter Property="Foreground" Value="White"/>            <Setter Property="FontSize" Value="18"/>            <Setter Property="VerticalAlignment" Value="Center"/>        </Style>        <Style x:Key="ToolBarWebdings" TargetType="Button">            <Setter Property="Background">                <Setter.Value>                    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">                        <GradientStop Color="#FF9AFF95" Offset="0.21"/>                        <GradientStop Color="#FF5DD757" Offset="0.589"/>                        <GradientStop Color="#FF99FF93" Offset="1"/>                    </LinearGradientBrush>                </Setter.Value>            </Setter>            <Setter Property="FontFamily" Value="Webdings"/>            <Setter Property="Foreground" Value="White"/>            <Setter Property="Padding" Value="5 "/>        </Style>        <Style x:Key="OrdinaryButton" TargetType="Button">            <Setter Property="Background">                <Setter.Value>                    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">                        <GradientStop Color="#FF9AFF95" Offset="0.21"/>                        <GradientStop Color="#FF5DD757" Offset="0.589"/>                        <GradientStop Color="#FF99FF93" Offset="1"/>                    </LinearGradientBrush>                </Setter.Value>            </Setter>            <Setter Property="Foreground" Value="White"/>            <Setter Property="Padding" Value="5 "/>        </Style>    </phoneNavigation:PhoneApplicationPage.Resources>    <Grid x:Name="LayoutRoot" Background="White">                <Grid.RowDefinitions>            <RowDefinition Height="Auto"/>            <RowDefinition Height="*"/>        </Grid.RowDefinitions>                       <controls:BackgroundControl Opacity=".3" />        <Border VerticalAlignment="Top" Grid.Row="0" Height="60"                  BorderBrush="#FFFFE63E" CornerRadius="10,10,10,10" 		BorderThickness="2,2,2,2" Margin="0,0,0,0">            <Border.Background>                <LinearGradientBrush EndPoint="0.5,-1.389" 		StartPoint="0.5,2.389" SpreadMethod="Pad">                    <GradientStop Color="#FFFF9900" Offset="1"/>                    <GradientStop Color="#FFFF9900" Offset="0.58"/>                    <GradientStop Color="#FFFFFFFF" Offset="0"/>                </LinearGradientBrush>            </Border.Background>            <Grid>                               <Rectangle Stroke="{x:Null}" Margin="5,3,5,18"                            RadiusX="10" RadiusY="10" Opacity="0.41">                    <Rectangle.Fill>                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                            <GradientStop Color="#FFECECEC" Offset="0"/>                            <GradientStop Color="#FFFFFFFF" Offset="1"/>                        </LinearGradientBrush>                    </Rectangle.Fill>                </Rectangle>                <StackPanel Height="50" x:Name="stackPanel1" Margin="15,0,5,0"                             VerticalAlignment="Center" HorizontalAlignment="Stretch"                             Width="Auto"  Orientation="Horizontal">                    <TextBlock VerticalAlignment="Center" 			Foreground="White" Text="Code:" TextWrapping="Wrap"/>                                        <TextBox Text="{Binding Path=LevelCode, Mode=OneWay}"                             x:Name="textBox_LevelCode" MaxLength="5"                             Opacity="0.4" Width="110" TextAlignment="Center"                             VerticalAlignment="Center"                              HorizontalContentAlignment="Center"                              GotFocus="TextBox_LevelCode_GotFocus"                              LostFocus="TextBox_LevelCode_LostFocus"                              KeyUp="TextBox_LevelCode_KeyUp"                             Background="White" />                    <Button Style="{StaticResource ToolBarWebdings}" 			Margin="0,-10,0,0" Height="10" Content=""                            Click="Button_Undo_Click"/>                    <Button Style="{StaticResource ToolBarWebdings}" 			Margin="0,-10,0,0" Height="10" Content=""                            Click="Button_Redo_Click"/>                    <TextBlock Visibility="{Binding ElementName=Page, 			Path=PageOrientation,                             Converter={StaticResource OrientationToVisibilityConverter}, 			ConverterParameter=Landscape}"                        VerticalAlignment="Center" HorizontalAlignment="Center"                                TextAlignment="Center" Foreground="White" 				Text="Alien Sokoban"                                FontFamily="Tahoma" FontSize="36" Margin="45,0,0,0"/>                </StackPanel>                <Grid HorizontalAlignment="Right">                    <StackPanel Orientation="Horizontal">                        <StackPanel VerticalAlignment="Center">                            <StackPanel Orientation="Horizontal">                                <TextBlock Style="{StaticResource CenterLabels}" 				Text="Level "/>                                <TextBlock x:Name="label_LevelNumber"                                            Style="{StaticResource CenterLabels}"                                            Text="{Binding Path=Level.LevelNumber}"/>                                <TextBlock Style=				"{StaticResource CenterLabels}" Text="/"/>                                <TextBlock Style="{StaticResource CenterLabels}" 				Text="{Binding Path=LevelCount}"/>                            </StackPanel>                            <StackPanel Orientation="Horizontal">                                <TextBlock Style="{StaticResource CenterLabels}" 				Text="Moves "/>                                <TextBlock x:Name="label_Moves" 				Style="{StaticResource CenterLabels}"                                            Text="{Binding Path=Level.Actor.MoveCount}"/>                            </StackPanel>                        </StackPanel>                        <Button Style="{StaticResource ToolBarWebdings}" 				Margin="0,-8,0,0"                                 Height="10" x:Name="button_RestartLevel" Width="80"                                 Click="Button_RestartLevel_Click"                                 IsTabStop="False"  Content=""                                HorizontalAlignment="Right" >                            <ToolTipService.ToolTip>                                <ToolTip Content="Restart"></ToolTip>                            </ToolTipService.ToolTip>                        </Button>                    </StackPanel>                </Grid>            </Grid>        </Border>        <!-- The Game grid. -->        <Border Grid.Row="1" Padding="5" BorderBrush="#919292" CornerRadius="12"                 BorderThickness="0" Background="Transparent">            <Grid x:Name="grid_Game" />        </Border>        <Grid x:Name="textBlock_PressAnyKey"               Background="#006DCAC1"              HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.RowSpan="2">            <StackPanel VerticalAlignment="Center" HorizontalAlignment="Stretch"                         Background="#556DCAC1">                <TextBlock x:Name="feedbackControl"                            VerticalAlignment="Center"                           HorizontalAlignment="Center" Text="TextBlock" FontSize="32"/>                <Button Style="{StaticResource OrdinaryButton}" Content="Continue"                         VerticalAlignment="Center" HorizontalAlignment="Center"                        Click="Button_Continue_Click"/>                 </StackPanel>        </Grid>    </Grid>    </phoneNavigation:PhoneApplicationPage>
在MainPage的InitializeLevel方法中,每个网格用CellControl填充:
void InitialiseLevel(){	cellControls.Clear();	commandManager.Clear();	grid_Game.Children.Clear();	grid_Game.RowDefinitions.Clear();	grid_Game.ColumnDefinitions.Clear();	for (int i = 0; i < Game.Level.RowCount; i++)	{		grid_Game.RowDefinitions.Add(new RowDefinition());	}	for (int i = 0; i < Game.Level.ColumnCount; i++)	{		grid_Game.ColumnDefinitions.Add(new ColumnDefinition());	}	var cellSize = CalculateCellSize();		for (int row = 0; row < Game.Level.RowCount; row++)	{		for (int column = 0; column < Game.Level.ColumnCount; column++)		{			Cell cell = Game.Level[row, column];			cell.PropertyChanged += cell_PropertyChanged;			CellControl cellControl = new CellControl(cell);			cellControl.MaxHeight = cellControl.MaxWidth = cellSize;			cellControl.Click += Cell_Click;			Grid.SetColumn(cellControl, column);			Grid.SetRow(cellControl, row);			grid_Game.Children.Add(cellControl);			cellControls.Add(cellControl);		}	}	/* Play the intro audio clip. */	PlayAudioClip(introSoundEffect);	/* Listen for actor property changes. */	//Game.Level.Actor.PropertyChanged += Actor_PropertyChanged;	RefreshGameGrid();}
通常,我不会建议把这样的UI逻辑代码放在代码的旁边,因为我更喜欢使用MVVM方法。 然而权宜之计,我就用这个方法。
该CellControl被分配给一个游戏网格,显示效果由单元格的状态而定。 如果它被认为是一堵墙,它显示一个灰色正方形等。
Phone屏幕键盘
Windows Phone 7允许开发者在用户打开屏幕键盘时指定数据类型。这也是上下文敏感的,TextBox获得焦点时,TextBox将被放大。使用InputScope使键盘更适合于正在输入的数据。
例如,要指定一个默认的屏幕键盘,需应用InputScope到该TextBox 。
<TextBox>   <TextBox.InputScope>     <InputScope>       <InputScope.Names>         <InputScopeName NameValue="EmailNameOrAddress"/>       </InputScope.Names>     </InputScope>   </TextBox.InputScope> </TextBox>
通过使用EmailNameOrAddress NameValue,键盘包含了.com 和 @等字符。
以下是一些有效取值:
SIP 布局XAML 或枚举值SIP 描述
DefaultDefault, and other standard input scope values标准 QWERTY 键盘
TextText带特性的text,如自动更正和单词建议。
WebUrl URL
E-mail addressEmailSmtpAddress e-mail 地址
E-mail name or addressEmailNameOrAddress 电子邮件名称或地址
MapsMaps搜索在地图上的位置
Phone numberTelephoneNumber电话号码
SearchSearch搜索查询
SMS contactNameOrPhoneNumber短信
ChatChat文字输入,使用智能功能,如缩写

 

 

结论

 

在这篇文章中,我们已经看到了如何使用Silverlight 3创建一个Windows Phone益智游戏。 我们看到了PageOrientation和如何将其应用于控制布局。 我们根据上下文可以选择不同的键盘,我们还简要接触了XNA Framework的音频API,它可以用来播放声音效果。

 

这个平台的未来,我很兴奋。 花费了一个短暂的时间后,我已经有宾至如归的感觉。 我希望这个项目对你非常有用。 如果是的话,那么我会很感激,如果你能反馈一下,这会帮助我,使我的下一篇文章更好。

 

 

轻博客始祖Tumblr:哈希以支撑2.3万Blog请求/秒 《近匠》FIR.im:简单易用的内测分发工具 传苹果公司将于9月9日召开新一代iPhone发布会 近百家微信开发商参与征集评选活动 TOP10正浮出水面 Java程序猿,手游引擎怎么选? MDCC 2014优秀移动团队免费展位火热申请中 【微信讲师面对面】你在企业服务号开发中遇到的坑和难点 五个解决方案让MongoDB拥有RDBMS的鲁棒性事务 浅谈Apache Spark的6个发光点 安卓 “假ID” 签名漏洞,竟然骗过了支付宝和360 从Social到Big Data,移动App蚂蜂窝转型推新品 《近匠》nice曹大鹏,从男装导购到潮人社区的心路历程 DevOps扼杀的不是开发者,而是开发生产力! 利用Docker构建开发环境 Netflix公布Cassandra新性能:基于AWS的百万次写入每秒 一周消息树:谷歌Android遭遇“颠覆”危机 微软发布新应用Snipp3t,iOS平台首发且无Windows Phone版 TOP10优秀微信开发商随后揭晓 2014微信开发者大会开幕在即 8月12日:PC鼻祖IBM 5150迎来33周年 平板创作3D展现:蒙特利尔大学发明Hyve-3D设计系统 Quick Charge技术解析:关于手机快速充电的那些事儿 性能分析十八招,你用哪一招? 流程在企业内的作用及成熟度 Gartner:至2017年Chromebook销量将增2倍 后稀缺时代思考:机器横行下的人类夹缝求生 TIOBE 2014年8月编程语言排行榜:Swift跌出Top 20 精华回顾!历届MDCC大会精彩演讲与议程汇总 《近匠》Fancy3D:亿级游戏背后的轻量级引擎 假如李小龙是程序员…… Docker已扎根新一代PaaS 三星或发布首款头戴式VR设备Project Moonlight 数据库更新不成功的问题!(菜鸟高分提问!) 求助:多线程访问数据库的问题 触发器?很简单的 紧急求助???狂加分!!! 不相上班,怎么办呀?各位有何高招? 学习ATL的建议!!! 请问: 多个javabean怎么相互调用?如。。。。 二个简单Access问题 qq号码集合之增强版 这样的查询该怎样实现呢? 求:谁有立方体旋转的程序?需要源代码!谢谢,万分焦急!!!谢谢,100分送!!! 怎样实现这样的界面? 关于多线程中操作数据库 给一个c#连接sybase数据库的例子,谢谢! c#datagrid 增加,删除,修改 工作急需,help!!!!!!!!!!!!! 请哪位高手帮小弟做一个井字棋游戏作业,救小弟一命,感激投地并送以高分,我的信箱见内! Exchange2000的怪问题,请高手指教。 三层中的问题? datawindow加计算域或line的程序加在哪? 请问各位收邮件的程序采用的是什么组件??!!因为CFPOP,JMAIL在收中文附件时都会出现乱码。参与有分。 求助EXCEL解密 !!大送分99分! 请教JAVA中读一个文件的时候 怎么锁住它 不让别的程序来写 在ASP页面中怎样获得域用户的信息? 求助: 移值C++出问题 谁能解救我于水火???怎样解决循环运算次数太大造成程序死机的问题? 谁有delphi或bcb的简单的画图程序的源码 二个简单Access问题 Access不支持位运算吗? qq号码集合之增强版 递归函数的工作原理! 二个简单Access问题 如何在声音控制中将“全部静音(M)”选中,实现系统静音?在线等候! 韩国变性艺人河莉秀以“性感之枪”姿态攻陷香港 如何用javascript在客户端清空<input type=file>的value值?50分! qq号码集合之增强版 二个简单Access问题 谁有《Inside the c++ object model》中文名《深度探索c++物件模型》的电子版。 谁有《Inside the c++ object model》中文名《深度探索c++物件模型》的电子版。 谁知道 bzero memcmp 等函数的原代码在哪个目录下 哪个文件里 我实在找不到了 请高手指点 或提供线索 Date Time Picker如何不弹出 这里是做梦的场所 二个简单Access问题 servlet的问题 我想为对话框的按钮提供快捷键 不使用mfc的加速功能 请问怎么实现 一个关于多窗口的问题 请问各位懂行的,一个50分钟的flash要多少钱?就是动画故事,象电视上的那种。 网上找到的sa-fileup好像都是evaluation版,有时间限制,不知道哪里找到破解限制版? 在程序中怎么创建acess数据库,sqlserver数据库,oracle数据库? 还是关于.Net的安装问题,请问如果要在win98上运行.Net程序,需要装dotNetFrmaework,... dbgrid中如何实现自动计算?? 物流GPS在物流业发展有什么作用? 机械能守恒是什么意思? 性别比例中雄多于雌的生物种类有哪些 手机的gps定位要用网络吗? 孟买什么气候 XY型性别决定的生物,群体中的性别比例为1:1,原因是什麼? 哪些生物适应环境和影响环境,要实例 为什么王水的配置是浓硝酸和浓盐酸按1:3体积? 小明和妈妈去操场散步,小明一圈需要5分钟,妈妈以前需要3分钟.如果小明和妈妈从同一地点,同时相背而行,几分钟后两人第3次相遇? 生物对环境的适应和影响事例,我明天上生物. 配置王水为什么用浓盐酸 xy型性别决定的生物,群体中性别比例都是1∶1,请问原因是什么!为什么!麻烦朋友们帮我一下A 雌配子:雄配子=1:1B 含X的精子:含Y的精子=1:1C 含X的配子:含Y的配子=1:1D 含X的卵细胞:含Y的卵细胞=1:1 中国近现代史纲要(论文)1,中国近代历次反侵略斗争失败的原因和教训.2.结合近代中国人探索国家出路的历程,说明为什么中国选择了马克思主义.3.以毛泽东为主要代表的中国共产党人探索和 什么是科普小品文? 面对困难坚强不屈的名人 体现生命的勇敢 不要海伦凯勒,张海迪,霍金,桑兰这些被写烂了的人 科普小品文的语言特点是什么? 女人梦见下雨,雨水淹没自己.女人梦见下雨,雨水淹没路面.自己不知不觉走入水中越走越深,淹没水中,拼命挣扎,后看到一男人骑车身边经过(为什么只有我陷进去了啊),还求救不帮,后被一女 梦见海水上涨梦见海水水位快速上涨就连最高的地方都满过了,让我没有立足之地 怎么写“给中国近代名人的一封信”作文啊!有知道的人快帮帮我吧,明天要上交啊 女人梦见下雨好不好 梦见我们家在海过两件房子里有海水 请区分一下3S技术 即GIS,RS,GPS重点介绍一下应用方面的要求 限制条件 和特点 另外 最好分析一下三项技术分别在灾害预测方面的特点 昨天晚上做梦梦见下雨很多雨水,但是没看见下雨,淹没过胸部,我和我一个姐妹就从水里边走了过去,在水里走的时候感觉呼吸都困难,过去之后有个楼房 我们就上去了,一会出来看,雨水几乎没 如何验证AgCl溶解度大于Ag2S GIS,RS)? 利用超声波可测海洋的深度,已知超声波在海水中传播的速度为1.5×10的3次方m|s,若发利用超声波可测海洋的深度,已知超声波在海水中传播的速度为1.5×10的3次方m|s,若发出信号10s后接收到反射 举出生物对环境适应的例子?举出一个... 3S的关系和特点(RS GIS GPS) 女人梦见蛇和下雨如何? Ag2S与AgCl 哪一个的溶解度更低 3s 技术中RS,GIS,GPS,各自的定位及作用,特别是相互间的关系 梦见下雨是什么意思 举一个生物对环境适应的例子要自己的,不要官方答案 地理上的3S是指GIS,RS, 描写马的好句子 已知Ag2S的溶度积为6*10-30,此时它在水中的溶解度约但是为什么开根号什么的算出来的就是溶解度? 物质结晶法主要有两种,分别是什么?海水晒盐是哪一种? 谁能给我一些关于气候类型判断的典型例题?就是关于我国的气候类型判断,浙教版的而是给我这一类的例题! 举数个生物适应环境的例子如题~起码举出5个例子.举数个生物能适应环境的例子,再举数个生物不能适应环境的例子.例子具体点,不要只说名称. 除了海水能提盐还有什么方法 形容马的样子的句子真不知 父亲一个字怎么叫 英语翻译水边役人双双去.儿戴宝冠头已剃/金莲难走唯行寸,尔等伊人来相聚.莲花去头文满车,公公累得断右臂.一十八竹连一片,芍药落花白了地. 名人和凡人一样,都会遭遇成长的烦恼.(如安徒生,居里夫人,贝多芬,海伦凯特,张海迪等)名人和凡人一样,都会遭遇成长的烦恼.在失落绝望的时候,他们是如何重新找回生活的勇气,更坚强的面 用一个字来代替爸爸? 哪些名人是残疾啊,作文 求素材 要出名的 霍金和张海迪就不用了 求出一个字谜!出一个字谜,像田中(申)挥手离去(军)这样的字谜急. 父亲、母亲都可以用其中的一个字来表达,那钥匙呢?如果没有,用什么其他的一个字来代替呢?具体情况是这样的:我闲的没事干写小说,设计的男主人公和女主人公各持一把钥匙(男)和一把 英语翻译请翻译英语谜语1.John is the man with the blue blood2.Who's the boy in the hat?He's my son,Tom.3.He likes talking horse.4.He is always Number one in our class.5.Speak like a book.6.It rains cats and dogs.7.Hi,long time no see.8.She 请把:鲁迅、张海迪、海伦凯勒、霍金、 阿尔弗雷德·贝恩哈德·诺贝尔 、司马迁 、居里夫人 、高尔基 、爱迪生 、贝多芬 、 把以上10位名人在痛苦中的遭遇和后来的成功事迹写下 老子道的总论中的一个字怎么念?常有欲,以观其X.就是这个X怎么念?这个字实在不会打 有没有写残疾人的事例与评价 例如张海迪,海伦凯勒等简介 机械能的作用是什么 《台阶》一课 各用一个字来概述父亲劳动的特点 1.那石板多年前由父亲从山上背下来,每块大约有三百来斤重2.一个冬天下来,破草堆堆得超过了台阶( )3.那天早上父亲天没亮就起了床,我听 英语翻译班杰明•富兰克林有个谜语:(答案是钱)The more a man has,the more he wants.Instead of filling a vacuum,it makes one.翻译成中文怎么说? 机械能是什么意思?内能是什么意思请解释一下 在北印度洋夏季洋流圈中,也就是阿拉伯半岛沿岸发现有个索马里寒流,他从赤道处向北流,怎么会是寒流? 英语翻译姐妹一样长,结伴爱成双,酸甜和苦辣,两人都同尝.筷子我有两口井,模样很难分,双腿探下去,正好齐腰深.裤子远看山有色,近听水无声,春去花还在,人来鸟不惊.画兄弟一般高,出门就 机械能的总量是什么 索马里洋流成因
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘