Windows Phone 7官方教程:C#与Silverlight开发

5星 · 超过95%的资源 需积分: 9 1 下载量 90 浏览量 更新于2024-07-26 收藏 6.39MB PDF 举报
"这是一份官方的Windows Phone 7 (WP7)中文教程,涵盖了从基础到高级的各种开发主题,包括C#编程语言的应用。教程由lhaix制作,并于2011年10月22日发布。内容涉及Windows Phone 7的开发环境、Silverlight交互开发、XNA游戏开发等多个方面。" 该教程首先介绍了Windows Phone 7的基础知识,帮助开发者了解这一平台的特性。这部分内容可能包括操作系统的基本架构、用户界面设计原则以及开发者环境的设置。对于初次接触WP7开发的人员,这部分内容是必不可少的。 接下来,教程深入到Silverlight的交互开发,这是WP7上构建应用程序的主要技术之一。Silverlight允许开发者创建丰富的图形和动态用户体验,这部分可能会涵盖UI元素的创建、事件处理、数据绑定以及动画效果的实现。 XNA游戏开发章节则面向希望在WP7平台上开发游戏的开发者。XNA Framework提供了一套完整的框架,用于快速开发2D和3D游戏。教程可能讲解了如何使用XNA Game Studio 4.0创建游戏项目、管理游戏资源、实现游戏逻辑以及处理音频和图形。 此外,教程还讨论了Windows Phone 7的特定功能,如网页浏览器控件的使用,以及如何设计适应WP7平台的应用程序图标。广告服务应用部分可能介绍了如何集成AdMob等广告网络,以实现应用程序的盈利。 对于保护应用程序,教程提到了Dotfuscator,这是一个反混淆工具,可以防止代码被逆向工程分析,保护开发者知识产权。 教程中还包括了针对Windows Phone 7的音效控制、体感游戏设计、2D和3D游戏开发,以及推送通知服务的概述,这些都是提升应用程序质量和用户体验的关键技术。 最后,关于Silverlight工具箱和IsolatedStorage的介绍,说明了如何利用这些工具提高开发效率,以及如何在本地存储数据,确保用户数据的安全和持久性。 这份官方中文教程全面覆盖了Windows Phone 7应用程序和游戏开发的核心知识,对希望进入这个领域的开发者提供了宝贵的指导。

帮我把下面一段C++代码改写成python代码:#include "Trade.h" #include "WPrice.h" #include <algorithm> double normalCDF(double x) // Phi(-∞, x) aka N(x) { return std::erfc(-x / std::sqrt(2)) / 2; //erfc()是互补误差函数,该返回值表示标准正态分布下var小于x的概率,即N(x) } CTrade::CTrade(double tick) : wp_bid(0.01), wp_ask(0.01), m_tick(tick), m_TimeRound(50) { newday(NULL); } CTrade::~CTrade() { } void CTrade::OnBook(const BTRec& btRec) { wp.setGamma(0.1); wp_bid = wp.getWP(&btRec.Bids); wp_ask = wp.getWP(&btRec.Asks); if (wp_mid > 0){ //wp_mid初始化为-1,仅遇到第一条BTRec记录时条件为false double wp_now = (wp_bid + wp_ask) / 2; //updated wp_mid int volume = btRec.volume; //volume between two orderbook records double ratio = normalCDF((wp_now - wp_mid) / (2 * m_tick)); //m_tick = tick = 0.2 double buyvolume = ratio*volume, sellvolume = (1 - ratio)*volume; m_TimeRound.update(buyvolume, sellvolume, btRec.rec_time.timestamp); //volume moving average if (mv_volume < 0) { mv_volume = volume; mv_buyvolume = buyvolume; } else{ mv_volume += 0.002*(volume - mv_volume); mv_buyvolume += 0.002*(buyvolume - mv_buyvolume); } // round trip volatility if (time_ini < 0 || btRec.rec_time.timestamp - time_ini >= time_scale){ if (time_ini>0){ double dp = wp_now - wp_ini; volatility += 0.05*(dp*dp - volatility); } time_scale = m_TimeRound.getTime() * 1000; //in milliseconds time_ini = btRec.rec_time.timestamp; wp_ini = wp_now; } } wp_mid = (wp_bid + wp_ask) / 2; } void CTrade::newday(const char* p) { wp_mid = -1; m_TimeRound.newday(p); volatility = 16 * m_tick*m_tick; time_slapse = -1, time_scale = -1, wp_ini = -1, time_ini = -1; mv_buyvolume = mv_volume = -1; }

2023-05-15 上传