宝钢抢筹新余钢铁二次重组冲刺美食
发布时间:2021-01-02 02:25:10
宝钢抢筹:新余钢铁“二次重组”冲刺
“谁是中部整合者?”可能答案不仅仅是武钢。 在刚刚下发的《促进中部地区原材料工业结构调整和优化升级方案》(下称《方案》)中,武钢被明确为“支持区域内和跨区域联合重组”的企业。但是偏居东南的宝钢集团似乎并不愿意放弃中部整合者的角色。 在积极参与并购安阳钢铁争夺之后,宝钢的另外一个目标是江西新余钢铁(下称新钢)。据了解,新余钢铁正在大规模整合省内钢铁资源,实现“靠前次重组”,但新钢已被工信部明确为被重组对象之一。 “新钢的重组方是宝钢,我们原本很想收购,但宝钢还是更强势一点。”12月28日,武钢集团一位主任对表示。 新钢一位副总告诉,新钢一旦寻求重组,宝钢参与是意料之中的事情,但目前双方还没有就该计划达成一致。 新钢董事长熊小星也对表示,宝钢目前依然没有进一步增资新钢的计划。但江西省国资委人士在接受本报采访时表示,江西方面正在考虑新钢重组事宜,宝钢是较佳重组方。“重点抓好新钢与宝钢的合作,是2010年(江西)省国资委国企改革的一项重点工作。” 宝钢完胜新钢争夺 实际上,这是场旷日持久的争夺战。早在2008年10月下旬,武钢集团战略研究室主任魏建新刚从外地出差回来,便得到了一个坏消息:宝钢将参股新钢。 2008年12月5日,新钢上市公司主体新华股份发布公告称,公司向8家特定投资者非公开发行了20000万股境内上市人民币普通股(A股)。其中,宝钢认购了新华股份2000万股,约占新华股份1.44%的股份。 公开资料显示,新钢是全国重点铁合金生产基地,旗下拥有主体单位25家,全资子公司14家,经济实体5家,同时拥有15家控股参股企业。 来自中国钢铁工业协会资料显示,2008年,新钢实现工业增加值(现价)45亿元,同比增长12.5%;完成生铁455万吨、钢532万吨、钢材465万吨;销售收入突破300亿元,同比增长32.53%;实现利税21.8亿元,其中利润9.5亿元。 魏建新明白,宝钢此举意味着武钢或将失去重组新钢的机会,而在此之前,武钢做了大量努力。 宝钢的动机很明显,亦符合其一贯的收购策略——先借助新钢整体上市之机,以战略投资者身份参股,再伺机控股新钢,从而达到联合重组新钢的目的。 武钢和新钢均处于中部,按理来说,身为“中部钢铁业整合龙头”,武钢有更多理由吃掉新钢。然而,在较终摊牌之前,变化永远存在。 “宝钢确实很强势。”魏建新很简短地回答了上述疑问,言谈间,依然流露出几分惋惜。 据了解,在正式决心拿下新钢之前,宝钢已经进行了铺垫。2007年2月,宝钢与新钢的300万吨薄板工程合作项目正式开工,该项目总投资达126亿元,是江西钢铁工业史上投资规模较大、技术含量较高的钢铁工程项目,也是江西省“十百千亿”工程的靠前个重大项目。本报从新钢了解到,该工程二期项目正在建设中。 此外,江西省国资委的支持,也是助宝钢入局的一个关键因素。 上述江西省国资委人士对表示,新钢想发展不锈钢项目,但在资金和技术上均存在局限,在三大中央钢铁企业中,宝钢在不锈钢方面的实力较强,资金也雄厚,加上九江港已被上海港收购,所以促成了这次合作。 江西省国资委力邀宝钢介入江西钢铁业的另一个原因,则是江西省内钢铁业重组困难重重。 “江西钢铁企业不多,除了新钢和洪都钢铁,剩下较大的就是萍乡钢铁,但后者是民营企业,很难整合。江西钢铁业即使抱成团,也很难做大。”我的钢铁副总裁贾良群表示。 据本报了解,目前武钢已基本退出了新钢重组。 宝钢的中部计划 实际上,宝钢跨入中部“作战”,史已有之。 2006年,宝钢与马钢签署了战略联盟框架协议,但是“宝马合作”至今几近停滞。新钢则成为宝钢进军中部的另一桥梁。 “中部的城镇化步伐相对沿海要缓慢,但却是未来钢材需求的新增长点,宝钢进入中部市场,从长远来说,是想全方位占据市场。”贾良群表示。 贾良群认为,宝钢的并购并非按区域进行,而主要取决于行政和市场力量。“宝钢不是对马钢不感兴趣,也不是不要河北那边的钢铁,而是人家不给他。现在,新钢由于自身发展的限制,不得不走上重组之路,时机来了,所以宝钢出马了。” 事实上,工信部虽然明确武钢为中部整合的龙头,但并没有关闭其他钢铁企业进军中部的门。尤其是在明确要“推动安钢、新钢等与特大型钢铁企业集团跨区域重组”时,并没有为新钢、安钢明确整合对象。 而作为国内较大钢企,宝钢的跨地域战略重组计划一直得到国家有关方面的支持。国务院国资委主任李荣融曾公开表示,继续支持宝钢集团进行行业性兼并重组,并称“被兼并的对象东西南北都有,而且是上市公司”。 今年7月,宝钢集团董事长徐乐江接受本报采访时也表成交率9.35%示,宝钢的重组对象不受区域限制。 目前,在北方市场,宝钢已完成了对新疆八一钢铁的收购,还在进行包头钢铁的整合工作;在南方市场,宝钢已入主广钢集团。 但相对以上区域,宝钢进军中部的难度更大。“一是中部已经有武钢,二是中部很多钢铁企业重组起来很难,地方政府不放手。”我的钢铁分析师曾节胜表示。 宝钢重组马钢愿望落空就是一个例子。安徽省国资委曾主导马钢与合肥钢铁重组,这被市场认为是对宝钢的一种反击。 但中部依然给宝钢提供了机会。贾良群分析,中部钢铁企业一般是当地政府的“独苗”,又处于不大不小的尴尬境地,“没有能力去并购别人,但产业政策又限定其发展,因此时机一成熟,中部的企业大多会投向大企业的怀抱。”贾良群还表示,马钢只是暂时不要宝钢重组,但三五年后也许又要走回重组之路。 然而,尽管重组新钢已基本无疑义,但宝钢要顺利完成此单交易,依然存在一些困难。 “宝钢当然想控股,想当靠前大股东,但省冶金总公司那边有阻力。”上述新钢副总表示,而宝钢增资也需要等待资本市场的时机到来。 此外,江西省国资委计划将其所辖钢铁资源划拨至新钢旗下,以做强钢铁产业。这无疑将给江西省在重组谈判中增加更多筹码。 而对于并购新钢一事,宝钢方面并不愿意过多透露。宝钢副总经理赵昆仅对表示,“此事仍在进行之中”。(来源:21世纪经济报道) 相关:宝钢斥资100亿元新疆建300万吨钢铁基地 宝钢集团新疆八一钢铁有限公司将斥资100亿元在新疆阿克苏地区拜城县新建年产300万吨的钢铁生产基地。 宝钢集团副总经理、宝钢集团新疆八一钢铁有限公司董事长赵峡说,在阿克苏地区建立钢铁基地,是八钢将产业发展布局南疆,辐射中亚地区的战略举措。据了解,宝钢集团新疆八钢公司这一新钢铁生产基地目前已进入实质运作阶所涉事件和数据均以当时为准。((转自游戏邦))How to Create an Asynchronous Multiplayer Game Part 3: Loading Games from the DatabaseMay 30th, 2012by Ross PrzybylskiAsynchronous multiplayer games are awesome because players can enjoy social gaming experiences without having to commit to long sit-down sessions. This convenient style of play is made possible by online servers that deliver updates on games being played directly to a player’s device. This article will explain how games previously saved to a database are loaded by the server and made accessible within the game client’s user is article will explain:w to query a list of game records stored in a MySQL database and send the results set to the game w to interpret the query results on the client side and design a meaningful games list user interface the player can use to resume w to recreate a live and synchronous multiplayer experience from an async w to replay animations to represent the moves made by the player’s opponent while they were awayRequirementsPrerequisite knowledgeExperience developing turn based gamesFamiliarity with ActionScript 3.0Has Read “Part 2: Saving the Game State to Online Database”Required productsFlash Professional (Download trial)Smart Fox Server Pro (Download trial)MySQL DatabaseUser levelAdvancedGenerating the Player’s Games ListPopular async games like Hero Academy utilize a “games list” user interface that allow players to access and resume playing their asynchronous game en building my games list for Hero Mages, I started by creating a new user interface screen class called “HM_GamesList”. I wanted to focus on the data and code components first, so the initial design is limited to a header and a scrollable list component that will be used to populate information retrieved from the server:This interface is populated by a database query that gets a list of the active player’s game records. All of the MySQL query generation takes place on the server side, and the process for communicating with our online server looks like this:me Client: Request data from rver: Handle request, send client me Client: Receive server me Client: Perform desired task with dataStep 1: Request Game ListThe game client requests the game list from the server:Step 2: Handle Game List RequestThe server side code handles the request and sends the client back a response. In Part 2: Saving the Game State to Online Database, I explain how games are saved to a MySQL database using two tables, hm_games and hm_gameresults. The function loadGameList will build a MySQL query that returns the relevant data we need to populate the game ep 3: Receive Game List ResponseThe game client receives the server ep 4: Populate Game ListThe game client performs the desired task of populating the list:And here’s our result:Advanced Game List QueryWhile functional, the basic game list created above lacks key information needed for a solid user experience. Players need to know when the game was created, when the last turn was, whose turn it is, and most importantly who their opponents are for the game to be rging the Games and Games Results TablesThe ideal query needs to return all of the relevant information back to the client using the least resources and bandwidth as possible. This query, designed by Marco Rousonelos, programmer at Reflection Software, and laptop alias of the MySQL help forums uses ranking and derived tables to generate the desired results set:With this query we can generate results sets that look like this:Adding Additional PlayersFor games that support more than two players, we add additional lines to the query as follows:Ordering the ResultsIdeally, we’d like to return the results set in the following order:me Status (display games still in progress first)rn (display games where it’s player’s turn first)me Last Update (display games last updated first)We can achieve this by adding some sort order by statements to the query:Limiting the ResultsIt’s important to note that this query returns ALL game record results for the provided member id. As the game becomes popular and player starts to accrue games, this can result in a very large set of data. To ensure the server, network, and the user’s device are not overloaded, it is best to include a LIMIT statement so that only a targeted portion of the results are returned:Customizing the QueryQueries can be tweaked and customized as needed for inpidual games and controlled by packaging additional parameters in the server request. For example, you could store a “lowerLimit” property and a “limitSpan” property to control the limits of the th a solid query capable of returning the necessary results set, we’re ready to generate a more effective user experience to display the signing an Asynchronous Multiplayer UIThe player’s game list is the core of the async multiplayer experience. The list is used to navigate, check the status of, and join games in progress. Additionally, the game list is a great leaderboard/logging tool that can be used as a means to review past battles, opponents, and more!Relevant Game Record InformationA good game list starts with a good game record cell. Each game record should contain the following information for the player:Time last turn was taken or that game was completedTime game was createdStatus (whether it’s players turn to attack, waiting for turn, defeat, or victor)Names of players participatingThese properties are helpful to the player in choosing the desired game to load. It’s always possible to add more details, and some other possibilities might include:Unique game record idWhether or not match is rankedName of the mapGame objectiveGame record cells should ideally be designed to adapt to the size of the list so they can display appropriately on any size mobile device. Hero Mages makes use of player avatars to display character portraits for a more interesting visual display:Populating the ListOnce the game record cell layout has been designed, instances of the game record class can be added to a list component that the player can use to access their game sessions. The process of adding records to the list is similar to adding items to our basic UI list above, except instead of adding simple cells, we’re adding our own custom designed ro Mages leverages AURA multiscreen component UIs. AURA stands for Animations, Utilities, and Resources for ActionScript 3.0. It’s a library of classes and components I wrote to speed of tasks like managing listeners, resources, and designing UI. The list seen in the screenshot below is advanced component that adapts to the screen size and input controls of the user’s device. For example, if you’re playing on a touch-based input mobile device, the list is operated using swipes. The same list running on a desktop is navigated using a standard scroll bar. The list is also optimized for mobile GPU’s and can render cells at 60fps on devices like first generation e implementation of the component list is beyond the scope of this article. I will be releasing an article that explains the mechanisms of the component that will include downloadable examples in the near ading a GameThe primary function of the games list is to allow the player to load saved game sessions by selecting an item in the list. Similar to the process of saving games, loading games will require both client-side and server-side code to make a load game request, retrieve game state from the database, and fire up the game engine to restore the desired game. Once again, we follow our 4 communication steps:me Client: Request data from rver: Handle request, send client me Client: Receive server me Client: Perform desired task with dataNote: While it would be possible to gather the game state data in the game list query, I recommend using a separate server request for the inpidual game record as outlined below in order to conserve ep 1: Request Load GameEach cell in our game list will use the following code to make the request to the server for the desired game record:Step 2: Handle Load Game RequestOn the server side, we add a condition for “Load Game” request. Since Hero Mages games can also be played synchronously using Smart Fox, why not transform an async game to a live online match if the players are both online? The room loop iterates through the list of rooms on servers and checks to see if any room’s game id matches the record the player is attempting to load asynchronously. If a match is found, the server returns the room id so they can connect immediately with live player. For live matches, players load game data directly from the game room host. If a live match is not found, the server loads the game state from the TE: In order for this loop to work, it’s necessary to store the game record id as a room variable when creating a live game room. You do not need to do this if you’re only interested in asynchronous e load game function will handle the retrieval of the necessary information for loading the ep 3: Receive Load Game ResponseBack on the client side, our Smart Fox Server extension response listener needs a new condition to listen for “Load Game” response from the server. Depending on the response type, we’ll either join the existing live game or create a new game with the returned parameters:Step 4: Load Game StateThe load game function will be different for each game engine, but here are some tasks the function will need to handle:nvert the returned game state data string back into an object (See Part 2)t two distinct flags “isRunningCommandList” = true and “useAnimations” = n the list of commands through the engine to effectively “play the game” in the background up to the last command. Your engine code should check the isRunningCommandList flag to ensure any automatic responses to commands (such as counter attack actions) are not fired if they are already included in the command playing AnimationsFollowing the above steps will allow you to load any game from your games list and restore the game state so that it matches the last recorded move. Consider, however, that an asynchronous multiplayer opponent will make changes to the game state while the other player is away. Simply loading the current game state will be confusing to the player because they won’t know what commands were carried out by their opponent. For an effective asynchronous multiplayer experience, we need to make some modifications to the command recording process and the game loading cording the Last Move WitnessedThe last move witnessed must be recorded separately for each player, so we need to add an additional property to the table hm_gameresults first created in Part 2 called “lastCmd”. This property is an integer value designed to store the index of the last command this player witnessed for the en sending new game commands, simply pass the index of the command log along with the command. Then, in our code block for handling updates to the game state (created in Part 2) we’re going to add the following code just below the error response:Show Animations for Unseen MovesIn our load game handler on the server, we’ll add an additional item to the response to store the player’s lastCmd witnessed as follows:Here’s what the complete load game response looks like (combining Step 2: Handle Game Load Request with our new code)With the last command index stored, the trick to playing the appropriate animations is to reactivate the useAnimations flag once the lastCmd index is her ConsiderationsGoing beyond the steps I’ve explained, there are many ways to customize the asynchronous experience and add additional features and functionality. For instance, what might happen if a player is given unlimited time to respond to an asynchronous game? A losing player with bad sportsmanship might decide to suspend taking their turn indefinitely, preventing the winning player from claiming victory. One way to solve this problem is to enable a “maxWait” period that allows players to drop opponents if they haven’t taken their turn in so much time. For Hero Mages, I allow players to drop their opponents if they haven’t taken their turn in 3 her features that might be helpful would be search filters for displaying only active games, finding games against particular opponents, the ability to look up the stats of your opponents, ing NextThis article explained the process of building an asynchronous multiplayer game list user interface, loading stored game sessions, and replaying the opponent’s last move animations. The next article will focus on the aspect of the concept of asynchronous multiplayer match-making so that players can start new games or join existing ones without requiring a live online connection.(source:indieflashblog) 文章导航Previous Previous post: 手游和主机游戏研发应互相学习什么?下一条 Next post: 张柏芝、谢霆锋和王菲段,力争于2010年破土动工,在“十二·五”期间形成产能。
成都治疗免疫性不孕医院哪家好北京包皮过长黄山治白癜风去哪里
六盘水治疗白癜风专科医院辽源医院牛皮癣哪好
南昌子宫内膜炎治疗哪家好